2016-10-07 57 views
0

我與水平YearQuarterMonthDayHour,兩項措施[Measure].[kind sum][Measure].[kind avg]和aggragate表每次約會水平日期維度的事實表。例如,我有幾年的時間,我需要得到平均的幾天。在這種情況下,查詢將是這樣的如何按日期層次使aggragate表

WITH 
    MEMBER [Measures].[Pc in avg by day] AS AVG({[Some dimension].Children * Descendants([Date].[2013] : [Date].[2016], [Date].[Day])}, [Measures].[Pc in sum]) 
SELECT {[Measures].[Pc in avg by day]} ON COLUMNS 
FROM [Some cube] 

有一種方法如何optipize查詢。我需要在年度級別的聚合表中保存[Pc in avg by day],[Pc in avg by month],[Pc in avg by quarter]等值。我認爲要在立方體中使用這個度量,但在這種情況下,這種度量只能用於聚合表。我認爲這是不正確的方法。

回答

1

我不完全理解你的問題。我想你想得到[平均每月平均電腦電量],[平均電腦平均每季度電量],就像[平均每天平均電腦電量]。如果是這種情況,將它們添加爲立方體的度量可能不是正確的方法。

正如你所說,你有一個衡量一天的聚合表[總和電腦],你可以添加不同的聚合表的月份,季度和年份,並修改查詢如下,如果你需要[個人電腦按月平均]

WITH 
    MEMBER [Measures].[Pc in avg by month] AS AVG({[Some dimension].Children * Descendants([Date].[2013] : [Date].[2016], [Date].[Month])}, [Measures].[Pc in sum]) 
SELECT {[Measures].[Pc in avg by month]} ON COLUMNS 
FROM [Some cube] 

蒙德里安應該足夠聰明地選擇正確的聚合表來完成查詢。在這種情況下每月總計

+0

我會嘗試這個選項並告訴結果。 – Nodon

+0

他將只使用總和來衡量總和。 – Nodon

+0

我認爲在多維數據集模式定義中你必須指定聚合方法(sum,avg等)。這可能是原因。如果您需要總和和平均值,則可能需要爲計數添加另一個度量,並且可能計算了總和/計數的平均值。但我不確定這個選項。 – Aruna