将 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: