让DAX返回0而不是空白

时间:2017-02-22 20:14:20

标签: powerpivot dax

使用PowerPivot和DAX Countrows以及带有六个可能表达式的列的filter选项。 (优秀,良好,可接受,不好,差和空白)。发布计数,我通过总回复来划分优秀和良好的计算满意度百分比。我的问题是,countrows函数不会将空白视为0,从而搞砸了我的计算。我该如何解决这个问题?

1 个答案:

答案 0 :(得分: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" },
        { "" },
        { "" },
        { "" },
        { "" },
        { "" },
        { "" }
    } 
)