web-dev-qa-db-ja.com

セミアディティブメジャーグループのドリルスルーアクション

開発中のキューブに半加法(最後の非空)メジャーを作成しました。そのメジャーグループに対して、ドリルスルーアクションを作成しました。そのドリルスルーアクションを使用すると、期待どおりにアイテムごとに1行だけでなく、日付ごとにアイテムごとに1行が返されます。これは、メジャーが半加算的であることを認識していないかのようです。

同じ問題が2009年のMicrosoftConnectのいくつかの記事で言及されています ここここ ですが、問題を解決する方法についてのコメントはなく、私は非常に見つけましたこの問題については他にほとんどありません。

SQL Server 2012Enterpriseを使用しています。

この問題の解決策または回避策はありますか?

6
paulH

SSAS多次元であると仮定すると、 [〜#〜] assp [〜#〜] を展開して、適切な行を返す行セットアクションを作成できます。行セットのアクション式は次のようになります。

ASSP.GetDefaultDrillthroughMDX(Tail(NonEmpty(Existing [Date].[Date].[Date].Members), 1).Item(0))

そのコードを説明するために、既存の日付(現在のセルのコンテキストでの日付)を取得し、現在のメジャーの値が空でない日付のみにフィルターして(現在のセルの他のすべてのフィルターを継承)、最新の日付。

このストアドプロシージャの詳細については、こちらをご覧ください: http://asstoredprocedures.codeplex.com/wikipage?title=Drillthrough&referringTitle=Home

残念ながら、行セットアクションをExcelのダブルクリックドリルスルーアクションにすることはできません。ユーザーがセルを右クリックして[追加のアクション]を選択したときに、アクションを公開する必要があります。

Excelにはダブルクリック動作があります。ダブルクリックすると、デフォルトの列を返すか、そのメジャーグループに定義したドリルスルーアクションで定義した列をデフォルトとして返すドリルスルーが実行されます。必要な列を指定せずにDRILLTHROUGHSELECTステートメントを手動で実行すると、デフォルトとしてフラグが付けられたドリルスルーアクションで定義された列が返されます。

2
GregGalloway