Power Queryで食品標準成分表の別表のデータを整形する方法

みなさん,こんにちは。
シンノユウキ(shinno1993)です。

食品標準成分表をPower Queryで整形する方法について,連載形式で紹介しています。

前回の記事はこちら

Power Queryで値を置換する方法について,完全一致と部分一致の2パターンで紹介しました。前回までで,本表については計算可能な形に変換することができました。

今回から別表についても触れていきます。別表のデータをすべて整形し,それを本表に結合していくという形を取っていきます。

今回はまず,別表のデータをダウンロードし,それをすべて整形します。前回までに紹介した内容を踏まえ紹介します。

下記で別表のデータのダウンロード・整形を行っていきます。Power Queryに慣れた方は復習と思って取り組んでください。

では行きましょう!

本記事は連載:「食品標準成分表をPower Queryで整形する方法」の一部です。前回までに行った作業を前提にしますので,連載の初回(食品標準成分表をPower Queryで整形する方法【栄養士向け】)からご覧いただくことをオススメします。

別表データのダウンロード・整形する方法

まず,公表されている食品標準成分表のデータについて確認しておきます。現在は下記のデータが公表されています:

  • 日本食品標準成分表2020年版(八訂):
    • 本表
  • アミノ酸成分表編:
    • 第1表 可食部100g当たりのアミノ酸成分表
    • 第2表 基準窒素1g当たりのアミノ酸成分表
    • 第3表 アミノ酸組成によるたんぱく質1g当たりのアミノ酸成分表
    • 第4表(基準窒素による)たんぱく質1g当たりのアミノ酸成分表
  • 脂肪酸成分表編:
    • 第1表 可食部100g当たりの脂肪酸成分表
    • 第2表 脂肪酸総量100g当たりの脂肪酸成分表
    • 第3表 脂質1g当たりの脂肪酸成分表
  • 炭水化物成分表編:
    • 本表 可食部100g当たりの炭水化物成分表
    • 別表1 可食部100g当たりの食物繊維成分表
    • 別表2 可食部100g当たりの有機酸成分表

これまでは「日本食品標準成分表2020年版(八訂)」の本表のみ使用してきましたが,これからは別表についても扱っていきます。上記のうち「可食部100g当たり」と書かれたデータを扱います。それ以外は,栄養計算用のデータとしては性質が異なるため今回は取り扱わないこととします。

ではさっそく,これらのデータをダウンロード・整形していきましょう。

ステップ①:データをダウンロードする

まずはすべての別表のデータをダウンロードします。下記のURLにアクセスし,画像を参照しデータをダウンロードしてください。

ダウンロードする成分表のデータ

なお5つのデータはそれぞれ下記に該当します:

  1. アミノ酸成分表編:第1表可食部100g当たりのアミノ酸成分表
  2. 脂肪酸成分表編:第1表可食部100g当たりの脂肪酸成分表
  3. 炭水化物成分表編:本表可食部100g当たりの炭水化物成分表
  4. 炭水化物成分表編:別表1可食部100g当たりの食物繊維成分表
  5. 炭水化物成分表編:別表2可食部100g当たりの有機酸成分表

データをダウンロードしたら,それを本表と同じフォルダー内においてください。

同じ階層に置く

これにより,インポート時にファイルが見つけやすくなります。

ステップ②:Power Queryでインポートする

次にPower Queryでファイルをインポートします。この連載をご覧の方には,インポートの方法を改めて説明する必要はないですよね?今回ダウンロードした5つのファイルについて,それぞれインポートしてください。

念のため手順のみ再掲すると,①Excelメニューの「データ」→②「データの取得」→③「ファイルから」→「④ブックから」を選択します。

なお5つのファイルについて,それぞれインポートするシート名が異なります(わかりづらいですね)。下記でインポート対象となるシートをまとめておきますので,確認しながら進めてください:

ファイル名別表の種類対象シート名
20201225-mxt_kagsei-mext_01110_022アミノ酸表全体
20201225-mxt_kagsei-mext_01110_032脂肪酸表全体
20201225-mxt_kagsei-mext_01110_042炭水化物表全体
20201225-mxt_kagsei-mext_01110_043食物繊維表全体
20201225-mxt_kagsei-mext_01110_044有機酸表全体

ステップ③:Power Queryでデータを変換する

データをインポートしたら,それぞれのデータを変換します。具体的には,5つのデータすべてについて,下記の作業を行います:

  • 不要な行の削除:それぞれのデータで不要な行を削除します。同時に「成分識別子」の行をヘッダーとして設定できるよう調整します
  • 不要な列の削除:空列やデータの末尾に不要な列が含まれる場合はそれを削除します
  • 適切なデータ型への変換:とくに「索引番号」のデータ型を「整数型」にする点に留意してください

これらの方法の詳細については,下記の記事を参照しながら行ってください:

値の置換はとりあえず必要ありません。すべてのデータを結合した段階でまとめてやってしまいましょう。

ステップ④:クエリ名を編集する

データを書き出す前に,クエリ名を編集します

クエリ名は,初期状態では読み込んだシート名になってしまっています。これだと後々わかりづらくなります。それぞれの別表を識別できるよう変更しましょう。

ステップ②でそれぞれのファイル名と対応する別表の種類を挙げています。これに準じて変更してみてください。

ステップ⑤:Power Queryでデータを書き出す

最後にデータを書き出します。ホーム→「閉じて読み込む」を選択し,保存しましょう。最終的に下記のようになっていれば概ね問題ないかと思います:

最終的な画面

脂肪酸成分表にエラーがでています。これは元データの備考欄にエラーが存在するためです。エラーが1つであれば気にする必要はありません。また,このエラーは計算に影響するものでもないので,とりあえず放置してOKです。

まとめ

今回は,別表のデータをダウンロードし,それを整形する方法について紹介しました。量が多くて大変だったと思いますが,これまでの復習感覚でやってみてください。

次回はこの別表のデータを使用して,別表にしかない食品(本表にはない食品)を抽出する方法を紹介したいと思います。

連載目次

  1. 食品標準成分表をPower Queryで整形する方法【栄養士向け】
  2. 栄養士のためのPower Query基礎知識【できること・メリット】
  3. 栄養士のためのPower Query超入門【インポート・変換・書き出し】
  4. Power Queryで複数のシートを縦に結合する方法
  5. Power Queryで不要な行・列を削除する方法【データクリーニング】
  6. Power Queryで値を置換する方法【完全一致と部分一致】
  7. Power Queryで食品標準成分表の別表のデータを整形する方法現在のページ
  8. Power Queryで特定シートのみに含まれるレコードを抽出する方法
  9. Power Queryで複数のシートを横に結合する方法【クエリのマージ】
  10. Power Queryでファイルパスを相対パスで指定する方法
タイトルとURLをコピーしました