Power Queryには、json形式へのコネクタは存在しますが、ndjson形式へのコネクタは存在しません。
以前は苦心して秀丸エディタを使って、ファイルの方を変更して読み込んでいましたが、簡単な方法を発見しましたので記事にします。
ndjson形式をPower Queryに取り込む簡単な手順
例として、というか今回必要だった、デジタル庁のワクチン接種回数データ(リンク先の「都道府県別接種回数詳細(NDJSON) (NDJSON ,改行区切りJSON形式)」(公開終了)を使用します。
データソース「Web」を指定して読み込み
![データタブ データの取得と変換グループ Webから デジタル庁のndjsonのURLを入力](https://curio-shiki.com/blog/wp-content/uploads/2022/07/image-1200x874.png)
テキストファイルとして読み込む
いったん、解釈不能なバイナリデータとして読み込まれるので、「形式を指定して開く」から「テキストファイル」を選択。
![バイナリツール 変換 形式を指定して開く テキストファイル](https://curio-shiki.com/blog/wp-content/uploads/2022/07/image-1.png)
結果はこうなります。
![ndjsonをテキストファイルとして読み込んだ結果。改行ごとにレコードが作成され、単一のフィールド内に、ndjsonの一行一行がそのままデータとして表示される。](https://curio-shiki.com/blog/wp-content/uploads/2022/07/image-2.png)
よく見ると、この一レコード一レコードはjson形式になっていることに気づきます。
テキストデータをJSONとして解析
変換タブ→テキストの列グループ→解析→JSONと選択し、このデータをJSONとして解析してみます。
![変換タブ テキストの列グループ 解析 JSON
テキストファイルをJSONとして解析](https://curio-shiki.com/blog/wp-content/uploads/2022/07/image-4.jpg)
テキストファイルをJSONとして解析
結果はこうなります。
![JSONとして解析の結果。単一フィールドであったテキストデータが、複数フィールドからなるレコードの集合体に変換された](https://curio-shiki.com/blog/wp-content/uploads/2022/07/image-3.png)
レコードの展開をして、ndjsonの読み込み完了
最後に、この変換されたレコードを展開します。
![展開ボタンを押してレコードを展開
元の列名をプレフィックスとして使用しますのチェックは外したほうがよいでしょう](https://curio-shiki.com/blog/wp-content/uploads/2022/07/image-4.png)
結果はこうなります。
![ndjsonの内容が、正しく読み込まれた](https://curio-shiki.com/blog/wp-content/uploads/2022/07/image-5-1200x603.png)
これで、ndjsonのデータがPower Queryに正しく読み込まれました。
【余談】読み込み後の処理
読み込みに成功しましたが、このままではデータとして扱いにくい状態です。
このあとの処理としては
- 日付フィールドの型変更→日付形式
- 都道府県番号を、外部データとマージすることで都道府県名に変換
- 目的の期間・都道府県に絞り込み
などの処理が考えられます。これについては、また別途記事にしていきます。もしかしたらここに追記するかもしれません。
コメント