简体   繁体   中英

FROM clause on MDX query does not filter a cube

Here is the query

    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])))

and here is the result set

 <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> 

Can you explain me, that results is not one number. Why the filter in the FROM clause does not partially work? Why do the other filters on date and nets work? How can I count m1 measure on all countries except that which does not fits the STRTOSET("[04 TT].[04 Region].&[39]", CONSTRAINED) filter?

there are more than one question in your post!

for the first one, if you mean that why there are two rows in the result, it is because of using "allmembers" in the rows of your query like "[04 TT].[04 Country].allmembers" So if you change them to look like "[04 TT].[04 Country].&[04 Country]" and "[01 Date].[01 YM].[01 Month].&[01 Month]" the result will be just one row.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM