Power BIでUnionする方法2種類 テーブルを縦に結合させたい
下図のテーブルAとB。
データ項目は同じですが、テーブルが2つに分かれています。
【A:2022年のデータ】
【B:2023年のデータ】
これは年度の変わり目や、
データ容量が増えてきた際に複数のデータに分けてキャパを分散させる際に、こうした対応を取ることがあります。
一方Power BIでデータを使う場合、このテーブルは1つのテーブルとして結合させる必要があります。
【合体テーブル】
このように合体させないで、複数のテーブルにデータがまたがっている場合、
時系列分析等のレポート作成が難しくなってきます。
そこでデータを縦にくっつける対応が必要となるのです。
データ分析(SQL)の世界ではこれをUnionと言いますが、
今回はPower BIでこのUnionを実現する方法を紹介したいと思います。
やり方は複数あるので、ここでは2つ代表例を紹介します。
状況に応じて使い分けてみて下さい。
1.DAXでUnionする
1つ目の手法はDAXのUnion関数を使う方法です。
これは合体対象のテーブルを読み込んだ後、Power BI側でDAX対応して進める方法となります。
下図がそのやり方です。
1.テーブルツール>新しいテーブルをクリック
2.テーブル名称 = UNION(‘テーブル1’, ‘テーブル2’)
合体対象のテーブルが複数ある場合でも、
テーブルの名称を指定していくだけで合体できるのでわかりやすいです。
またデータ容量が重いケース等、Power Queryで対応すると挙動が遅くなってしまう場合も、こちらで対応するケースがあります。
2.Power Queryのクエリの追加でUnionする
続いてPower Querの「クエリの追加」機能で対応する方法です。
Power Query Editorを起動後、「クエリの追加」の隣の下矢印をクリックします。
ここで「クエリの追加」をクリックしてしまうと、できることの選択肢の幅が狭まってしまうので、下矢印を押す方がおすすめです。
下図のような画面が表示されますので、合体対象のテーブルを選択します。
※合体対象が3つ以上ある場合は、「3つ以上のテーブル」を選択するといいです。
OKボタンを押すと、下図のように合体データが作成されます。
この方法は、合体対象の列名が完全一致する場合には適用可能です。
一方、現実の世界では、このようにデータの列名が完全一致しないケースも出てきます。
その場合、列名が一致するように一方のデータの列名を変える必要があります。
あるいは、1の手法(Union)で対応します。
以上です。
Unionは実務でも結構使うので、頭の片隅にでも入れておいてください!
それではまた。
コメントを残す