Excel 中的 SSAS Cube - 仅显示具有 KPI 的适用行?

JNK*_*JNK 6 ssas sql-server-2008-r2 excel

我有一个内置于 SSAS 2008r2 的立方体。我暂时通过excel数据透视表公开它。

我最近向多维数据集添加了一个 KPI,当我在数据透视表界面中显示 KPI 时,它会导致在当前级别显示不适用的维度值。

例如,假设我有客户:

CustomerA
CustomerB
CustomerC
Run Code Online (Sandbox Code Playgroud)

和国家:

NY
VA
TX
Run Code Online (Sandbox Code Playgroud)

当我查看没有 KPI 的数据透视表时,下面CustomerB没有行,NY因为它们在那里没有位置。

当我添加我的 KPI 并只显示valueKPI 时,一切都很好。

当我添加状态指示器(即交通灯或其他)时, 我会看到每个状态下的每个客户。

这是预期的行为吗?有办法解决吗?我喜欢 KPI,但如果我在每个级别获得维度的每个值,它就会失去目的。

更多细节:

Value Expression为KPI仅仅是一个计算的措施,工作正常。

Status Expression是:

CASE
    WHEN KpiValue("MyKPI") / KpiGoal("MyKPI") > .90
        THEN 1
    WHEN KpiValue("MyKPI") / KpiGoal("MyKPI") <= .90
        AND KpiValue("MyKPI") / KpiGoal("MyKPI") > .75
    THEN 0
ELSE -1
END
Run Code Online (Sandbox Code Playgroud)

JNK*_*JNK 4

感谢@ConcernedOfTunbridgeWells 为我指明了正确的方向。

问题在于状态表达。

因为它总是返回 a 10或者-1它没有考虑NULLs 。

我在表达式的开头添加了一个检查:

CASE WHEN IsEmpty(KpiValue("MyKPI")) THEN NULL

...这正确地将这些字段留空。