🔧 STEP 29: データの取り込みと変換
実践的なデータクリーニング!現場で使える変換テクニック
📋 このステップで学ぶこと
- 列の削除と名前変更(応用テクニック)
- データ型の種類と変更方法
- 行のフィルタリング(条件フィルター含む)
- 重複の削除と一意の値の抽出
- 値の置換と表記の統一
- 空白値・エラー値の処理方法
ゴール:実務で必要なデータクリーニングを自在に行えるようになる
🗑️ 1. 列の削除(応用編)
不要な列を効率的に削除する
データには、分析に不要な列(メモ欄、内部ID、システム情報など)が含まれていることが多いです。効率的に削除する方法を学びましょう。
| 方法 | 操作手順 | 適した場面 |
|---|---|---|
| 1列ずつ削除 | 列ヘッダーを右クリック→「削除」 | 削除する列が1〜2個の時 |
| 複数列を一度に削除 | Ctrlキー+クリックで複数選択→右クリック→「削除」 | 削除する列が複数ある時 |
| 他の列の削除 | 残したい列を選択→右クリック→「他の列の削除」 | 残す列が少ない時(最も効率的) |
| 状況 | 推奨方法 |
|---|---|
| 100列から5列だけ残したい | 5列を選択→「他の列の削除」(95列削除より楽!) |
| 100列から95列残したい | 5列を選択→「列の削除」(通常の削除) |
| 必要な列が明確に決まっている | 必要な列を選択→「他の列の削除」 |
| 操作 | キー操作 | 結果 |
|---|---|---|
| 複数列を個別選択 | Ctrl + クリック | 離れた列を複数選択 |
| 連続した列を選択 | Shift + クリック(最初と最後) | 間のすべての列が選択 |
| すべての列を選択 | Ctrl + A | 全列が選択される |
🔤 2. 列名の変更(応用編)
わかりやすい列名に変更する
元データの列名は英語や略称であることが多いです。日本語のわかりやすい名前に変更して、分析しやすくしましょう。
| 方法 | 操作手順 | 備考 |
|---|---|---|
| ダブルクリック | 列ヘッダーをダブルクリック→新しい名前を入力 | 最も簡単 |
| 右クリック | 列ヘッダーを右クリック→「名前の変更」 | メニューから |
| F2キー | 列を選択してF2キー→新しい名前を入力 | キーボード派向け |
| ルール | 悪い例 | 良い例 |
|---|---|---|
| 日本語でOK | sales_amount | 売上金額 |
| 具体的に書く | 金額 | 売上金額、利益金額 |
| 単位を含める | 売上 | 売上金額(円) |
| 略語を避ける | amt、qty、dt | 金額、数量、日付 |
| 記号を避ける | 売上!@# | 売上金額 |
| 元の列名 | 変更後 | 備考 |
|---|---|---|
| customer_id | 顧客ID | IDは残してOK |
| order_date | 注文日 | 日本語に |
| product_name | 商品名 | 日本語に |
| qty | 数量 | 略語を展開 |
| unit_price | 単価(円) | 単位も追加 |
| total_amt | 合計金額(円) | 略語を展開+単位 |
🔢 3. データ型の変更
正しいデータ型を設定する重要性
データ型が正しく設定されていないと、計算ができなかったり、グラフが正しく表示されません。特に数値とテキスト、日付の設定は重要です。
| データ型 | アイコン | 用途 | 例 |
|---|---|---|---|
| テキスト | ABC | 文字列(計算不可) | 商品名、住所、顧客ID |
| 整数 | 123 | 小数なしの数値 | 数量、年齢、個数 |
| 10進数 | 1.2 | 小数ありの数値 | 売上金額、価格、平均値 |
| 通貨 | $ | 金額(固定小数点4桁) | 売上、利益、コスト |
| 日付 | 📅 | 日付のみ | 2024-01-15 |
| 日付/時刻 | 📅🕐 | 日付と時刻 | 2024-01-15 14:30:00 |
| True/False | ✓/✗ | ブール値 | アクティブ、完了フラグ |
| パーセント | % | 割合 | 達成率、成長率 |
| 手順 | 操作内容 |
|---|---|
| 1 | 列ヘッダーの左側にあるデータ型アイコン(ABC、123など)をクリック |
| 2 | ドロップダウンから適切なデータ型を選択 |
| 3 | 変換が実行される(エラーがあれば「Error」と表示) |
| 問題 | 原因 | 解決策 |
|---|---|---|
| カンマ付き数値が計算できない | “1,234”がテキストになっている | 「10進数」に変更 |
| 日付でソートできない | “2024/01/15″がテキスト | 「日付」に変更 |
| 顧客IDの先頭0が消える | “001”が整数1になる | 「テキスト」のままにする |
| 金額の計算結果がおかしい | 小数点以下の丸め誤差 | 「通貨」型を使用 |
| 国・地域 | 日付形式 | 例 |
|---|---|---|
| 日本 | 年/月/日 | 2024/01/15 |
| アメリカ | 月/日/年 | 01/15/2024 |
| ヨーロッパ | 日/月/年 | 15/01/2024 |
設定方法:列を右クリック→「型の変更」→「ロケールを使用」→データ型とロケールを指定
🔍 4. 行のフィルタリング
必要なデータだけを抽出する
フィルタリングは、条件に合う行だけを表示する機能です。不要なデータを除外して、分析対象を絞り込みましょう。
| フィルター種類 | 使い方 | 例 |
|---|---|---|
| 値の選択 | チェックボックスで値を選択/解除 | 「東京都」「大阪府」のみ選択 |
| テキストフィルター | 文字列の条件で絞り込み | 「iPhone」を含む商品 |
| 数値フィルター | 数値の条件で絞り込み | 売上100万円以上 |
| 日付フィルター | 日付の条件で絞り込み | 2024年のデータのみ |
| 条件 | 意味 | 例 |
|---|---|---|
| 次の値に等しい | 完全一致 | 「東京都」と完全一致 |
| 次の値で始まる | 先頭が一致 | 「東」で始まる |
| 次の値で終わる | 末尾が一致 | 「県」で終わる |
| 次の値を含む | 部分一致 | 「iPhone」を含む |
| 次の値を含まない | 部分不一致 | 「テスト」を含まない |
| 条件 | 意味 | 例 |
|---|---|---|
| 次の値に等しい | = 値 | 売上 = 100000 |
| 次の値より大きい | > 値 | 売上 > 100000 |
| 次の値以上 | >= 値 | 売上 >= 100000 |
| 次の値より小さい | < 値 | 売上 < 100000 |
| 次の値以下 | <= 値 | 売上 <= 100000 |
| 次の値の範囲内 | 値1 <= x <= 値2 | 売上が10万〜100万の間 |
| 条件の種類 | 設定方法 | 例 |
|---|---|---|
| AND条件(かつ) | 複数のフィルターを順番に適用 | 東京都 かつ 売上100万円以上 |
| OR条件(または) | 1つのフィルターで複数の値を選択 | 東京都 または 大阪府 |
🔄 5. 重複の削除
重複データを整理する
データに重複があると、集計結果が狂ってしまいます。重複を削除して、クリーンなデータにしましょう。
| 方法 | 操作 | 判定基準 |
|---|---|---|
| すべての列で判定 | ホームタブ→行の削除→重複の削除 | 全列の値が完全一致する行を削除 |
| 特定の列で判定 | 列を選択→右クリック→重複の削除 | 選択した列の値が一致する行を削除 |
| 手順 | 操作内容 |
|---|---|
| 1 | 重複判定に使いたい列を選択(例:顧客ID列) |
| 2 | 右クリック→「重複の削除」 |
| 3 | 選択した列の値が重複している行が削除される(最初の行は残る) |
| 方法 | 操作 |
|---|---|
| 重複の保持 | ホームタブ→行の保持→重複の保持(重複している行のみ表示) |
| クエリを複製 | クエリを右クリック→複製→複製したクエリで削除をテスト |
🔁 6. 値の置換
表記の揺れを統一する
同じ意味なのに表記が異なるデータ(「東京」「東京都」「tokyo」など)は、分析の障害になります。置換機能で統一しましょう。
| 手順 | 操作内容 |
|---|---|
| 1 | 置換したい列を選択 |
| 2 | 変換タブ→「値の置換」(または右クリック→「値の置換」) |
| 3 | 「検索する値」に置換前の値を入力 |
| 4 | 「置換後」に置換後の値を入力 |
| 5 | OK をクリック |
| カテゴリ | 置換前 | 置換後 |
|---|---|---|
| 都道府県 | 東京、tokyo、Tokyo | 東京都 |
| 性別 | 男、M、male、Male | 男性 |
| ステータス | active、有効、1 | アクティブ |
| 会社名 | (株)、(株) | 株式会社 |
| 置換対象 | 検索する値 | 置換後の例 |
|---|---|---|
| NULL値 | null と入力 | 0、「未設定」、「-」 |
| 空白文字列 | 空欄のまま | 0、「未設定」、null |
nullと空白の違い:null=データが存在しない、空白=データは存在するが値が空(””)
⚠️ 7. 空白値・エラーの処理
データの欠損を適切に処理する
空白やエラーを放置すると、計算結果がおかしくなったり、グラフが正しく表示されません。適切に処理しましょう。
| 方法 | 操作 | 削除対象 |
|---|---|---|
| 完全に空白の行を削除 | ホームタブ→行の削除→空白行の削除 | すべての列が空白の行 |
| 特定列が空白の行を削除 | 列の▼→フィルター→「(空白)」のチェックを外す | 指定列が空白の行 |
| 処理方法 | 操作 | 使用場面 |
|---|---|---|
| エラー行を削除 | 列の▼→フィルター→「Error」のチェックを外す | エラー行が不要な場合 |
| エラー値を置換 | 変換タブ→エラーの置換→置換後の値を入力 | エラーを別の値(0、null等)に |
| エラー行のみ表示 | 列の▼→フィルター→「Error」のみチェック | エラー原因の調査時 |
| 方法 | 操作 | 効果 |
|---|---|---|
| フィルダウン(下方向) | 列を選択→変換タブ→塗りつぶし→下 | 空白セルに上の値をコピー |
| フィルアップ(上方向) | 列を選択→変換タブ→塗りつぶし→上 | 空白セルに下の値をコピー |
| デフォルト値で埋める | 値の置換でnullまたは空白を希望の値に | 固定値(0、「不明」等)で埋める |
【フィルダウン前】 【フィルダウン後】 地域 売上 地域 売上 ───── ───── ───── ───── 東京 100 東京 100 (空白) 150 ← 空白 東京 150 ← 埋まった! (空白) 200 ← 空白 東京 200 ← 埋まった! 大阪 300 大阪 300 (空白) 250 ← 空白 大阪 250 ← 埋まった! ※ Excelの結合セルを解除した時によく発生するパターン
📝 STEP 29 のまとめ
- 列の削除:複数列の選択、「他の列の削除」で効率化
- 列名の変更:わかりやすい日本語名に
- データ型:数値、日付、テキストを正しく設定
- フィルタリング:値選択、条件フィルター、複数条件
- 重複削除:特定の列で判定、削除前に確認
- 値の置換:表記の統一、NULL・空白の処理
- 空白・エラー処理:削除、置換、フィルダウン
データクリーニングは分析の8割を占めると言われます。
Power Queryでの変換は、一度設定すれば自動で繰り返し実行されるため、丁寧に設定する価値があります。
特にデータ型の正確な設定とNULL・空白の適切な処理は、後の分析の質を大きく左右します!
📝 実践演習
サンプルデータを読み込み、①不要な列を3つ削除、②残った列の名前をわかりやすく変更、③数値列のデータ型を確認・修正してください。
| ①不要な列を削除 | Ctrlキーを押しながら3つの列を選択→右クリック→「削除」 |
| ②列名の変更 | 各列ヘッダーをダブルクリック→日本語名に変更(例:Amount→売上金額) |
| ③データ型の修正 | 列ヘッダー左のアイコンをクリック→適切な型を選択(数値列は「10進数」や「整数」) |
| ④完了 | ホームタブ→「閉じて適用」 |
以下の問題を解決してください:①「東京」「東京都」「tokyo」をすべて「東京都」に統一、②売上が0円の行を削除、③顧客IDの重複を削除
| ①表記の統一 | [地域]列を選択→変換タブ→値の置換→「東京」→「東京都」→OK、同様に「tokyo」→「東京都」 |
| ②売上0円の削除 | [売上金額]列▼→数値フィルター→次の値より大きい→「0」→OK |
| ③重複の削除 | [顧客ID]列を選択→右クリック→「重複の削除」 |
💡 ポイント:大文字小文字を区別しないので「Tokyo」「TOKYO」も一緒に置換されます
実際の業務データを想定して、総合的なデータクリーニングを実施してください:①不要な列・行の削除、②データ型の修正、③NULL・空白の処理、④表記の統一、⑤フィルタリング
| 作業 | 具体的な操作 |
|---|---|
| ①列・行の整理 | 不要な列(メモ欄等)を削除、空白行を削除、ヘッダー行が複数ある場合は上位行を削除 |
| ②データ型の修正 | 金額→通貨/10進数、数量→整数、日付→日付型(ロケール確認)、ID→テキスト |
| ③NULL・空白処理 | 必須項目がNULLの行を削除、任意項目は「未設定」に置換、金額のNULLは0に |
| ④表記の統一 | 都道府県名、性別、ステータスなどの表記を統一 |
| ⑤フィルタリング | 対象期間でフィルター、有効データのみ抽出、異常値(売上マイナス等)を除外 |
💡 チェックポイント:列の品質確認、行数確認、データプレビュー、ステップ名をわかりやすく変更
❓ よくある質問
フィルターは後から解除できますが、行の削除は元に戻せません(ただし「適用したステップ」を削除すれば戻せます)。
一時的に絞り込みたい場合はフィルター、完全に不要な行は削除を使います。
特に顧客IDや商品コードなど、数字だけで構成されているが数値ではないものは、自動で「整数」になってしまいます。
これは「テキスト」に変更しましょう。先頭の0が消えてしまう問題も防げます。
NULL=「データが存在しない」、空白=「データは存在するが値が空」という違いがありますが、Power BIでは基本的にNULLで統一する方がDAX計算などで扱いやすくなります。
空白をNULLに変換するには、値の置換で空欄→nullに置換します。
または、Ctrl+Zで元に戻せます。重複削除は取り返しがつかない操作なので、実行前に必ず「重複の保持」で確認することをおすすめします。
心配な場合は、クエリを複製してからテストしましょう。
「大文字と小文字を区別する」にチェックを入れると、「Tokyo」と「tokyo」を別々に置換できます。
デフォルトでは区別しないため、すべて一括で置換されます。
・ステップ名をダブルクリックして、「都道府県名の統一」などわかりやすい名前に
・試行錯誤で不要になったステップは削除
・関連する操作はまとめて行う(列の削除はまとめて、など)
ステップ数が多いとパフォーマンスに影響することもあります。
最初の行が空白だと埋まりません。最初の行に値があることを確認してください。
また、フィルダウンは選択した列にのみ適用されます。複数列に適用したい場合は、Ctrlキーで複数列を選択してからフィルダウンを実行してください。
学習メモ
BIツール入門 - Step 29