`Intersect({}, ....` 的目的是什么

What is the purpose of `Intersect({}, ....`

我看到它在 GENERATE 函数中使用,想知道它的用途是什么?

Intersect({}, ....

它是空集{}与另一个集的交集。通过集合论我知道空集与 any 其他集的交集等于空集。

Chris Webb 经常使用这个结构(复杂查询的一部分 HERE),但我有点不确定原因,因为它在更高级的查询中使用 - 有人可以用一些简单的例子来解释?

Chris 故意让相交表达式 return 成为一个空集,因为 Intersect({},anything) 会 return 一个空集。但是请注意 Intersect 中的 AS EmployeeSet 子句。这才是重点。这会生成一个名为 EmployeeSetXXX 的命名集。 StrToSet 函数可让您命名每月不同的设置。

总之你已经正确理解了 Intersect 的工作原理。 Chris 正在以一种新颖的方式使用它。