Ssas 按成员列出的MDX筛选器

Ssas 按成员列出的MDX筛选器,ssas,mdx,dimensions,olap-cube,ssas-2008,Ssas,Mdx,Dimensions,Olap Cube,Ssas 2008,这是一个更一般的MDX问题。我想从报告日期中筛选这些日期。财务层次。我以前使用的是计算成员,但我只是将其放在查询中,它不会返回任何结果 SELECT { FILTER ( [Reporting Date].[Fiscal].MEMBERS ,[Reporting Date].[Fiscal].currentmember >

这是一个更一般的MDX问题。我想从报告日期中筛选这些日期。财务层次。我以前使用的是计算成员,但我只是将其放在查询中,它不会返回任何结果

    SELECT 
               { 
                FILTER (
                         [Reporting Date].[Fiscal].MEMBERS
                        ,[Reporting Date].[Fiscal].currentmember > [Reporting Date].[Fiscal].[Date].&[2013-03-06]
                         AND
                         [Reporting Date].[Fiscal].currentmember < [Reporting Date].[Fiscal].[Date].&[2013-03-11]
                       )

               }   on 1
              , 
               {
                  Measures.Gross
               } on 0
    FROM [Revenue]
选择
{ 
滤器(
[报告日期][财务].成员
,[报告日期][财务]。当前成员>[报告日期][财务][日期]和[2013-03-06]
及
[报告日期][财务].当前成员<[报告日期][财务][日期]和[2013-03-11]
)
}在1号
, 
{
措施.总量
}在0
来自[收入]

您可以使用MDX范围运算符
指定文字成员范围

SELECT 
    { Measures.Gross } ON 0,
    {[Reporting Date].[Fiscal].[Date].&[2013-03-06] : [Reporting Date].[Fiscal].[Date].&[2013-03-11] } ON 1
FROM [Revenue]

请参阅此处的文档:

此表达式实际上是在计算2个元组,然后对计算值执行比较:

[报告日期][财务].currentmember>[报告日期] 日期][财务][日期]和[2013-03-06]

是:

([报告日期][财务].currentmember)>([报告日期] 日期].[财务].[日期]和[2013-03-06])

其中()表示元组(即,对多维数据集中的单元格的引用)。因此,您是在比较单元格值,而不是成员日期。我猜你想要的是:

选择。。。{[报告日期][财务日期][日期]和[2013-03-06]: 【报告日期】【财政日期】【日期】和【2013-03-11】}于1日


您是要将行筛选到特定的日期范围,还是筛选到满足度量值筛选条件的日期?因此,我真的无法完全使用这样的函数。我在哪里尝试根据同一维度的其他membeer值筛选成员?有什么功能我可以做到这一点吗?是的,你可以过滤;e、 例如,根据以“A”开头的“名称”:Instr([报告日期][财务].currentMember.name,'A')=1Oh ok,因此它将类似于某个Instr,日期是2013年,然后是03年,然后是06年、07年、08年、09年、10年和11年或类似的日期。但是没有范围型过滤器?这非常有用。谢谢