Ssas MDX中set的父级
我有一个在我的日期维度中选择特定日期的过滤器,它将作为参数传递到MDX查询中Ssas MDX中set的父级,ssas,mdx,Ssas,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') 我现在想在上面的层次结构中选择周和/或月 [日期维度][日历年层次结
Filter([Date Dimension].[Calendar Year Hierarchy].[Actual Date].members,
[Date Dimension].[Actual Date].CurrentMember.Properties( "Name" ) = '2011-09-01 00:00:00.000')
我现在想在上面的层次结构中选择周和/或月
[日期维度][日历年层次结构][月份]
[日期维度][日历年层次结构][日历周]
我尝试了几个功能,但运气不好,例如.Parent
和DrillupLevel
我可能用错了或者用错了地方
谢谢你的帮助,所以我现在的答案是 筛选器([日期维度].[日历年层次结构].[实际 日期].成员,[日期维度][实际 日期].CurrentMember.Properties(“名称”)=“2011-09-01 00:00:00.000”) .项目(0).父项 使用
.item[0]
获取集合中的项目
以及.parent
以获取该项的父项(在我的情况下,我实际上调用了3次)
如果有任何人有更好的想法,请将其放在这里。如果您知道所需的级别,您可以使用以下选项代替家长:
Ancestor([Date Dimension].[Calendar Year Hierarchy].currentmember,
[Date Dimension].[Calendar Year Hierarchy].[Month])
如果没有,则可以使用父函数。注意,使用属性并不是过滤(对于非常大的集合)的最快方法
为什么不习惯呢
或者,如果您可以在字符串生成器的帮助下直接编辑mdx来创建语句?您可以使用函数GENERATE来获取所有升序:
Generate
(
{Filter([Date Dimension].[Calendar Year Hierarchy].[Actual Date].members,
[Date Dimension].[Actual Date].CurrentMember.Properties( "Name" ) =
'2011-09-01 00:00:00.000')},
{Ascendants([Date Dimension].[Calendar Year Hierarchy].CurrentMember)}
)
使用Adventure Works进行查询:
Select
{[Measures].[Internet Sales Amount]} On Columns,
{Generate(
{Filter([Date].[Calendar].[Date].members,[Date].[Calendar].CurrentMember.Properties("Name") = 'April 1, 2004')},
{Ascendants([Date].[Calendar].CurrentMember)})} On Rows
From [Adventure Works]
您可以使用
stroset
并将每个输入参数的]
替换为].Parent
,这样您将拥有一组父参数
Select
{[Measures].[Internet Sales Amount]} On Columns,
{Generate(
{Filter([Date].[Calendar].[Date].members,[Date].[Calendar].CurrentMember.Properties("Name") = 'April 1, 2004')},
{Ascendants([Date].[Calendar].CurrentMember)})} On Rows
From [Adventure Works]