列出过滤维度属性值的所有维度成员

时间:2016-05-17 14:13:51

标签: ssas mdx cube msbi

我想从Dimension.Car中列出所有来自多维数据集的状态为IsPremium = 1的汽车。 此外,还有来自Dimension.Car的所有汽车的单独列表,其状态为IsFourWeeler = 1

Dimension具有如下属性: 1.汽车密码 2.车名 3. IsPremium 4. IsFourWheeler

1 个答案:

答案 0 :(得分:1)

如果它们是相同维度中的不同层次结构(属性或用户层次结构),那么您可以使用函数EXISTS

在此定义:https://msdn.microsoft.com/en-us/library/ms144936.aspx?f=255&MSPPError=-2147217396

他们展示的例子与你的情况相同:

SELECT 
  [Measures].[Internet Sales Amount] ON 0,
  EXISTS(
    [Customer].[Customer].[Customer].MEMBERS
 , {[Customer].[State-Province].&[CA]&[US]}
  ) ON 1 
FROM [Adventure Works];

但你有

SELECT 
  [Measures].[SomeMeasuresInCube] ON 0,
  EXISTS(
     [Dimension.Car].[Car].MEMBERS
  ,  [[Dimension.Car]].[IsPremium].[1]
  ) ON 1 
FROM [YourCube];

NonEmpty也可能是你的朋友:

WITH SET [SpecialCars] AS
  NONEMPTY(
    [Dimension.Car].[Car].MEMBERS
  ,([[Dimension.Car]].[IsFourWheeler].[1])
  )  
SELECT 
  [Measures].[SomeMeasuresInCube] ON 0,
  [SpecialCars]     ON 1 
FROM [YourCube];