1. CSVの文字化けが起きる「本当の理由」
Power BIにCSVを取り込んだら、日本語が「???」になったり、記号のような文字が混ざったりして読めなくなる。いわゆる「power bi csv 文字化け」でよくあるトラブルです。結論から言うと、ほとんどのケースはCSVの文字コード(UTF-8、Shift-JISなど)と、Power BI(Power Query)が読み込もうとしている文字コードが一致していないことが原因です。
この記事では、文字化けが起きる理由をできるだけかみ砕いて説明したうえで、Power BI Desktopの取り込み画面とPower Query(Mコード含む)の両方で、正しい文字コードに合わせる具体的な手順をまとめます。フォルダー結合(複数CSVをまとめて取り込み)や、更新で突然文字化けするケースの対策まで一通りカバーします。
2. よくある文字コードのパターン(日本語CSV)
現場でよく見るのは、だいたいこの3つです。
(1) Shift-JIS(CP932)
-
昔からの業務システム、Windowsアプリ、Excelの「CSV(コンマ区切り)」で保存
-
日本語Windowsで「ANSI」扱いになることが多い
-
Power BI側がUTF-8前提で読むと崩れることがある
(2) UTF-8(BOMあり)
-
Excelの「CSV UTF-8(コンマ区切り)」で保存した場合など
-
ファイルの先頭に目印(BOM)が付く
-
読み込み側が自動判定しやすく、比較的事故が少ない
(3) UTF-8(BOMなし)
-
Webサービスやプログラム出力で多い
-
BOMがないので、読む側が誤判定すると文字化けする
-
Power BIの取り込み設定が合っていないと崩れやすい
補足として、UTF-16(Unicode)で出力されるCSVもまれにあります。これは見分けがつきやすい一方で、取り込み側の設定を合わせないとやはり化けます。
3. まず確認:そのCSVはUTF-8?Shift-JIS?
最短で確実なのは、「Power BIのプレビューで文字が正しく見える設定を探す」ことです。とはいえ、事前にあたりを付けるだけでも早く解決できます。
手がかり1:どこで作ったCSVか
-
Excelの通常保存(CSV)→ Shift-JISの可能性が高い
-
Excelで「CSV UTF-8」を選んだ → UTF-8(BOMあり)の可能性が高い
-
Webからダウンロード、API出力、SaaSのエクスポート → UTF-8の可能性が高い
-
昔からある基幹系、会計、販売管理など → Shift-JISの可能性が高い
手がかり2:Power BIの先頭列名だけ変な文字になる
先頭の列名の前に見慣れない文字が混ざったり、列名が微妙におかしい場合は、UTF-8(BOMあり)を別の文字コードで読んでしまっている可能性があります。列名が「名前」みたいになるパターンは典型例です(目印のBOMが変な文字として扱われている状態)。
手がかり3:同じフォルダー内のCSVで、正しいものと化けるものが混在
これは「ファイルごとに文字コードが違う」可能性が高いです。後半で、混在時の回避策も紹介します。
4. 取り込み時に直す(Power BI Desktopのテキスト/CSV)
まず、いちばん簡単で効果が高いのが、取り込み画面で「ファイルの起点(文字コード)」を正しく選ぶ方法です。
手順
-
Power BI Desktopを開く
-
ホーム → データの取得 → テキスト/CSV を選ぶ
-
対象のCSVファイルを選択
-
プレビュー画面が出たら、「ファイルの起点」または「エンコード/文字コード」を確認
-
日本語が化けていたら、候補を切り替えてプレビューが正常になるものを選ぶ
-
Unicode (UTF-8)
-
Japanese (Shift-JIS) または 932(環境によって表示が違います)
-
-
プレビューが正常になったら、読み込み もしくは データの変換 を選ぶ
ポイント
-
この段階で正しく表示されるなら、そのまま読み込みでも改善することが多い
-
ただし「フォルダー結合」や、後でPower Queryのステップを書き換える場合は、Power Query側の設定も確認が必要です
5. すでに取り込んだ後に直す(Power Queryで設定を修正)
「読み込んだ後に気づいた」「更新したら化けた」という場合は、Power Queryエディターでソース設定を見直します。
手順(基本)
-
Power BI Desktop → 変換データ(Power Queryエディターを開く)
-
左のクエリ一覧から、文字化けしているテーブルを選択
-
右側の「適用したステップ」を見る
-
先頭付近の「ソース」ステップの歯車アイコン(設定)を開く
-
文字コードの選択肢があれば、UTF-8 / Shift-JISを切り替える
-
プレビューで正しく表示される方に合わせてOK
ここで歯車が出ない、または設定項目に文字コードがない場合があります。そのときは「詳細エディター」でMコードを直接確認します。
6. Mコードで確実に固定する(Encodingの指定)
Power Queryは内部でM言語というコードで処理しています。CSV読み込みがMで書かれている場合、Encoding(文字コード)を明示すると安定します。
代表的な考え方
-
UTF-8は
Encoding=65001 -
Shift-JIS相当(Windows日本語のCP932)は
Encoding=932
この指定をしておくと、Power BIが勝手に推測して外す事故を減らせます。
例:UTF-8で読む(65001)
let
Source = Csv.Document(
File.Contents("C:\data\sample.csv"),
[
Delimiter = ",",
Encoding = 65001,
QuoteStyle = QuoteStyle.Csv
]
)
in
Source
例:Shift-JISで読む(932)
let
Source = Csv.Document(
File.Contents("C:\data\sample.csv"),
[
Delimiter = ",",
Encoding = 932,
QuoteStyle = QuoteStyle.Csv
]
)
in
Source
重要ポイント
-
Delimiter(区切り文字)がカンマ以外(タブ、セミコロン等)の場合もあるので、文字化けだけでなく列ズレがあるならDelimiterも疑ってください
-
QuoteStyleが合っていないと、ダブルクォート内の改行やカンマで崩れることがあります。文字化けと同時に起きると判断が難しいので、まずは文字コードを合わせ、その次に区切りや引用符を疑うのが順序として安全です
7. フォルダー結合(複数CSV)で文字化けする場合の直し方
「フォルダーから」取り込んで複数CSVを結合する運用では、文字化けが特に起きやすいです。理由は、結合処理の中で「サンプルファイル」を元に変換関数が作られ、そこでの文字コード設定が全ファイルに適用されるためです。
症状
-
結合後のテーブルで一部の列だけ日本語が崩れる
-
ある月のファイルだけ化ける
-
更新したら急に化ける(新しく入ったファイルの文字コードが違う)
対策の手順(考え方)
-
Power Queryで「フォルダー」取り込みのクエリを確認
-
「サンプル ファイル」や「サンプル ファイルの変換」「変換されたサンプル ファイル」といった名前のクエリが自動生成されているはずです
-
そのサンプル側のCSV読み込みステップを開き、Encodingを正しい値に直す
-
可能ならMコードでEncodingを固定する
-
これで、結合時の全ファイル読み込みがその文字コードで統一されます
さらに大事な実務ポイント
-
フォルダー内のCSVの文字コードが混在していると、どれかに合わせた瞬間に別のファイルが化けます
-
混在が避けられないなら、次の章の「フォールバック読み込み」を検討してください
8. 文字コードが混在しているときの現実的な回避策
理想は「すべてUTF-8に統一」ですが、現実には、取引先や既存システムの都合でShift-JISが混ざることがあります。その場合は、次のどちらかが現実的です。
回避策A:取り込み前に文字コードを統一する
-
フォルダーに入る時点でUTF-8に変換しておく
-
運用として一番安定し、更新事故も減ります
-
Power BI側のクエリがシンプルになります
回避策B:Power Queryで「まずUTF-8、ダメならShift-JIS」のように読む
Power QueryのMでは try ... otherwise を使えます。完全自動判定ではありませんが、現場での救済策として機能します。
let
Bin = File.Contents("C:\data\sample.csv"),
TryUtf8 = try Csv.Document(Bin, [Delimiter=",", Encoding=65001, QuoteStyle=QuoteStyle.Csv]),
Source = if TryUtf8[HasError]
then Csv.Document(Bin, [Delimiter=",", Encoding=932, QuoteStyle=QuoteStyle.Csv])
else TryUtf8[Value]
in
Source
注意点
-
この方法は「読めるけど文字が崩れている」ケースを完全には検知できません(エラーにならずに化ける場合があるため)
-
それでも、少なくとも読み込みエラーで止まるケースを減らせるので、混在が疑われるときの応急処置になります
-
最終的には、データ提供側での統一が最も堅いです
9. 更新で突然文字化けする理由と、事故を減らす運用
「昨日まで正常だったのに、今日の更新で化けた」という相談は多いです。典型パターンは次のとおりです。
パターン1:新しく出力されたCSVの文字コードが変わった
-
担当者がExcelの保存形式を変えた
-
システム改修でUTF-8になった(またはShift-JISに戻った)
-
CSV出力ツールの設定が初期化された
パターン2:同じCSVでも、作り方によって文字コードがぶれる
-
Excelで「CSV」と「CSV UTF-8」を使い分けてしまう
-
手作業の変換ツールを挟んで、途中で文字コードが変わる
事故を減らす運用のコツ
-
取り込み側(Power Query)でEncodingを固定しておく(推測に任せない)
-
フォルダー運用なら「入れるCSVの形式をルール化」し、文字コードも明記する
-
可能なら「UTF-8(BOMあり)」に統一する(自動判定が効きやすく、人の手戻りが減る)
-
月次・日次でファイルを追加する運用は、追加ファイルが混在しやすいので、投入前チェックを習慣化する
10. 文字化けに見えて、実は別問題なケース(切り分け)
最後に、文字化けと間違えやすい問題を整理します。ここを切り分けると、解決が早くなります。
(1) 列がずれる、改行が変になる
-
原因:区切り文字(Delimiter)が違う、引用符(ダブルクォート)処理が合っていない
-
対策:DelimiterやQuoteStyleを見直す
-
文字化けと同時に起きていると混乱するので、まず文字コード、次に区切りの順で確認
(2) 一部だけ記号になる、特定の人名だけ崩れる
-
原因:機種依存文字、外字、環境依存の文字が含まれている
-
対策:元データで使用文字を制限する、置換ルールを作る、別の表記に統一する
-
UTF-8/Shift-JISを合わせても残る場合は、この可能性が高い
(3) Power BI Desktopでは正常、サービス更新後だけ崩れる
-
原因:更新時のファイル参照先が変わっている、あるいは更新対象ファイルが別物
-
対策:更新で読んでいるファイルの実体(場所・ファイル名・生成方法)を確認し、文字コードを固定する
-
フォルダー内の最新ファイルだけ読む運用は、想定外の混在が起きやすいので注意
11. まとめ:最短で直すチェックリスト
最後に、現場で迷いにくい順番でまとめます。
-
取り込み画面のプレビューで、ファイルの起点(文字コード)をUTF-8/Shift-JISで切り替え、正しく見える方を選ぶ
-
すでに取り込んだなら、Power Queryのソース設定(歯車)で文字コードを修正する
-
歯車がない、または運用を安定させたいなら、MコードでEncodingを明示(UTF-8は65001、Shift-JIS相当は932)
-
フォルダー結合なら、サンプルファイル側の変換クエリでEncodingを直し、全体に適用する
-
混在が疑われる場合は、取り込み前に文字コード統一が最優先。難しいときだけ
try ... otherwiseのフォールバックを検討する
CSVの文字化けは、原因が分かれば対処はシンプルです。ポイントは「Power BIに推測させない」「運用で文字コードを統一する」の2つ。これだけで、更新のたびに化けるストレスが大幅に減ります。
もし困り事があるなら、まずは無料相談を
「DAX 関数が多すぎてどれを使えばいいか分からない」「複雑なロジックを組みたいけれど、エラーが出て解決できない」「会社全体で DAX を学習したい」など、Power BI やデータ活用でお悩みの方はぜひお気軽にご相談ください。
もし困り事があるなら、まずは無料相談はこちら
コンサルサービスの詳細や成功事例なども合わせてご紹介いたします。
社内にデータ活用のノウハウや専門人材が十分いない場合でも、弊社が伴走しながら最短ルートで成果を出せるようサポートいたします。
セミナーで学ぶ!DAX 関数の実践スキル
📊 Power BIでより効率的なレポート作成を!
Power BIハンズオンセミナー初級編では、短時間でデータモデリングのノウハウを学び、ビジネスに活かせるレポート作成を実践形式で習得できます。
- 少人数制のため、定員になり次第締切!
👉 セミナー詳細を今すぐチェック
📈 Power BIスキルを次のレベルへ!
DAX 関数 × データモデル設計 で、複雑なデータ分析やレポート作成もスムーズに!
Power BIハンズオンセミナー中級編 なら、実践形式で学べるから即戦力に。
業務効率をアップし、社内での評価を高めるチャンス!
- 今こそスキルアップのタイミング!
👉 詳細はこちら
DAX を使いこなすことで、Power BI の真価を最大限に引き出し、より高度な分析をスムーズに進めることができます。実践的な知識を身につけて、組織のデータドリブンな文化をリードしましょう。
コメント