如何在SSAS MDX查询中使用IN运算符或等效运算符?

时间:2017-11-22 03:57:39

标签: ssas mdx in-operator

我想像在SQL中那样使用IN运算符

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);

如何在MDX查询中实现此目的?

for eg. [Customer ID] IN (1,2,3,4,5)

这里我不想使用where子句,因为无法在轴上选择where子句中使用的相同层次结构。有没有办法在没有where子句的情况下使用IN运算符?

我听说过命名集可以在mdx查询中与IN运算符一起使用,但我想使用静态值列表与IN运算符一起使用。是否可能?

2 个答案:

答案 0 :(得分:1)

以下MDX有什么问题:

select 
  {[Customer].[Customer ID].[1]
  ,[Customer].[Customer ID].[2]
  ,[Customer].[Customer ID].[3]
  ,[Customer].[Customer ID].[4]
  ,[Customer].[Customer ID].[5]} on 0
from YourCube;

答案 1 :(得分:1)

除了Danylo Korostil's answer之外的另一个选择是使用子查询:

sudo apt-get install libssh libssh-dev

使用子查询(或嵌套子查询)比我在使用SUBSET或ORDER函数时限制SELECT子句中的成员更有效。