Mdx “Intersect({},…”的目的是什么`

Mdx “Intersect({},…”的目的是什么`,mdx,Mdx,我在GENERATE函数中看到过这种用法,我想知道它的用途是什么 Intersect({}, .... 它是空集{}与另一个集合的交集。通过集合论,我知道空集与任何其他集合的交集等于一个空集 Chris Webb经常使用这个构造(复杂查询的一部分),但我有点不确定其原因,因为它用于更高级的查询中-有人能用一些简单的例子解释一下吗?Chris故意让intersect表达式返回一个空集,因为intersect({},任何东西)将返回一个空集。但请注意Intersect中的AS EmployeeSe

我在
GENERATE
函数中看到过这种用法,我想知道它的用途是什么

Intersect({}, ....
它是空集
{}
与另一个集合的交集。通过集合论,我知道空集与任何其他集合的交集等于一个空集


Chris Webb经常使用这个构造(复杂查询的一部分),但我有点不确定其原因,因为它用于更高级的查询中-有人能用一些简单的例子解释一下吗?

Chris故意让intersect表达式返回一个空集,因为intersect({},任何东西)将返回一个空集。但请注意Intersect中的
AS EmployeeSet
子句。这就是要点。它生成一个名为EmployeeSetXXX的命名集。stroset函数允许您命名每个月不同的设置


无论如何,您已经正确理解了Intersect的工作原理。Chris正在以一种新颖的方式使用它。

谢谢Greg-命名集是否也具有正确的维度-即使它是空的,或者可以向它添加任何内容?是的。因为命名集是Intersect第二个参数的别名。因此它在Intersect之前对其进行别名使其成为e空的。@为什么你很清楚Intersect现在在做什么?这个问题有趣吗?