Filter过滤与nonempty非空函数
1 Filter(set, expression)
返回表达式为true的成员的集合,类似于IIF,但IIF是针对单个成员的,而filter过滤集合中每一个成员。例:
select
{
[Measures].[In Count],
[Measures].[Out Count]
}on 0
,filter(
[Date].[Month Num OfYear].members,
[Measures].[In Count]>[Measures].[outCount]
)on 1
from
[Park]
以上返回了[Date].[MonthNum Of Year].members集合中,[Measures].[In Count]大于[Measures].[out Count]的集合成员
2 Nonempty函数
Nonempty(set1[, set2]),过滤set1中set2为null的元组
2.1 对比non empty
Non empty是过滤结果为空的记录,而nonempty则是在形成结果前进行过滤
2.2 使用nonempty
select
{
[Measures].[In Count],
[Measures].[Out Count]
}on 0
,nonempty(
[Date].[Month Num OfYear].members
)on 1
from
[Park]
where
[Date].[Year Num].&[2017]
过滤2017年inCount或outCount为空的记录
2.3 Nonempty过滤轴
select
{
[Measures].[In Count],
[Measures].[Out Count]
}on 0
,nonempty(
[Date].[Month Num OfYear].members,
[Measures].[Out Count]
)on 1
from
[Park]
where
[Date].[Year Num].&[2017]
过滤2017年,[Measures].[OutCount]为空的[Date].[Month Num Of Year].members成员