我有一个简单的立方体,有2个维度:Dim1、Dim2和一个度量值(聚合器=sum),我需要通过mdx获取交叉表:
select non empty [Dim2].members on 0, non empty [Measures].value on 1
from [cube]
=
el1 el2 el3 el4
value 12 14 45 64
这些值通过dim1. ok聚合。
接下来我创建计算测量:
with [Measures].value_filter as iif([Measures].value> 15, [Measures].value, null)
select non empty [Dim2].members on 0,
non empty [Measures].value_filter on 1
from [cube]
=
el3 el4
value 45 64
但是,如何通过[措施]. value的非聚合值过滤单元格,即数据库中的真实值?
您只能按包含在维度中的成员过滤。如果您想过滤某些内容,它必须在多维数据集中可用。因此,您可能需要将一些列作为属性添加到您的一个维度。
假设您要使用维度Dim2的层次结构/属性Hier2的Member1作为过滤器,您将按如下方式进行过滤:
select non empty [Dim2].members on 0,
[Measures].value on 1
from [cube]
where ([Dim2].[Hier2].[Member1])