是否有更简洁的方法在MDX中指定集合?
我知道我可以这样做:
{[Debtor].[TRADING DEBTOR CODE].&[AU-000013],[Debtor].[TRADING DEBTOR CODE].&[AU-000020]}
但是一旦你结束了几个成员,就会变得非常冗长。
我正在寻找像
这样的东西MagicFunctionToMakeASet([Debtor].[TRADING DEBTOR CODE],'AU-000013,AU-000015,AU-000013,AU-000015,...')
答案 0 :(得分:1)
它们是否按顺序排列?如果是的话,你能做到吗
{
[Debtor].[TRADING DEBTOR CODE].&[AU-000013] :
[Debtor].[TRADING DEBTOR CODE].&[AU-000020]
}
为您提供一组13到20之间的代码?
如果做不到这一点,看看InStr,看看它是否可以提供帮助,它看起来可能是 - 或者您可以使用它创建一些子集然后合并到最终设置中?
http://msdn.microsoft.com/en-us/library/ms145487.aspx
从以上MSDN:
WITH SET [ChardonnayChablis] AS
'Filter([Product].Members, (InStr(1, [Product].CurrentMember.Name, "chardonnay") <> 0) OR (InStr(1, [Product].CurrentMember.Name, "chablis") <> 0))'
SELECT
[ChardonnayChablis] ON COLUMNS,
{Measures.[Unit Sales]} ON ROWS
FROM Sales
答案 1 :(得分:0)
有各种快捷方式。如果您只想要某个成员的所有“孩子”,请使用Descendants()
或.children
。或者使用.members
在一个级别获取所有成员。您可以指定两个成员之间的范围,或使用过滤器来匹配某种类型的标准。