2017-02-22 202 views
0

使用PowerPivot和DAX Countrows以及帶有六個可能表達式的列的過濾器選項。 (優秀,好,可接受,不好,差和空白)。發佈數量,我正在通過總回覆分出優秀和良好來計算滿意度百分比。我的問題是,countrows函數不會將空白值設置爲0,從而導致我的計算結果不一致。我如何解決這個問題?使DAX返回0而不是空白

+0

只有 「A」 和 「B」 數據使用DIVIDE功能? –

+1

請發佈任何可幫助人們理解您的問題的代碼片段。 – AaronS

回答

0

我一直使用的一個簡單而有效的技巧:將+ 0添加到您的測量。

data

前:

before

加入+ 0後:

after

+0

你搖滾!這是如此簡單而且有效! :) – Setu

0

你不想COUNTROWS,因爲一個空白行確實是一行。

一種方法是創建一個空白加權表,根本不加權。這使得評估明確且易於改變。通過響應表和響應評估之間的關係,滿意度只是一個平均值(如果需要,您可以按百分比顯示)。

Response Evaluation = DATATABLE (
    "Response", STRING, 
    "Weight", DOUBLE, 
    { 
     { "Excellent", 1 }, 
     { "Good", 1 }, 
     { "Acceptable", 0 }, 
     { "Not good", 0 }, 
     { "Poor", 0 }, 
     { "", BLANK() } 
    } 
) 

Satisfaction = AVERAGEX(Responses, RELATED('Response Evaluation'[Weight])) 

所以用下面的樣本數據,滿意度爲40%。

Responses = DATATABLE (
    "Response", STRING, 
    { 
     { "Excellent" }, 
     { "Good" }, 
     { "Acceptable" }, 
     { "Not good" }, 
     { "Poor" }, 
     { "" },   
     { "Excellent" }, 
     { "Good" }, 
     { "Acceptable" }, 
     { "Not good" }, 
     { "Poor" }, 
     { "" }, 
     { "" }, 
     { "" }, 
     { "" }, 
     { "" }, 
     { "" } 
    } 
) 
+0

注意:您可以使用Power Query中的表格。我只是堅持DAX方面的一致性。 –