2013-12-19 19 views
1

我有以下數據結構獲取設在只有第一屬性運行使用MDX和更改設置

age  range sex population_segment 
1  0-4  1  100 
2  0-4  1  100 
3  0-4  1  100 
4  0-4  1  100 
5  5-9  1  150 
6  5-9  1  150 

我想要得到設在只有第一範圍運行總和和性別組中的屬性發生變化。 例如,對我來說,正確的答案是隻總結記錄1和記錄5(即250)。我的石斑魚是範圍和性別。

目前我的測量只是總結所有的值,讓我錯誤的人口總和:750 我知道如何做到這一點在標準SQL(這裏澄清澄清),但我需要MDX解決方案,計算成員。

示例SQL:

WITH cte AS 
(
select 
*, 
RowNum = row_number() over(partition by range, sex order by range, sex) 
FROM myPopulationData 
) 
SELECT SUM(population_segment) FROM cte WHERE RowNum = 1 

回答

0

這是一個可與許多一對多關係來解決的情況下:

  • 構建包含的範圍和性別獨特組合的表/圖以及population_segment和主鍵列。這將用作包含population_segment度量值的度量值組的事實表。它也將被用作範圍 - 性別組合的維度表。
  • 構建一個包含用作年齡維表的年齡的表/視圖。
  • 構建包含到年齡維度表的外鍵以及第一個表的橋表/視圖。這將得到另一個度量組的基數,它只包含count作爲度量值,您可能希望使其不可見。
  • 在「維度用法」選項卡上,使用橋度量值組將多維度關係設置爲主度量值組和年齡維度之間的關係。

設置好所有內容後,Analysis Services會自動處理所有計算邏輯。

如果您除了範圍 - 性別維度之外還在年齡維度中保留範圍和性別並將範圍 - 性別維度(從第一個表格構建並從橋錶鏈接起來),那麼對於用戶來說,這是一個可用性問題)看不見,或者如果你保持年齡並且在另一個維度範圍內。我個人更喜歡第一選擇,至少在範圍內。