✳️
【Power Query】複数のテーブルを結合し、ID列に一意のランダム数値を生成する
はじめに

上記のようにそれぞれの1つのシートに対して1つのテーブルがあり、テーブルごとにIDが振られている場合、最終的にこれを全て1つのテーブルにし、さらに一意なIDの値を振り直したい場合の手順についてまとめている。
1.テストデータの準備

上記記事で詳細は解説している。
2.テストデータのテーブル化
- データの範囲を選択肢、それぞれのシートをテーブルにしていく
3.テーブルに名前を付ける
- テーブルを選択した状態でテーブルに名前を付ける(シート名を同じが良いか)
4.Power Queryへインポート
-
テーブルを選択した状態で、「データ」タブの「テーブルまたは範囲から」を選択。

※または「データ」タブの「データの取得」-「ファイルから」-「Excelブックから」を選択。 -
パワークエリエディタでテーブルが読み込めているか確認する

5.Power Query上でシートの一覧を取得
-
適用したステップの中の「ソース」をクリックする。

-
エディタ上の数式バーに以下の内容を入力する。
= Excel.CurrentWorkbook()

6.テーブルを展開
-
表示されている
Contentカラムの横にあるボタンをクリックする

-
元の列名をプレフィックスとして使用しますのチェックを外し、OKをクリックする

-
展開されたか確認する。

7.一意のインデックス列を生成
-
「列の追加」タブから「カスタム...」をクリックする。

-
「開始インデックス」と「増分」を1に設定しOKをクリックする。

カスタムで列を追加する場合
カスタム列を追加する
-
「列の追加」タブからカスタム列の追加ボタンをクリックする

-
カスタム列作成のウィンドウで「列名」と「カスタム列の式」を入力し、OKをクリックする

カスタム列の数式(7桁の数字をランダムに生成し割り付ける)
Number.RoundDown(Number.RandomBetween(1000000, 9999999))
8.データ型の確認
-
クエリのテーブル全体を選択後、変換タブの「データ型の検出」をクリックする。

-
各カラムのデータ型を確認していく。(違えば修正を行う)

9.Excelシートに読み込む
- パワークエリエディタ上のホームタブの「閉じて読み込む」をクリックする。
10.ピボットテーブル化
-
Excelの挿入タブからピボットテーブルの「外部データソース」からを選択する。

-
ピボットテーブルのフィールドを好きなように調整する。

※インデックスの値から特定の患者を見つけ出すことが可能。
Discussion