Visual Studios BIDS を使用して既存の OLAP キューブを変更しています。
SSMS
: アプリケーションのステータスを追跡するための 10 の異なる測定値を含む、非常に細かい粒度を持つ基礎となるファクト テーブル (FactTableMain) があります (それらはほとんどフラグのように機能します) 。メジャーには、個人の ID 値または がありNULL
ます。
Visual SSAS
Studio の場合OLAP
:
- 10 個のメジャー グループがあります。各メジャー グループは、 MeasureName である FactTableMain メジャーの 1 つを選択する DSV 名前付きクエリに基づいています
IS NOT NULL
。 - PersonName 列と PersonID 列のみが返される各メジャー グループのドリル アクション。
各メジャー グループの演習:
- 重複を表示します (すべてのファクト テーブルの列がドリルの戻り列であるとは限らないため)
- メジャー カウントが表示する予想される行数を返さない
私が試してみました:
- ドリルスルー アクションでフィルターと個別を使用する複数の
MDX
条件がありますが、違いがないか、アクションが完全に消えます。 - FactTableMain から個別の ID を選択するジャンク ドリル ディメンションを作成し、それをドリル スルー アクションの唯一の戻り列として設定します (戻り行をドリルスルーしても違いはありません)。
MDX
アクション式を使用して、新しい (標準) アクションを行セットおよびデータセットとして作成する
MDX
これらのプロパティを持つアクション式を持つ新しい(標準)アクションが必要だと思います:
- ターゲット タイプ = セル
- 対象物=全細胞
- アクション コンテンツ タイプ = 行セット
現在の MDX クエリは結果を返しますが、最初のメジャーの全体的な合計に対してのみであり、正しくフォーマットされていません。クライアント アプリケーションで別のメジャーを選択し、クエリを再実行して再度ドリルしても機能しません。私は検索して検索しましたが、アイデアがなく、運命の暗黒の穴に座っています。:(
私の現在のMDX
クエリは次のとおりです。
WITH
SET [person] AS
NonEmpty([person].[person].[person])
MEMBER CurrentMeasure AS
[Measures].CurrentMember
SELECT
NonEmpty
(
Filter
(
[Quarter].[Quarter].[Quarter].MEMBERS
,[Quarter].[Quarter].CurrentMember
)
) ON COLUMNS
,(
[person]
,NonEmpty([person].[person ID].[ID])
) ON ROWS
FROM [Applications];
目標: 最終的には、ユーザーが選択している現在のメジャーを把握し、行/列のユーザーのディメンション選択によってフィルター処理できるように、ドリル アクションを十分に動的なものにしたいと考えています。
質問:
- 元のドリル スルー アクションの条件を使用して、個別の行または空でない行をフィルター処理する方法はありますか? ドリルの制限があることは知っていますが、ドリルの制限を回避する方法はありますか?
- ユーザーの選択に動的に対応する標準の行セットアクションを作成するにはどうすればよいですか (私の目標)。
- 何か案は?
URL アクション タイプは、ビジネス ニーズのオプションではありません。
編集: DSV から不要なものをすべて削除し、個別の行のみを選択しています。各 ID には複数のアプリケーションを含めることができ、アプリケーションには複数の対象領域を含めることができます。ドリルは、ID、アプリケーション、関心のある領域ごとに 1 行を返すようになりました。アプリケーションの数や関心のある分野に関係なく、ドリルが個別の ID を返すことだけを望んでいます。ここからどこへ行けばいいのかわからない。ドリルで申請番号や関心分野のディメンションをフィルタリングできますか?