4

enter image description here

As you can see from the image i have a one-to-many relation ship between these two tables. BUT i want to make it soo its a Many-to-many. Im using AssetID as the key for these relationships. Any ideas on how i could create this??

The reason whu need it as a Many-to-Many as im using this in powerview and using Column headers as sliders. An example of this would be if i was to select Windows 7 in the tblOperatingSystem slider the slider which i use for tblAssets would only display what is relevant to windows 7, where as i want to be able to do the opposite and select in tblAssets silder and only the OS would appear which is relevant in the tblOperatingSystem slider

I have already Tried to create a new table which just has AssetID and then connect tblAssets and tblOperatingSystem to it but this method doesnt work for the sliders.

Any ideas round this?

4

2 に答える 2

1

問題を正しく理解している場合、これは多対多の関係を適切にモデル化できない PowerPivot (および SSAS 表形式モデル) の制限によるものです。この関係は、(OS のスライダーで確認できるように) 一方向に適用できますが、他の方向には機能しません。

過去に PowerPivot/PowerView でこれを回避する方法は、新しい ID 列 (または と の連結) を使用して、OS とアセットのすべての可能な組み合わせを含む、追加の非正規化テーブルを作成することOSIDですAssetID。キーとして。tblOperatingSystem必要に応じてとに一対多の関係を構成しtblAssetます。

これの重要な部分は、DAX 関数を使用して値を設定するために、ここにもデータ列を含めることです。次に、この新しい正規化されていないテーブルを両方のスライダーのソースとして使用できます (クライアントからオリジナルを非表示にします)。いずれかが選択されると、自動的に相互にフィルター処理されます。

非正規化テーブルの例

現在、重複が多いため、それほど効率的ではありません。他の誰かがこれを達成する別の方法を提案できる場合は、自分で聞いてみたいと思います! 非常に大きなデータモデルでこれを使用すると、処理が大幅に遅くなる可能性があるため、注意してください。

あるいはこの記事(マルコ・ルッソとアルベルト・フェラーリによる同様の投稿への適切なリンクが含まれています) を見つけましたが、試していないため、PowerView でうまく機能するかどうかはわかりません。デートPV。

于 2013-03-12T16:07:48.497 に答える
0

PowerPivot は多対多のリレーションシップ モデリングをネイティブにサポートしていませんが、DAX を使用してエミュレートできます。あなたがする必要があるのは、計算ステートメントで関連する多対多テーブルを測定リストに入れることだけです。たとえば ( http://gbrueckl.wordpress.com/2012/05/08/resolving-many-to-many-relationships-leveraging-dax-cross-table-filtering/から) 次のようなレイアウトが与えられた場合:

ここに画像の説明を入力

次に、行数をカウントするが Targets テーブルでのフィルタリングを考慮に入れる Audience テーブルでメジャーを作成するには、次のように記述します。

RowCount_M2M:=CALCULATE(
     [RowCount], 
     'Individuals', 
     'TargetsForIndividuals', 
     'Targets')

他のテーブルを一覧表示すると、それらのフィルター コンテキストが重複し、探している結合が得られます。

于 2013-12-02T17:15:37.153 に答える