✳️
【Power Query】複数のテーブルを結合し、ID列に一意のランダム数値を生成する
はじめに
上記のようにそれぞれの1つのシートに対して1つのテーブルがあり、テーブルごとにIDが振られている場合、最終的にこれを全て1つのテーブルにし、さらに一意なIDの値を振り直したい場合の手順についてまとめている。
1.テストデータの準備
上記記事で詳細は解説している。
2.テストデータのテーブル化
- データの範囲を選択肢、それぞれのシートをテーブルにしていく
3.テーブルに名前を付ける
- テーブルを選択した状態でテーブルに名前を付ける(シート名を同じが良いか)
Power Query
へインポート
4.-
テーブルを選択した状態で、「データ」タブの「テーブルまたは範囲から」を選択。
※または「データ」タブの「データの取得」-「ファイルから」-「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