0

私はMDXの世界に非常に初心者です..

3 行のみに基づいて列をグループ化したい。ただし、4行目も結合する必要があります..私のクエリは次のとおりです。

SELECT 
 (    { 
   [Measures].[Live Item Count] 
          } 
 ) DIMENSION PROPERTIES parent_unique_name ON COLUMNS, 


 Crossjoin(
 crossjoin(

  [Item].[Class].&[Light],
  [Item].[Style].&[Fav]
  [Item].[Season Year].members),
  [Item].[Count].children )    on rows
FROM Cube

出力は次のようになります。

Light(Row) | FAV(Row) | ALL(Row)  | 16(Row) | 2(col)
Light(Row) | FAV(Row) | ALL(Row)  | 7(Row)  | 1(col)
Light(Row) | FAV(Row) | 2012(Row) | 16(Row)| 2(col)
Light(Row) | FAV(Row) | 2011(Row) | 7(Row) | 1(col)

しかし、出力を次のように表示したい:

Light(Row) | FAV(Row) | ALL(Row)  |        | 3(col)
Light(Row) | FAV(Row) | 2012(Row) | 16(Row)| 2(col)
Light(Row) | FAV(Row) | 2011(Row) | 7(Row) | 1(col)

つまり、最初の 2 行をグループ化して、3 列目に「ALL」が重複しないようにしたい..

前もって感謝します

4

2 に答える 2

0

[Item].[Count]階層に All メンバーがある場合は、次のクエリを使用できます。

SELECT {[Measures].[Live Item Count]} DIMENSION PROPERTIES parent_unique_name ON COLUMNS, 
Crossjoin(
  Crossjoin([Item].[Class].&[Light], [Item].[Style].&[Fav]),
  Union(
    Crossjoin({"All member of [Item].[Season Year]"}, {"All member of [Item].[Count]"}),
    Crossjoin(Except([Item].[Season Year].members, {"All member of [Item].[Season Year]"}), [Item].[Count].children),
  ) ON ROWS
FROM Cube
于 2012-08-10T21:31:15.217 に答える
0

これを試してください - 属性名 Season Year でレベル名 Season Year を使用すると、すべてのメンバーなしですべてのメンバーが取得されます。

SELECT 
 (    { 
   [Measures].[Live Item Count] 
          } 
 ) DIMENSION PROPERTIES parent_unique_name ON COLUMNS, 


 Crossjoin(
 crossjoin(

  [Item].[Class].&[Light],
  [Item].[Style].&[Fav]
  [Item].[Season Year].[Season Year].members),
  [Item].[Count].children )    on rows
FROM Cube
于 2012-08-03T21:57:29.663 に答える