[英]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;
輸出:
我認為您的過濾器必須使用> =和<= Nr_Days_Calculated。 但是不確定您要顯示哪種度量。 1 - TextA
與[Measures].[Nr_Days_Calculated]
相關[Measures].[Nr_Days_Calculated]
嗎? 如果是,那么我們很好,請僅使用您的度量和SUM或以聚合的方式代替Count()。
這不是最佳性能解決方案(由於動態計算),但仍然有效。 希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.