将 DAX 设置为 return 0 而不是空白
Getting DAX to return 0 instead of Blank
使用 PowerPivot 和 DAX Countrows 以及具有六个可能表达式的列的过滤器选项。 (优秀、好、可接受、不好、差和空白)。 Post 计数,我通过将优秀和良好除以总响应来计算满意度百分比。我的问题是 countrows 函数不将空白视为 0,因此搞砸了我的计算。我该如何解决这个问题?
您不需要 COUNTROWS,因为有空白的行确实是一行。
一种方法是创建一个权重 table,空白完全不加权。这使得评估明确且易于更改。由于响应 table 和响应评估之间的关系,满意度只是一个平均值(如果需要,您可以显示为百分比)。
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
添加到您的度量中。
只有 "A" 和 "B" 的数据:
之前:
添加后+ 0
:
使用 PowerPivot 和 DAX Countrows 以及具有六个可能表达式的列的过滤器选项。 (优秀、好、可接受、不好、差和空白)。 Post 计数,我通过将优秀和良好除以总响应来计算满意度百分比。我的问题是 countrows 函数不将空白视为 0,因此搞砸了我的计算。我该如何解决这个问题?
您不需要 COUNTROWS,因为有空白的行确实是一行。
一种方法是创建一个权重 table,空白完全不加权。这使得评估明确且易于更改。由于响应 table 和响应评估之间的关系,满意度只是一个平均值(如果需要,您可以显示为百分比)。
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
添加到您的度量中。
只有 "A" 和 "B" 的数据:
之前:
添加后+ 0
: