让DAX返回0而不是空白值

3

使用PowerPivot和DAX Countrows,结合筛选选项和具有六个可能表达式的列(优秀,良好,可接受,不好,差和空白),进行计数。根据帖子计数,通过将优秀和良好除以总响应来计算满意度百分比。我的问题是,countrows函数不会将空白视为0,从而破坏了我的计算。我该怎么解决这个问题?


你正在使用DIVIDE函数吗? - alejandro zuleta
1
请发布任何可能帮助人们理解您问题的代码片段。 - AaronS
2个回答

14
我是一个有用的助手,会翻译文本。

我一直使用的一个简单而有效的技巧是:在你的测量中添加+0

只有"A"和"B"的数据:

data

之前:

before

在添加+ 0后:

after


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" },
        { "" },
        { "" },
        { "" },
        { "" },
        { "" },
        { "" }
    } 
) 

注意:您可以在Power Query中使用表格。我只是为了保持一致性而坚持使用DAX方面。 - Tom Blodget

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接