Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

IT技術 (Technology)

Power BIで複数テーブルをUNIONで結合する方法

投稿日:2023年6月6日 更新日:

 

<目次>

(1) Power BIで複数テーブルをUNIONで結合する方法
 やりたいこと
 初期状態
 実施手順

(1) Power BIで複数テーブルをUNIONで結合する方法

やりたいこと

・Power BIで複数のテーブルに対してUNION相当の処理し、1つの表として扱いたい。
 
(想定利用シーン)
例えば、2つの表を合わせた情報をマトリクスに表示したい場合などが想定されます。
両方のテーブルを同じ縦軸テーブル・横軸テーブルと結合すれば、それに近しい表を作れます。しかし問題は、縦軸を「役職」と「名前」など複数の階層にした場合に表示が不正になる事です(例:ある役職を展開すると、その役職以外の人もぶら下がって表示されてしまう等)。これを防ぐためには、今回ご紹介するテーブルのマージが1つの解決策になります。

初期状態

・「従業員テーブル1」と「従業員テーブル2」があり、カラム構成が異なる。
(図121)
(図122)従業員テーブル1
(図123)従業員テーブル2

実施手順

今回はPower QueryのM言語の「Table.Combine」関数を使って、2つの表を合体させていきます。

●STEP1:カラムを揃える

両方のテーブルでカラムが揃っていないと、綺麗にマージできないため、まずはPower Queryでカラムを揃える。
今回の例では「従業員テーブル1」の「grade」と、「従業員テーブル2」の「入社日」を削ります。
(図131)

・①「従業員テーブル1」を右クリックで「クエリの編集」を押下
(図132)
Power Queryエディターが開きます
・②「grade」列を右クリックして「削除」を押下
(図133)
・③「ホーム」→「閉じて適用」を押下
(図134)
・④「従業員テーブル2」の「入社日」も同様に削除します。
(図135)

(備考)カラムを揃えずにマージした場合
マージ自体は出来なくはないのですが、次のように片方にしか無いカラムは、もう一方ではnullと表示されてしまいます。この挙動が特に問題ないようでしたら、STEP1は飛ばしてもOKです。
 
(図136)
 

●STEP2:テーブルのマージ(Table.Combine)

次に2つのテーブルをマージした表を作ります。
 
・①「ホーム」→「データの入力」を押下
(図141)
・②何もせずに「OK」を押下
→この後、Power Queryエディターで結合した表を作っていくので、ここでは何もしなくてOK
(図142)
・③テーブルをマージするため、下記の式を入力します。
※今回は自動で作られたステップ「変更された型」を上書きしてしまいます。
 
(式)
= Table.Combine({従業員テーブル1,従業員テーブル2})
 
(図143)
・④マージされた表の完成!
(図144)
・⑤「ホーム」→「閉じて適用」を押下
(図145①)
リレーションの表示からも見えます。
(図145②)
 

Adsense審査用広告コード


Adsense審査用広告コード


-IT技術 (Technology)
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

クラウドネイティブとは?(コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ等)

<目次> (1) クラウドネイティブとは?(コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ等)  (1-1) コンテナ  (1-2) サービスメッシュ  (1-3) …

RESTful APIとは?概要や6つの原則についてご紹介

  <目次> (1) RESTful APIとは?概要や6つの原則についてご紹介  (1-1) RESTful APIの概要  (1-2) RESTの6つの原則 (1) RESTful AP …

LangChainのChainやAgentとは?概要やサンプルプログラムをご紹介

  <目次> (1) LangChainのChainやAgentとは?概要やサンプルプログラムをご紹介  (1-1) やりたいこと  (1-2) Chain概要  (1-3) Chainサン …

no image

Miroでプランを確認する方法

  <目次> (1) Miroでプランを確認する方法  (1-1) 確認方法  (1-2) 【注意点】基本的にプラン(≒Subscription)は「アカウント」ではなく「チーム」に紐づく …

ValgrindのIndirectly Lostの意味や実際のサンプルをご紹介

  <目次> (1) ValgrindのIndirectly Lostの意味や実際のサンプルをご紹介  (1-1) Valgrindの「Indirectly Lost」はどんな状況?  (1 …

  • English (United States)
  • 日本語
Top