Power BI レポートに翻訳を付ける方法

# はじめに
Power BI では、メニュー、ボタン、メッセージ、その他の UI 要素がユーザーの言語に翻訳されます。 たとえば、Power BI は、自動的に生成されたタイトル、フィルター、ツールヒントなどのレポート コンテンツを翻訳します。 ただし、**テーブル名や列名、中身のデータは自動的には翻訳されません**。
英語ロケールの人が Power BI サービスでレポートを開いたときに、レポートの中身が英語になるように設定する方法を紹介します。

# サポートする言語
## Power BI Desktop
Power BI Desktop を入手するには2 つがあります。スタンドアロン インストーラーとしてダウンロードする方法と、Microsoft ストアからインストールする方法です。

Microsoft ストアから Power BI Desktop をインストールすると、すべての言語 (現在 42 言語) がインストールされ、Windows の既定の言語に対応する言語が既定で表示されます。
毎月の更新が自動で反映されるので、選べるのであればこちらがお勧めです。

Power BI Desktop をスタンドアロン インストーラーとしてダウンロードする場合は、インストーラーを実行するときに既定の言語を選択します。 これは後で変更できます。
ダウンロードページが英語だったとしても、インストールするときに言語を選択できるので、心配いりません。

データをインポートしたり、モデル作成したりするときにも言語が影響します。詳細はこちらを確認してください。

:::note info
[Power BI Desktop にデータをインポートするためのロケールを選択する](https://learn.microsoft.com/ja-jp/power-bi/fundamentals/supported-languages-countries-regions#choose-the-locale-for-importing-data-into-power-bi-desktop)
:::

## Power BI サービス
Power BI サービスは、リンク先にある 44 の言語で提供されています。

:::note info
[Power BI サービスの言語](https://learn.microsoft.com/ja-jp/power-bi/fundamentals/supported-languages-countries-regions#languages-for-the-power-bi-service)
:::

# 翻訳の作り方
「複数言語のレポートを作成する」ためのガイダンスとして複数のドキュメントが公開されていますので、詳細はこちらをご覧ください。

:::note info
[Power BI の複数言語レポートのために翻訳を計画する](https://learn.microsoft.com/ja-jp/power-bi/guidance/multiple-language-translation)
:::

本稿ではこの中の「メタデータ翻訳」について、[Translations Builder](https://github.com/PowerBiDevCamp/TranslationsBuilder/blob/main/Docs/Installation%20Guide.md) という外部ツールを使用して作成する方法を記載します。「メタデータ」というのは、テーブル名、列名、メジャー名を指します。
「メタデータ翻訳」を作成すると、**Power BI サービスで**レポートを閲覧したり編集したりするときに、各ユーザーのロケールに合わせてメタデータが翻訳されて表示されます。この記事では日本語で作成したレポート (データセット) に英語の翻訳を付けていますが、**翻訳を付けていないロケールでのアクセスを想定して、英語のレポートを作ってから各国の翻訳を付ける方が良い**と思います。

- 元の日本語のレポートイメージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/8965ce04-7ed1-5631-6987-3b4d2e84e58b.png)

- 英語(米国) における翻訳されたレポートイメージ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/e4522f9b-726a-2f1a-e714-81f184118112.png)


## Translations Builder のインストール
[GitHub の Translations Builder のページ](https://github.com/PowerBiDevCamp/TranslationsBuilder/blob/main/Docs/Installation%20Guide.md) から、TranslationsBuildrSetup.msi ファイルをダウンロードして、このページのガイドに従って実行し、インストールます。
インストールが完了すると、Power BI Desktop の [外部ツール] メニューに Translations Builder が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/2a6a6da0-3cd4-2da6-44a8-f58125e386a2.png)

## Translations Builder の使い方
実は使い方もドキュメントが用意されています。

:::note
[Translations Builder でレポートに言語を追加する](https://learn.microsoft.com/ja-jp/power-bi/guidance/translation-builder-add-language)
:::

詳細は上記を見ていただくとして、ざっくりとした手順は次の通りです。
1. Power BI Desktop で翻訳を付けたいレポートを開く
1. [外部ツール] から Translations Builder を起動する
1. [Add Language] ボタンをクリックして、開いたダイアログで追加したい言語 (English [en-US]) を選択し [Add Language] ボタンをクリック
1. 各テーブル名、列名、メジャー名に対し、追加した言語の翻訳を入力
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/2bc7043d-341c-fd53-158a-90fb8e8d5e90.png)
1. pbix ファイルを保存して、Power BI サービスに発行
1. Power BI サービスで当該レポートを開き、レポートURLに次のパラメーターを追加して実行し、英語での表示を確認
    ~~~
    ?language=en-US
    ~~~
    (既に他のURLパラメーターがある場合には、「&language=en-US」とする)

# 翻訳されるものとされないもの
部分的に日本語が残っていますが、その理由を説明していきます。
- 英語(米国) における翻訳されたレポートイメージ (再掲)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2668909/e4522f9b-726a-2f1a-e714-81f184118112.png)

## 翻訳されるもの
- テーブル名と、ビジュアルごとに**手動で変更していない** 列名とメジャー名
    - ドーナツグラフの「売上額」メジャーと「数量 の合計」(暗黙のメジャー)
- 各ビジュアルのタイトルで、**既定のまま変更していないもの**
    - ドーナツグラフのタイトル
    - リボングラフとマップのタイトルに日本語が混ざっているのは、「翻訳されないもの」にて説明
- マップ ビジュアルの地図

## 翻訳されないもの
- 「関東地方」などの中身のデータ
- 自動生成された日付階層の列名
    - リボングラフのX軸のタイトル「四半期」、タイトルの「年」と「四半期」
    - こういった点からも「自動の日付階層」機能はオフにして、日付テーブルを用意する方が良いです。
- 各ビジュアルで、手動で変更した部分
    - 日本語で作成するときに、暗黙的なメジャーの集計で「数量 の合計」と表示されるのを嫌って「数量」と書き換えたために、マトリックス内の「数量」が翻訳されていません。 
    - 合計や平均などは暗黙的なメジャーを使用できますが、この点からもメジャーとして定義するのが望ましいです。


また、例では Table の「売上」は「Sales」という翻訳を付けたのですが、Column の「売上」に翻訳を定義していないため、「Sum of 売上」という中途半端な翻訳が発生しています。(「売上額」というメジャーを作成していると、メジャーの基となる列名が翻訳リストに出てこない？？？)

Translations Builder は翻訳をCSV形式でエクスポート/インポート可能なので、翻訳の追加をGUIではなく、ファイルで実行することができます。
エクスポートしたCSVファイルを編集して Column の「売上」の翻訳を追加することもできます。

# まとめ
翻訳したレポートを提供するには、レポート自体を言語ごとに用意したり、言語ごとに列を分けてフィールド パラメーターで選択させたり、様々な方法が考えられると思います。色々試してベストな方法を選択してください。