パワークエリの「データ型の変更」コマンドのサムネイル
AさんAさん

Power Queryエディター起動直後、日付の列に時刻まで表示されてしまいます。。
この場合、どうしたら良いですか?

森田森田

かなり「あるある」なケースですね。
その場合、Power Queryエディター上の「データ型の変更」コマンドを使えば良いですよ!
では、詳細を解説していきますね。

Excelステップ講座

解説動画:【パワークエリ#6】データクレンジング基本テクニック13選 – 元データを綺麗にするための不備修正の作業を自動化する

この記事の内容は下記の動画でも解説しています。

コメント欄の「データ型の変更」コマンドの部分をクリックすると該当の解説へジャンプできますよ!

はじめに

この記事はパワークエリの概要を把握していることが前提です。

参考記事

パワークエリの概要については、以下の記事をご参照ください。

「データ型の変更」の使いどころ

「データ型の変更」コマンドは、クエリの新規作成ステップのうち、STEP2の「取得データを整形/加工(Transform)」に該当する機能です。

「データ型の変更」コマンドのスコープ

機能自体は、ワークシート上の関数の「VALUE」「DATEVALUE」「TIMEVALUE」等と似ています。

Power Queryエディターの場合、エディターを起動時、あるいは列の分割やピボット等の特定コマンド実行後に、データ型の設定誤りや設定なしの列が発生する場合があります。

よって、クエリ内の一連の整形作業の中で、列の見た目の値とデータ型の不一致を修正したい場合に「データ型の変更」コマンドを使いましょう。
データ型とは、データ自体の種類を指し、ワークシート上の表示形式と異なる(表示形式はデータの見た目のみを変更する機能)。

「データ型の変更」コマンドの使いどころ

「データ型の変更」コマンドを活用することで、指定した列の各値のデータ型をすべて変換することが可能です。

参考記事

ワークシート上の関数の「VALUE」、「DATEVALUE」、「TIMEVALUE」の詳細は、以下の記事をご参照ください。



【参考】Power Queryエディター上のデータ型一覧

Power Queryエディター上で設定できるデータ型は以下の通りです。

Power Queryエディター上のデータ型一覧

分類 データ型 意味 エディター上の表示例
数値 10進法 小数点以下を含む数値 123.456789
通貨 小数点4桁までの数値 12,345.6789
整数 整数の数値
※小数点なし
12345
パーセンテージ パーセンテージ表記の数値
※10進法と同じ数値
12.3%
日付/時刻 日付/時刻 日付+時刻 2024/04/01 9:00:00
日付 日付のみ 2024/01/01
時刻 時刻のみ 9:00:00
日付/時刻/タイムゾーン 日付+時刻+タイムゾーン 2024/04/01 9:00:00 +9:00
期間 2つの日付/時刻の差異
※d.hh:mm:ss
91.09:00:00
文字列 テキスト 文字列 サンプル
論理値 True/False TRUEまたはFALSEの論理値 TRUE
その他 バイナリ ファイルや画像等のバイナリデータ

データ型が指定されていない状態(「ABC」と「123」の両方が記載されたアイコン)もある。

小数点以下が含まれる数値データの場合、小数点以下の扱いをどこまで正確にするかでデータ型を使い分けると良いです。

というのも、小数点以下のデータを保持する「10進法」よりも「通貨」や「整数」の方が、最終的なデータ量は小さくなるからです。

つまり、数値の正確性とデータ量はトレードオフの関係になるため、ケースバイケースで必要な精度を見定めて最適なデータ型を選択しましょう。

使用イメージ

「更新日」列を対象に「データ型の変更」コマンドを使用し、データ型を「日付/時刻」→「日付」へ変換したイメージが以下です。

「データ型の変更」コマンドの使用イメージ

Power Queryエディター上で「変更された型」ステップを正しい内容で上書きできました。
「データ型の変更」コマンドの場合、デフォルトのステップ名は「変更された型」になる(クエリ内で2つ目以降の「変更された型」ステップは連番が付加)。

今回はすでに「変更された型」ステップがあったため、正しい内容に上書きしましたが、別に新規のステップ(変更された型1)を追加することも可能です(詳細は、後述の「ステップ登録手順」を参照)。

後は、クエリ新規作成ステップのSTEP2で必要な他ステップを登録したら、STEP3を行いましょう。

これにより、クエリに記録した「データ型の変更」コマンドのステップを自動化できます。
「データ型の変更」コマンドのステップ登録後、データ型の変換対象の列名を変更すると、クエリ更新時にエラーになるため注意(対処法は、後述の「登録したステップの変更手順」を参照)。

参考記事

クエリの新規作成ステップのSTEP2に役立つ各種コマンドの詳細は「パワークエリ(Power Query)の記事一覧」を、STEP3の手順はパワークエリの概要記事をご参照ください。


ステップ登録手順

「データ型の変更」コマンドのステップを登録したい場合、対象の列が単一か複数かで手順が異なります。

対象の列が単一の場合

対象の列が単一の場合、以下の手順となります。

「データ型の変更」コマンドのステップ登録手順(単一の列)

  1. データ型を変換したい列のデータ型アイコンをクリック
    ※今回は「更新日」列
  2. 任意のデータ型を選択
    ※今回は「日付」
  3. 登録するステップを選択
    ※今回は「既存のものを置換」

手順①は、対象の列の見出し(ヘッダー)上で右クリック→「型の変更」でもOK。
手順③は、「列タイプの変更」ダイアログが起動された場合のみ(直前のステップが「変更された型」の場合に起動)。
手順③は、「既存のものを置換」を選択すると既存の「変更された型」ステップを上書きし、「新規手順の追加」を選択すると新たに「変更された型1」ステップを追加する。
※クエリ内の「変更された型」ステップの数により連番部分は変化。

対象の列が複数の場合

対象の列が複数の場合、以下の手順となります。

「データ型の変更」コマンドのステップ登録手順(複数の列)

  1. データ型を変換したい列を選択
    ※今回は「更新日」・「更新日2」列
  2. 列の見出し(ヘッダー)上で右クリック
  3. 「型の変更」をクリック
  4. 任意のデータ型を選択
    ※今回は「日付」
  5. 登録するステップを選択
    ※今回は「既存のものを置換」

手順①は、連続する列は「Shift」キーを押しながら「←」・「→」キー、離れた列は「Ctrl」キーを押しながら別の列名をクリックで複数列を選択すると効率的。
手順②③は、リボン「ホーム」タブか「変換」タブを選択→「データ型の変更」コマンドをクリックでもOK(両方のタブに同じコマンドがある)。
手順⑤は、「列タイプの変更」ダイアログが起動された場合のみ(直前のステップが「変更された型」の場合に起動)。
手順⑤は、「既存のものを置換」を選択すると既存の「変更された型」ステップを上書きし、「新規手順の追加」を選択すると新たに「変更された型1」ステップを追加する。
※クエリ内の「変更された型」ステップの数により連番部分は変化。

登録したステップの変更手順

「データ型の変更」コマンドで登録したステップの対象列を後から変更する場合、既存のステップを選択し、「データ型の変更」コマンドのステップを再登録して上書きすればOKです。

具体的な手順は以下の通りです。

「データ型の変更」コマンドのステップ変更手順

  1. 該当の「変更された型」ステップを選択
  2. 再度「データ型の変更」コマンドのステップ登録手順を実行
  3. 「挿入」をクリック
  4. 登録するステップを選択
    ※今回は「既存のものを置換」

手順①のステップ名は、「データ型の変更」コマンドのデフォルトの名前(自身でリネームしている場合は別表記)。
手順③は、後続のステップがない場合は表示なし。
手順④は、「新規手順の追加」を選択すると後続のステップへ影響する場合あり。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_PowerQueryデータ整形_データ型の変更.xlsx

サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります(上記リンクから登録フォームへ遷移します)。

ブックを開いたら、「商品マスタ(データ型の変更)」クエリを編集(Power Queryエディター起動)し、次の手順を実施してください(今までの解説のまとめです)。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリック。

  1. データ型を変換したい列のデータ型アイコンをクリック
    ※今回は「更新日」列
  2. 任意のデータ型を選択
    ※今回は「日付」
  3. 登録するステップを選択
    ※今回は「既存のものを置換」

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

「データ型の変更」コマンドは、指定した列の各値のデータ型をすべて変換できます。

データ型の不一致の修正もデータクレンジングのオーソドックスな処理の1つであり、Power Queryエディター上でトップクラスに利用頻度が高いため、マスト中のマストとして覚えましょう!

なお、パワークエリの各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。


また、よりコアな情報を発信していくために「公式LINE」を開始しましたので、ご興味があれば以下バナーから友だち追加をお願いします!
特典として、Excelワークシート関数一覧(計22スライド)やExcelショートカットキー一覧(計25スライド)等をプレゼント!

森田貢士の公式LINEへの友だち追加告知用バナー

ご参考になれば幸いですm(_ _)m

森田森田

「データ型の変更」コマンドは、クエリの読み込み後のテーブルの表示形式まで制御できるわけではありません。
よって、表示形式はワークシート上に読み込んだテーブル上で別途設定する必要があります。
必要に応じて、表示形式を設定してください。