有没有办法在没有中断功能的情况下使用MDX Case语句? 在下面的示例中,我想要[Measures]。[Count] = 7以显示“MEDIUM”和“LARGE”(或者只有“LARGE”,如果可能的话),而不仅仅是“MEDIUM”。
CASE
WHEN [Measures].[Count] > 4 THEN 'MEDIUM'
WHEN [Measures].[Count] > 6 THEN 'LARGE'
WHEN [Measures].[Count] > 3 THEN 'SMALL'
ELSE "NONE"
END
答案 0 :(得分:0)
首先,您应该重新排序WHEN
子句,如在MDX中(如在SQL中),匹配wins的第一个子句:
CASE
WHEN [Measures].[Count] > 6 THEN 'LARGE'
WHEN [Measures].[Count] > 4 THEN 'MEDIUM'
WHEN [Measures].[Count] > 3 THEN 'SMALL'
ELSE "NONE"
END
会回归“大人物”。为了7。
您无法从CASE
表达式返回多个值。 CASE
是一个表达式(即使MS文档在某些地方错误地将其称为语句)。表达式只能有一个结果。
想象一下你写了一个Excel公式(它也是一个表达式)。您只有一个单元格来显示结果,因此公式只能提供一个结果。
但是,当然,结果可能是多个结果的组合,如字符串连接。或者在CASE
表达式的情况下,您可以返回可以包含一个或多个成员的集合。但即使这样,你也需要不同的WHEN
分支,每个分支只返回一组。