用于过滤非空值的 MDX 查询

问题描述 投票:0回答:2

我需要在性能点仪表板中创建一个过滤器以仅获取非空值。我正在尝试编写一个 MDX 查询来选择值

SELECT NONEMPTY{[H School ].[Dist Name], [H School ].[School Name]}

FROM  [Early Cube ]

但它没有过滤数据

ssas mdx dashboard performancepoint
2个回答
0
投票

您需要根据某种措施检查非空单元格。换句话说,对于“某个集合”(例如度量),维度成员需要为空或非空。有两种方法可以执行此操作,具体取决于您是否希望在结果中显示测量结果。

  1. SELECT 中的 NON EMPTY 子句:

    它显示从一个测量值之间的交集获得的单元格 轴和另一个轴上的维度成员,从而消除

    (null)
    值。

    SELECT 
    
    /*Measures*/
    {[Measures].[Customer Count]} ON 0,
    
    /*NON EMPTY clause against Dimension members*/
    NON EMPTY {[Customer].[Customer Geography].[City]} ON 1 
    
    FROM [Adventure Works];
    
  2. NONEMPTY() 函数:

    根据指定集合与第二个集合的叉积,返回指定集合中不为空的元组集合。

    SELECT 
    
    {} ON 0,
    
    /*NONEMPTY() FUNCTION*/
    NONEMPTY([Customer].[Customer Geography].[City], [Measures].[Customer Count]) ON 1 
    
    FROM [Adventure Works]
    

这两种方法之间更详细的区别可以在这里这里找到。


-1
投票

在查询中:

SELECT NONEMPTY([H School ].[Dist Name], [H School ].[School Name])

FROM  [Early Cube ]

你可以将其重写为:

SELECT NONEMPTY([H School ].[Dist Name]*[H School ].[School Name], <<add your measure/context here if you do not want to use the default measure>>)

FROM  [Early Cube ]
© www.soinside.com 2019 - 2024. All rights reserved.