ファクト テーブルの列の削減バージョンは次のとおりです。
id [substitute Pk guid], TestNo, DrugGroupId, Positive
ここで、DrugGroupId はメジャー テーブル ID、DrugGroup、Drug、Result を参照します
正の列は次のように定義されます。
when Result != 'negative' then 1 else 0
DrugGroup の例は次のようになります。
- [guid]、アンフェタミン、アンフェタミン、ネガティブ
- [ガイド]、アンフェタミン、アンフェタミン、アンフェタミン
- [ガイド]、アンフェタミン、メタンフェタミン、メタンフェタミン
- [guid]、カンナビノイド、カンナビノイド、ネガティブ
- [guid]、カンナビノイド、カンナビノイド、ポジティブ
Sum(Positive) とファクト テーブル Count の間の単純な比率である、計算されたメジャーがあります。
[Measures].[Positive] / [Measures].[Count]
ただし、私のデータの癖は、ファクト テーブル内の特定の TestNo に 1 行しかないことです。
したがって、結果が負の場合は1行ですが、一部の薬物には複数の正の行があり、「DrugGroup」の下の「Drug」ごとに1行あるため、データが1つのテーブルに非正規化された場合、次のようになります
- [guid]、Test1、アンフェタミン、アンフェタミン、陰性
- [guid]、Test2、アンフェタミン、メタンフェタミン、メタンフェタミン
- [ガイド]、Test2、アンフェタミン、アンフェタミン、アンフェタミン
- [guid]、Test1、カンナビノイド、カンナビノイド、陽性
- [guid]、Test2、カンナビノイド、カンナビノイド、陰性
「陽性」「薬物」は、その「薬物グループ」の詳細な内訳がない場合にのみ許可されることに注意してください (つまり、大麻)
上記の例のデータが与えられた場合、(階層を使用して) 私の比率測定は計算されます (SharePoint パフォーマンス ポイント分析グリッド レポートに表示されます)。
- [DrugGroup,Drug,Result], 陽性, カウント, 比率
- [すべて]、3、5、60%
- [アンフェタミン]、2、3、33%
- [アンフェタミン]、1、1、100%
- [メタフェタミン]、1、1、100%
- [カンナビノイド]、1、2、50%
- [カンナビノイド]、1、2、50%
ご覧のとおり、複数の陽性が過大にカウントされているため、「DrugGroup」レベルで比率が正しく計算されず、「Drug」レベルでは、結果が「陽性/陰性」のみでない限り、薬物に対して 100% しか得られません。
ロールアップしたときに結果が正しく計算されるようにデータを構造化するか、問題を整理できる比率メジャーを作成するにはどうすればよいですか?