簡體   English   中英

基於SSAS計算量度的SSAS維度屬性

[英]SSAS Dimension Attribute based on a SSAS calculated measure

我目前正在為一個問題而苦苦掙扎,希望您對此有所幫助。

我需要根據對多維數據集本身執行的計算來動態關聯SSAS多維數據集(多維)中維度的屬性。

根據用戶選擇的日期進行簡化,我得到了一個計算(已經完成),該計算返回了該類型的物料有庫存的天數。 使用該值,我想基於一系列值返回一個屬性。

例如:

Nr_Days_Calculated = 80 

尺寸:

ID  INI  END        DSC

1     0  90         TextA

2    91  180        TextB

3   181  99999      TextC

結果: 1 - TextA

誰能幫幫我嗎? 感謝您的關注。

如果您的維度還具有動態計算,則可行。 讓我向您展示另一個示例,但是想法是相同的。

我有一個[重復客戶]維度,如果第二次,第三次,第四次簽名的客戶(通過電子郵件標識)–將該客戶移至該維度的適當成員。

首先,使用一個默認成員創建尺寸。

其次,添加幾個空成員:

(您可以跳過它,因為暗淡的成員在您的情況下已實現)

CREATE MEMBER CURRENTCUBE.[Repeat Customers].[Repeat Customers].[All].[One] as NULL;      
CREATE MEMBER CURRENTCUBE.[Repeat Customers].[Repeat Customers].[All].[Two] as NULL;      
CREATE MEMBER CURRENTCUBE.[Repeat Customers].[Repeat Customers].[All].[Three] as NULL;      
CREATE MEMBER CURRENTCUBE.[Repeat Customers].[Repeat Customers].[All].[Four] as NULL;      
CREATE MEMBER CURRENTCUBE.[Repeat Customers].[Repeat Customers].[All].[Five] as NULL;      
CREATE MEMBER CURRENTCUBE.[Repeat Customers].[Repeat Customers].[All].[6+] as NULL;      
CREATE MEMBER CURRENTCUBE.[Repeat Customers].[Repeat Customers].[All].[N/A] as NULL; 

第三,添加他們的計算:

SCOPE([Repeat Customers].[Repeat Customers].[All].[One],[Measures].[Count]);      
THIS=Count(Filter([Email].[Email].Members,([Measures].[Count],[Repeat Customers].[Repeat Customers].&[0])=1));      
END SCOPE;      

SCOPE([Repeat Customers].[Repeat Customers].[All].[Two],[Measures].[Count]);      
THIS=Count(Filter([Email].[Email].Members,([Measures].[Count],[Repeat Customers].[Repeat Customers].&[0])=2));      
END SCOPE;      

...     

SCOPE([Repeat Customers].[Repeat Customers].[All].[6+],[Measures].[Count]);      
THIS=Count(Filter([Email].[Email].Members,([Measures].[Count],[Repeat Customers].[Repeat Customers].&[0])>=6));      
END SCOPE;

SCOPE([Repeat Customers].[Repeat Customers].[All].[N/A],[Measures].[Count]);      
THIS=([Measures].[Count],[Repeat Customers].[Repeat Customers].&[0])
-SUM({
 [Repeat Customers].[Repeat Customers].[All].[One]
,[Repeat Customers].[Repeat Customers].[All].[Two]
,[Repeat Customers].[Repeat Customers].[All].[Three]
,[Repeat Customers].[Repeat Customers].[All].[Four]
,[Repeat Customers].[Repeat Customers].[All].[Five]
,[Repeat Customers].[Repeat Customers].[All].[6+]
},[Measures].[Count]);      
END SCOPE;

輸出:

DynamicDim

我認為您的過濾器必須使用> =和<= Nr_Days_Calculated。 但是不確定您要顯示哪種度量。 1 - TextA[Measures].[Nr_Days_Calculated]相關[Measures].[Nr_Days_Calculated]嗎? 如果是,那么我們很好,請僅使用您的度量和SUM或以聚合的方式代替Count()。

這不是最佳性能解決方案(由於動態計算),但仍然有效。 希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM