0

私は MDX に非常に慣れていないので、非常に単純なものが欠けている可能性があります。

私のキューブには、ディメンション[Asset]とメジャーがあり[Visits]、(この場合は) アセットが消費された訪問数を計算します。注意すべき重要なことは、すべての訪問がアセットに関連付けられているわけではないということです。

調べる必要があるのは、少なくとも 1 つのアセットを消費した訪問の数です。次のクエリを書きました。

SELECT
  [Asset].[All] ON COLUMNS,
  [Measures].[Visits] ON ROWS
FROM
  [Analytics]

ただし、このクエリは、キューブ内の訪問の合計数を返すだけです。両方の軸に修飾子を適用しようとしましたNON EMPTYが、それは役に立ちません。

4

2 に答える 2

1

このクエリはあなたが期待するものを与えるはずです:

WITH MEMBER [Asset].[Asset Name].[All Assets] AS
  AGGREGATE( EXCEPT( [Asset].[Asset Name].MEMBERS, { [Asset].[All] } ) )
SELECT
  { [Asset].[Asset Name].[All Assets] } ON COLUMNS,
  [Measures].[Visits] ON ROWS
FROM
  [Analytics]

{[Asset].[Asset Name].[All]}Allメンバーが除外されていない場合を除いて、Exceptの2番目の引数として入力する必要がある場合があります。

クエリでは[Asset].[Asset Name].[all assets]、既存のすべてのアセットを表す計算メンバーを作成します。あなたの既存のアセットは、メンバー以外のすべてのレベルのメンバーであると思いまし[Asset].[Asset Name]All

集計関数の詳細については、こちらをご覧ください。

于 2012-08-15T14:15:03.650 に答える
0

これも同様に機能します:

SELECT
  [Measures].[Visits] ON 0
FROM
  [Analytics]
WHERE
  DRILLDOWNLEVEL([Asset].[All])

更新:これと同様:

SELECT
  [Measures].[Visits] ON 0
FROM
  [Analytics]
WHERE
  [Asset].[All].CHILDREN
于 2012-08-16T10:48:44.250 に答える