2017-08-09 17 views
0

Power BIで2つのテーブルを結合しようとしています。 Power BIでテーブルを結合する

I次の2つの表があります。

<table border="1"> 
 
<tr><th>Id</th><th>Category</th></tr> 
 
<tr><td>1</td><td>A</td></tr> 
 
<tr><td>1</td><td>B</td></tr> 
 
<tr><td>2</td><td>A</td></tr> 
 
<tr><td>3</td><td>B</td></tr> 
 
<tr><td>3</td><td>C</td></tr> 
 
<tr><td>4</td><td>A</td></tr> 
 
</table> 
 
<br> 
 
<br> 
 
<table border="1"> 
 
<tr><th>Id</th><th>Value</th></tr> 
 
<tr><td>1</td><td>10</td></tr> 
 
<tr><td>1</td><td>20</td></tr> 
 
<tr><td>3</td><td>10</td></tr> 
 
<tr><td>3</td><td>30</td></tr> 
 
<tr><td>4</td><td>20</td></tr> 
 
<tr><td>4</td><td>30</td></tr> 
 
<tr><td>5</td><td>10</td></tr> 
 
</table>

私は以下のようにそれらを結合する必要があります。

<table border="1"> 
 
<tr><th>Id</th><th>Category</th><th>Value</th></tr> 
 
<tr><td>1</td><td>A</td><th>10</th></tr> 
 
<tr><td>1</td><td>A</td><th>20</th></tr> 
 
<tr><td>1</td><td>B</td><th>10</th></tr> 
 
<tr><td>1</td><td>B</td><th>20</th></tr> 
 
<tr><td>2</td><td>A</td><th>BLANK</th></tr> 
 
<tr><td>3</td><td>B</td><th>10</th></tr> 
 
<tr><td>3</td><td>B</td><th>30</th></tr> 
 
<tr><td>3</td><td>C</td><th>10</th></tr> 
 
<tr><td>3</td><td>C</td><th>30</th></tr> 
 
<tr><td>4</td><td>A</td><th>20</th></tr> 
 
<tr><td>4</td><td>A</td><th>30</th></tr> 
 
<tr><td>5</td><td>BLANK</td><th>10</th></tr> 
 
</table>

、これはどのようにすることができPower BIでDAXを使用していますか?

答えて

1

まず、2つのテーブルの間にあるすべてのIDの別個のリストが必要です。 PowerBIでこれを取得するには、[モデリング] - > [新しいテーブル]をクリックし、この数式を入力します。

IDs = DISTINCT(UNION(
    SELECTCOLUMNS(Categories, "ID", Categories[Id]), 
    SELECTCOLUMNS('Values', "ID", 'Values'[Id])) 
) 

ID Table

この表は、カテゴリテーブルと値テーブル間の多対多の関係を作成するのに役立ちます。代わりに、その関係で

Relationship

、あなたはあなたの結果を得るために、この式を別の新しいテーブルを作成することができます。

Results = SELECTCOLUMNS(NATURALLEFTOUTERJOIN(NATURALLEFTOUTERJOIN(IDs, Categories), 'Values'), 
    "ID", IDs[ID], 
    "Category", Categories[Category], 
    "Value", 'Values'[Value] 
) 

Results

0

は(パワークエリではなく、DAX溶液)


が空のクエリ追加:

= Table.NestedJoin(Table1,{"Id"},Table2,{"Id"},"Table2",JoinKind.FullOuter)

を変換ステップの追加:

= Table.ExpandTableColumn(Source, "Table2", {"Id", "Value"}, {"Table2.Id", "Value"})

をステップを追加します。 :

= Table.AddColumn(#"Expanded Table2", "NewId", each (if [Id] = null then [Table2.Id] else [Id]))

IdTable2.Idを削除します。また


、PowerBIデスクトップ経由でGUIのアプローチ:

  • オープンクエリエディタ - > [ホーム]タブ
  • クエリをマージ - >新規
  • は、両方のテーブルを、ハイライトId列、完全な選択として外部結合
  • 最後の列を展開します。
  • 列の名前を適切に変更してください。
  • 任意の方法でCoalesce Idカラムを作成します。
関連する問題