MDX查询上的FROM子句不会过滤多维数据集

时间:2016-12-09 09:49:58

标签: ssas mdx olap

这是查询

    WITH
    Member [Measures].[Total] AS
    ([Measures].[m1],[04 TT].[04 Country].[All])

    sELECT
    {
    [Measures].[M1],
    [Measures].[Total]
    }
    ON columns,

    ([01 Date].[01 Y-M].[01 Month].allmembers*
    [04 TT].[04 Country].allmembers*
    [02 SKU].[02 SKU NAme].&[Tea]
    )
    ON rows

    FROM (SELECT ( STRTOSET("[18 Nets].[18 NetName].&[4307]", CONSTRAINED) ) ON COLUMNS 
    FROM ( SELECT (STRTOMEMBER("[01 Date].[01 Y-M].[01 Month].&[201610]", CONSTRAINED) ) ON COLUMNS 
    FROM ( SELECT ( STRTOSET("[04 TT].[04 Region].&[39]", CONSTRAINED) ) ON COLUMNS
    FROM [Retail Analytics])))

,这是结果集

<table>			
<tr><td>2016/October</td><td>All</td><td>Tea</td><td>49,995</td><td>51,942</td></tr>
<tr><td>2016/October</td><td>Russia</td><td>Tea</td><td>49,995</td><td>51,942</td></tr>
<table>

你能解释一下,结果不是一个数字。 为什么FROM子句中的过滤器不起作用? 为什么日期和网络上的其他过滤器有效? 如何计算所有国家的m1指标,除了那些不适合的国家 STRTOSET(“[04 TT]。[04 Region]。&amp; [39]”,CONSTRAINED)过滤器?

1 个答案:

答案 0 :(得分:0)

您的帖子中有多个问题!

对于第一个,如果你的意思是为什么结果中有两行,那是因为在查询的行中使用“allmembers”,如“[04 TT]。[04 Country] .allmembers” 因此,如果您将它们更改为“[04 TT]。[04 Country]。&amp; [04 Country]”和“[01 Date]。[01 YM]。[01 Month]。&amp; [01 Month]”结果只有一行。