我有对行和列的多个CROSSJOIN查询我要过滤的所有数据进行过滤与多个CROSSJOINs查询数据[Measures].[Flag] = 1
下面是一个例子:如何通过一个标志值
SELECT
{
NonEmpty
(
CrossJoin
(
{
[Time].[2016]
,[Time].[2017]
}
,CrossJoin
(
{
[Quarters].[2 Quarter]
,[Quarters].[1 Quarter]
}
,{
[Measures].[Load]
,[Measures].[Flag]
}
)
)
)
} ON ROWS
,{CrossJoin([Industry].[Industry 1],[Client].[Set 1])} ON COLUMNS
FROM [Cube]
WHERE
[Version].[Actual];
如果我做这样的事情:
SELECT
{
NonEmpty
(
CrossJoin
(
{
[Time].[2016]
,[Time].[2017]
}
,CrossJoin
(
{
[Quarters].[2 Quarter]
,[Quarters].[1 Quarter]
}
,{
[Measures].[Load]
,[Measures].[Flag]
}
)
)
)
} ON ROWS
,{
Filter
(
CrossJoin
(
[Industry].[Industry 1]
,[CLient].[Set 1]
)
,
[Measures].[Flag] = 1
)
} ON COLUMNS
FROM [Cube]
WHERE
[Version].[Actual];
我得到一个空集。在设置不用其他的过滤器的结果没有与Flag = 1
我认为过滤器会为每列执行'[Measures]。[Flag]'的总和 - 如果总和为1,那么保持列...但我怀疑每个[Measures] 。[标志]'列是大于1 – whytheq