MDX 中集合的父母
我有一个过滤器,可以在日期维度中选择特定日期,这将作为参数传递到 MDX 查询中。
Filter([Date Dimension].[Calendar Year Hierarchy].[Actual Date].members,
[Date Dimension].[Actual Date].CurrentMember.Properties( "Name" ) = '2011-09-01 00:00:00.000')
我现在想在上面的层次结构中选择几周和/或几个月。
[日期维度].[日历年层次结构].[月份] [Date Dimension].[Calendar Year Hierarchy].[Calendar Week]
我尝试了几个功能,但运气不佳,例如 .Parent
和 DrillupLevel
我可能使用错误或发错地方了,
感谢帮助
I have a filter that selects a specific date in my date dimension, This will be passed in as a parameter into the MDX query.
Filter([Date Dimension].[Calendar Year Hierarchy].[Actual Date].members,
[Date Dimension].[Actual Date].CurrentMember.Properties( "Name" ) = '2011-09-01 00:00:00.000')
I would now like to select the weeks and/or months in the hierarchy above that.
[Date Dimension].[Calendar Year Hierarchy].[Month]
[Date Dimension].[Calendar Year Hierarchy].[Calendar Week]
I have tried several functions without much luck such as .Parent
and DrillupLevel
I could be using them wrong or in the wrong spot,
thanks for the help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用函数 GENERATE 获取所有祖先:
使用 Adventure Works 查询:
You could use the function GENERATE to get all ascendants:
Query using Adventure Works:
如果您知道要查找的级别,可以使用MDX Ancestor 函数 而不是父函数:
如果没有,使用父函数就可以了。请注意,使用属性并不是最快的过滤方法(对于非常大的集合)。
为什么不使用 StrToMember MDX 函数 ?
或者您是否可以在字符串生成器的帮助下直接编辑 mdx 创建语句?
If you know the level you're looking for you can use MDX Ancestor function instead of parent:
If no, it's fine using parent function. Note, using properties is not the quickest method to filter (for very large sets).
Why not using to StrToMember MDX function ?
or if you can edit you mdx directly creating the statement directly with the help of a string builder ?
所以我现在的答案是
使用
.item[0]
获取集合中的项目和
.parent
来获取该项目的父项(在我的例子中,我实际上调用了它 3 次),如果有人有任何更好的想法,很乐意将它们放在这里。
so the answer i have at the moment is
using the
.item[0]
to get the item in the setand the
.parent
to get that items parent (in my case i am actually calling it 3 times)if anyone has any better ideas would love to here them.
您可以使用
STRTOSET
并为每个输入参数替换]
为].Parent
,这样您将拥有一组父项。You can use
STRTOSET
and for each input parameter replace]
with].Parent
, this way you will have set of parents.