2014-02-06 46 views
0

我有一個立方體,我用三種單獨的度量方法構建:「TY Sales」,「LY Sales」和「%Change」,我試圖做的是有特殊行爲爲聚合行,基本上不包括任何「LY銷售」值總求和時,如果「TY銷售」是0,所以目前我的立方體就像如下:聚合時忽略非空值

 LYSales TYSales %Change 
Year 1 450  300  -33% 
Week 1 100  125  +25% 
Week 2 150  175  +14% 
Week 3 200  0  +0% 

在此的總列「1年」例如,總結每個銷售衡量的所有值。我希望它做的是,如果TYSales也具有非零值,則只在LYSales中包含值。所以我的理想狀態如下:

 LYSales TYSales %Change 
Year 1 250  300  +20% 
Week 1 100  125  +25% 
Week 2 150  175  +14% 
Week 3 200  0  +0% 

我是新來的SSAS,所以任何指導表示讚賞。謝謝

回答

0

一個簡單而可靠的方法來實現,如果TYSales爲零,將LYSales的源列更改爲零。這將在該措施所依據的事實表中完成。你可以實現一個

  • 無論是在ETL過程中,改變LYSales列的值爲零時TYSales爲零,
  • 或視圖基於這樣的事實表,然後在數據源視圖中使用而不是原始表格
  • 或作爲數據源視圖中事實表的計算計算。

在後兩種情況下,該計算公式將是這樣的SQL:

case when TYSales <> 0 then LYSales else 0 end 

然後切換度量定義爲使用該列。

+0

問題是我希望LYSales顯示每個星期的所有值,如果這些值沒有相應的TYSales值,則不包括在彙總行中。您可以在第二張表格中看到這一點,其中3周的LYSales總計爲450,但「第一年」總結行僅顯示250,因爲它不包括第3周。如果這是有意義的。 – Rathan

+0

@ user2350428這是一個特定查詢的要求,還是更希望將此計算應用於針對多維數據集運行的任何查詢的一般要求? – FrankPl