SSAS OLAP是/否维度包括yes选项上的所有行

时间:2018-05-14 19:05:11

标签: ssas ssas-2016

我需要在 OLAP 多维数据集中添加一个新维度来过滤一些rows

基本上,如果用户选择"yes",它应该显示所有行。如果用户选择"no",则应显示已标识的行。

我在column01 / no)的事实表格中有一个yes

我的问题是,如果用户选择是,我需要"ignore"此列,如果选择否,我只需查找它。

我想到了Junk维度,但为此我需要有两个属性。

任何建议

由于

2 个答案:

答案 0 :(得分:1)

无法创建这样的维度。您需要在用户选择是/否的应用程序中处理此问题。

答案 1 :(得分:1)

通过“过滤多维数据集中的某些行”,您的意思是在维度中选择[否]成员时应用过滤器,对吗?否则显示所有措施,例如没有过滤器。

当选择[是]时,您可以使用SCOPE重定向到[全部]成员吗?

SCOPE([YourDimension].[Yes]);
THIS=[YourDimension].[All];
END SCOPE;

这应该适用于多维数据集中的每个度量。

此外,即使不允许使用立方体ALTER,也可以通过两个步骤实现:

  1. 为所有(未过滤的)值创建度量。
  2. 仅针对某些会员展示。
  3. E.g。 [CY 2013] =您的[是]:

    with
    member [2013 is ALL] as ([Measures].[Order Count],[Date].[Calendar Year].[All])
    
    member [2013] as
     iif([Date].[Calendar Year].CurrentMember is [Date].[Calendar Year].&[2013]
      or [Date].[Calendar Year].CurrentMember is [Date].[Calendar Year].[All Periods]
      ,[2013 is ALL],[Measures].[Order Count])
    
    select {[Measures].[Order Count],[2013 is ALL],[2013]} on 0
    ,[Date].[Calendar Year].members on 1
    from [Adventure Works]
    

    ALL_for_member

    但请先尝试SCOPE。因为它可以应用于任何度量,甚至还没有创建。