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