我还是MDX的新手,所以我不确定是否有一种简单的方法,或者是一种不那么容易的方式来做我想问的问题,但是这里有一个模糊的描述我正在尝试为我的MDX查询做。我有两套,两个都没有直接相关的相同的层次结构或表兄弟,虽然可能有一个“家庭”电话,我不知道这将做我想做的事情。
[Company].[Parent Company].[Parent Company]
检索第二组中公司父母的所有公司成员的集合。
[Company].[Company].[Company]
检索一组公司自己的所有成员,包括父母本身。
我正在尝试过滤掉[C].[C].[C]
设置为 NOT ,在我的MDX查询的成员中包含[Parent Company]
的所有实例。我用Filter()尝试了一些奇怪的东西但是却弄乱了set / tuples或得到了错误的数据类型
这些集合中没有任何祖父母/多代人的诡计,只有两个层次需要担心(公司及其潜在的父母,可能没有)。如果多维数据集的格式更好,那么如果它们位于层次结构中会很好,但事实并非如此。
示例输出:
[Company].[Parent Company].[ParentCompany]
= {A,C,E} [Company].[Company].[Company]
的成员= {A,B,C,D,E,F,G} 然后我想得到一个会返回以下内容的集合:{B,D,F,G}就是这样。
任何帮助将不胜感激!
答案 0 :(得分:1)
您可以在不使用Member_Name的情况下执行此操作:
Exclude([Company].[Company].[Company].Members, Extract([Company].[Company].[Company].Members * [Company].[Parent Company].[Parent Company].Members, [Company].[Company]))
或
Exclude([Company].[Company].[Company].Members, Exists([Company].[Company].[Company].Members, [Company].[Parent Company].[Parent Company].Members))