2

現在、IcCube で Google ツリーマップ チャートを作成しようとしています。マルチ レベル ディメンションを使用し、ドリルダウンのすべてのレベルを個別に定義して ( ここここに示すように) これを行うと、すべて正常に機能します。私がやりたいのは、親子ディメンションを使用してツリーマップに伝え、ツリーマップ チャートにドリルダウンするときにこの階層を下に移動することです。

それは可能ですか?

これは私が使用した (動作していない) MDX です。 [categories] は親/子ディメンションです。

WITH
  MEMBER [category_name] as [categories].[categories].currentmember.name 
SELECT
  {[category_name],[Measures].[count_clicks]} on 0,
  non empty [categories].[categories] on 1
FROM
  [Cube]
4

2 に答える 2

1

ツリーマップはトリッキーな視覚化です。親子関係を定義するために、最初の 2 つの列を定義する必要があります。例えば ​​:

'Global',    null 
'America',   'Global' 
'Europe',    'Global'
'Brazil',    'America'

最初の列は構造上 Axis(1) 名であるため、秒はメンバーの名前ではなく、親の名前でなければなりません。何かのようなもの :

MEMBER [parent_name] as IIF( [categories].[categories].currentmember is [categories].[categories].[ALL],
                            NULL,
                            [categories].[categories].currentmember.parent.name )

次のように使用できます。

WITH
  MEMBER [parent_name] as IIF( [categories].[categories].currentmember is [categories].[categories].[ALL],NULL,[categories].categories].currentmember.parent.name )
SELECT
  {[parent_name],[Measures].[count_clicks]} on 0,
  non empty [categories].[categories] on 1
FROM
  [Cube]

これはうまくいくはずです。

それが役に立てば幸い。

于 2015-12-15T14:03:32.593 に答える
0

自分のデータでしばらく苦労した後、親子ディメンションの IcCube の例を取り上げました ( http://www.iccube.com/support/documentation/user_guide/schemas_cubes/dim_parentchild.php )。次に、あなたの例を試しました:

WITH
  MEMBER [parent_name] as IIF( [dim (ALL)].[Hierarchy].currentmember 
  is  [dim (ALL)].[Hierarchy].[ALL],'',
  [dim (ALL)]. [Hierarchy].currentmember.parent.name )
SELECT
  {[parent_name],[Measures].[value]} on 0,
  non empty [dim (ALL)].[Hierarchy] on 1
FROM
  [Cube]  

(NULL 値は '' に置き換える必要がありました)

最初のディメンションは機能しますが、マップをドリルダウンしようとすると、ID が「World」の行がないことがシステムから通知されます。それを修正する方法はありますか?

編集: ID の代わりに親子ディメンションで実名を使用した後 (子: スペイン、親: ヨーロッパ、値: 3)、[dim (ALL)].[Hierarchy] を [dim (ALL)].[Hierarchy] に置き換えます。 ].members() コードで、これまでのところツリーマップが機能しています。

WITH
  MEMBER [parent_name] as IIF( [dim (ALL)].[Hierarchy].currentmember 
  is [dim (ALL)].[Hierarchy],'',
  [dim (ALL)].[Hierarchy].currentmember.parent.name )
SELECT
  {[parent_name],[Measures].[value]} on 0,
  non empty [dim (ALL)].[Hierarchy].members() on 1
FROM
  [Cube]

次のレベルにドリルダウンすると、「ID "Europe" の行が見つかりませんでした」というエラー メッセージが表示されます。データに 3 レベル (子: マドリッド、親: スペイン、値: 5) を追加しましたが、このレベルに移動できません。「スペイン」をクリックしても何も変わりません。

于 2015-12-18T12:09:32.757 に答える