none
ドリルスルー列名の指定について RRS feed

  • 質問

  • VS2005でAnalysis Serviceプロジェクトを作ります。
    キューブ構造タブ、ディメンションの使用法タブを設定して、
    アクションタブでドリルスルーを設定したあと、「処理」してブラウザタブで層別集計できる状態からの話です。
    右クリックからドリルスルー出来、集計したセルの元データを参照できます。
    しかしこのとき列名が[メジャーテーブル名].[列名]といった形で表示されます。
    この列名を任意の値で出力できるような設定はできないのでしょうか?
    例えばアクションタブでドリルスルー列の設定でそのような設定が出来そうな気がしますがないようです。

    2008年7月14日 8:36

回答

  •  st.lain さんからの引用

    新しいアクションをセル対象に定義してもポップアップにアクションが出ないし orz

    アクションの指定にミスがあるとエラー報告なしに問答無用でポップアップからアクションが

    表示されなくなるのですね。

    (アクションの式で指定するのはMDXではなくて、MDX式を返すような変数式っぽいのカナ。

     ダブルクォーテーションが必要なようです)

     

    任意の列のドリルスルーを行うMDXとなるようなアクションの式は以下のようになると思います。

     

    Code Snippet

    "DRILLTHROUGH SELECT (" +

     Measures.CurrentMember.UniqueName + ", " +

     << Some Dimension>>.CurrentMember.UniqueName + ", " +

     << Some Dimension>>.CurrentMember.UniqueName + ...(略)...

    ") ON 0 FROM [<< Cube Name>>]"

     

    これが、MSSCHEMA_ACTIONSによって特定の制約列が指定された場合に各メンバに

    置換?されたMDXとなってクライアントに返るのだと思われます。

     

    なので、後はRETURN句でAS指定により列の別名を付ければ任意の列名として結果が

    得られるのだと思われます。

     

    • 回答としてマーク 和和和 2009年7月22日 13:22
    2008年7月17日 0:48

すべての返信

  • この列名を任意の値で出力できるような設定はできないのでしょうか?

    ん~、やったことはないですが、以下のことでしょうか?

     

    >> Drillthrough to Relational in SSAS 2005

    http://csjohnlam.spaces.live.com/Blog/cns!996308EF3A99432B!214.entry

     

    RETURN句の各列に対してAS句による別名を指定することで任意の列名として

    結果を受け取れることは確認しています。一度、試してみることをお勧めします。

    2008年7月14日 9:15
  • >RETURN句の各列に対してAS句による別名を指定することで任意の列名として

    >結果を受け取れることは確認しています。一度、試してみることをお勧めします。


    はい、まさにこれでした。わざわざありがとうございます。しかし言葉足らずで申し訳ありません。

    これを実現するためにVS2005のAnalysis Servicesプロジェクトの恐らくアクションタブのドリルスルーアクションでAS句をどのように設定すればよいのか分からないということです。

    ここでの設定は出力する列は指定できるのですがその別名までは指定できないようですので。

    2008年7月15日 0:39
  • これを実現するためにVS2005のAnalysis Servicesプロジェクトの恐らくアクションタブの

    ドリルスルーアクションでAS句をどのように設定すればよいのか分からないということです。

    ここでの設定は出力する列は指定できるのですがその別名までは指定できないようですので。

    仰せのとおり「新しいドリルスルーアクション」からの作成では指定する方法がない様な気がします。

    先に書いたBlogの資料では「新しいアクション」をセルに対して定義することで、ドリルスルー

    アクションと同じような動きをさせているようなのですが・・・

     

    新しいアクションをセル対象に定義してもポップアップにアクションが出ないし orz

    何かしらの方法でできない事は無いと思ってますが、現段階ではわかりかねます。

     

    # 後は書いたアクションがセルのポップアップで出せればいいだけだと思うのですけどね。

    2008年7月15日 1:38
  •  st.lain さんからの引用

    新しいアクションをセル対象に定義してもポップアップにアクションが出ないし orz

    アクションの指定にミスがあるとエラー報告なしに問答無用でポップアップからアクションが

    表示されなくなるのですね。

    (アクションの式で指定するのはMDXではなくて、MDX式を返すような変数式っぽいのカナ。

     ダブルクォーテーションが必要なようです)

     

    任意の列のドリルスルーを行うMDXとなるようなアクションの式は以下のようになると思います。

     

    Code Snippet

    "DRILLTHROUGH SELECT (" +

     Measures.CurrentMember.UniqueName + ", " +

     << Some Dimension>>.CurrentMember.UniqueName + ", " +

     << Some Dimension>>.CurrentMember.UniqueName + ...(略)...

    ") ON 0 FROM [<< Cube Name>>]"

     

    これが、MSSCHEMA_ACTIONSによって特定の制約列が指定された場合に各メンバに

    置換?されたMDXとなってクライアントに返るのだと思われます。

     

    なので、後はRETURN句でAS指定により列の別名を付ければ任意の列名として結果が

    得られるのだと思われます。

     

    • 回答としてマーク 和和和 2009年7月22日 13:22
    2008年7月17日 0:48
  • いわれるようなアクション設定のミスのせいでVS2005上のブラウザで右クリックでアクションが表示されないのかもしれませんが
    対象となる種類:ディメンションメンバ
    対称になるオブジェクト:MEASURES
    種類:ステートメント
    アクションの式:"DRILLTHROUGH SELECT (" +Measures.[Infr Number]+") ON 0 FROM [Buhin Portal]"
    と設定しました。アクションの式は具体的です。
    もしかしたらブラウザでは実行できないのかもしれませんが。

    別ごとですが、st.lanさんのcode snipetとかビジュアルですがどのように投稿してらっしゃいますか?HTMLですか?分かりやすく投稿するためにぜひ参考にしたいのですが。
    2008年7月18日 0:21