因此,可以按一个度量值组进行过滤,并从该度量值组中获取不同的成员/人员,并将其用作来自不同度量值组的另一个查询的过滤器。
等效的sql查询
SELECT
sum(spend)
FROM
(SELECT distinct person_id FROM enrollment_fact WHERE program = 'blah') AS a
JOIN
(SELECT person_id, sum(spend) AS spend FROM sales_fact GROUP BY person_id) AS b
ON a.person_id = b.person_id
假设我在SSAS中有两个不同的度量组,一个用于支出,另一个用于注册,除了时间和person_id之外不相关
还假设有两个程序(数千个)为每个人创建列/属性,以便每个程序充当成员过滤器。
答案 0 :(得分:0)
是否与:
相同mdx
如果这两个度量值组都在同一个多维数据集中并且person_id维度是共享的,则可以在NonEmpty
中查找。
子查询可以使用NONEMPTY(
[person].[person_id].[person_id].MEMBERS
, (
[program].[program].[blah]
, [measures].[someEnrollmentMeaure]
)
)
函数完成:
mdx
因此,将此添加到SELECT
[measures].[someEnrollmentMeaure] ON 0
FROM [youCube]
WHERE
NONEMPTY(
[person].[person_id].[person_id].MEMBERS
,(
[program].[program].[blah]
,[measures].[someEnrollmentMeaure]
)
);
WHERE子句将按以下person_ids对多维数据集进行切片:
{{1}}