簡體   English   中英

SSAS 計算度量,還是動態集? 平均使用所有

[英]SSAS Calculated Measure, or Dynamic Set? Average using all

我的事實表包含稀疏數據並有 3 列:(user, movie, normalized_score )。 例子:

('u1', 'm3', 0.3)
  ('u1', 'm4', 0.1)
  ('u1', 'm7', 0.6)
  ('u2', 'm1', 0.33)
  ('u2', 'm3', 0.33)
  ('u2', 'm7', 0.33)
  ('u3', 'm2', 0.6)
  ('u3', 'm6', 0.4)
  ...

如您所見,每個用戶的 sum(normalized_score)=1。

我有兩個維度:
- User_info (user, Cat_Level1, Cat_Level2)
- Movie_info (movie, Genre_Level1, Genre_Level2)

我想要按平均分數計算的頂級電影,其中平均值的計算考慮了所選維度中的所有相關用戶。

例如,在最低級別,上面的average('m3')將為(0.3+0.3)/3 請注意,分母是3 ,而不是 2。

基本上,我們選擇的任何維度,都有相應的用戶數,它成為分母。

想不通怎么辦請幫忙!

通過在此處的 MSDN 論壇上提問可以找到答案。

這是 MDX 的棘手點之一。 您確實希望分母是使用除當前所選電影之外的所有內容的當前上下文的用戶數。 您的 [Measures].[Number of Users] 指標是用戶的 DistinctCount 嗎? 為了使討論更清晰,我將假設如此。 如果電影層次結構的當前上下文是 m3,則您將獲得分母值 2,如您在初始帖子中所述。 要獲得您希望的三個值,您需要覆蓋當前的電影層次結構上下文,以便平均分數的定義為 [Measures].[Normalized_Score] / ( [Movie].[Movie].[All] , [措施].[用戶數量])。 更改[Movie].[Movie].[All] 的定義以適合您的多維數據集,您應該獲得正確的分母值

.

暫無
暫無

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

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