ドキュメント · リファレンス
XLSX と CSV のファイル形式
ラウンドトリップ用ブックのスキーマ。カルチャごとに 1 シート、Daxlate が読み戻す列構成、行が取り込まれる条件を説明します。
最終更新:
Daxlate は翻訳を XLSX(ClosedXML 経由)または CSV(CsvHelper 経由)として
エクスポートします。レポートのレイヤーを持つファイルはモデルとレポート
の 2 枚のシート(または .model.csv と .report.csv の組)を書き出し、モデル
だけのファイルはモデルのレイヤーのみを書き出します。このページではまずモデルの
シートを詳しく説明し、そのあとレポートのシートを説明します。
モデルシートの構成 #
モデルのワークシート名は Model です(レイヤーが 1 つだけだった以前のビルド
の書き出しでは Translations でした)。行の構成は次のとおりです。
| 行 | 内容 |
|---|---|
| 1 | セル A1 のスキーマバージョンの目印(Daxlate/1.0、斜体、グレー) |
| 2 | ヘッダー行。太字、ベージュの背景 |
| 3 以降 | 翻訳対象オブジェクトごとに 1 行 |
ヘッダー行は固定されるので、翻訳者がスクロールしても列名が見えたままです。 最初の 4 列も固定されるので、カルチャーの列を右へたどっても同一性を示す列が 見えたままになります。
列 #
まず固定の情報列が 4 つ並びます。
| 列 | 備考 |
|---|---|
Object ID | インポート時の同一性キー。編集しないでください。 |
Type | Table、Column、Measure、Hierarchy、Level のいずれか。 |
Parent | 親オブジェクトの名前(例: メジャーが属するテーブル)。 |
Name | モデル内でのオブジェクト名(既定のカルチャーのキャプション)。 |
続いて、モデル内のカルチャーごとに 2 列が並びます。
Caption ({culture}) Description ({culture})
モデルの既定のカルチャーの列には背景の網掛けが入り、どれが基準の列かがすぐに 分かります。
この 2 列のどちらが書き出されるかは、エクスポート時点のグリッドの表示 切り替えに従います。キャプションならキャプション列のみ、説明なら説明 列のみ、両方なら両方です。どのモードでも、説明がまだ無いものも含めて オブジェクトごとに 1 行が出力されます。
Object ID の規則 #
Daxlate は、オブジェクトの種類と修飾名から ID を組み立てます。
| 種類 | 形式 | 例 |
|---|---|---|
| テーブル | t.{Name} | t.Sales |
| 列 | c.{Table}.{Name} | c.Sales.Revenue |
| メジャー | m.{Table}.{Name} | m.Sales.Total Revenue |
| 階層 | h.{Table}.{Name} | h.Date.Calendar |
| 階層レベル | {HierarchyId}.l{Ordinal} | h.Date.Calendar.l1 |
モデル内でオブジェクトの名前を変えると ID も変わります。再インポート時、 未知の Object ID を持つ行はプレビューのダイアログで警告として示され、スキップ されます。インポートが黙って捨てることはありません。
スキーマバージョン #
XLSX のセル A1(または CSV の 1 行目のコメント)にスキーマバージョンが入ります。
読み込み側は、メジャーバージョンがより新しいファイルを明確な警告とともに拒否し、
目印が無いファイルは後方互換のため 1.0 として扱います。バージョン管理を入れる
前に書き出したファイルのためです。
現在の目印は Daxlate/1.0 です。列の追加はマイナー(新しい列は警告付きで無視
されます)、互換性を壊す変更(例: Object ID の規則の変更)はメジャーとして
上げます。
レポートシート #
レポートのレイヤーを持つファイルでは、Report という 2 枚目のシートが
レポートキャンバスのテキスト(ビジュアルのタイトル、ヘッダー、ボタン、テキスト
ボックス)を持ちます。こちらは横長で翻訳者に扱いやすい形です。テキスト要素
ごとに 1 行、言語ごとに Value ({culture}) の 1 列という構成で、モデルシートの
キャプションと説明の組とは異なります。おかげで翻訳者は 1 行の中で 1 つの文字列の
全言語を埋められます。インポートは内容からモデルシートか、レポートシートか、
2 枚組のブックかを判別し、対応するレイヤーに適用します。
ディスク上では、レポートの翻訳はファイルの隣にファイル単位の伴走ファイル
{file}.daxlate.csv として置かれます。Power BI が更新時に読む実働の CSV です。
モデルの翻訳は .pbit の中にあり、そのコピーはエクスポートから取得でき
ます。レポートビジュアルを翻訳するを参照
してください。
CSV の構成 #
CSV は同じ列構成をカンマ区切りで使います。1 行目にはスキーマの目印がコメントと して入ります。
# Daxlate/1.0
Object ID,Type,Parent,Name,Caption (en-US),Description (en-US),Caption (fr-FR),Description (fr-FR)
t.Sales,Table,,Sales,Sales,,Ventes,
c.Sales.Revenue,Column,Sales,Revenue,Revenue,,Chiffre d'affaires,
Excel でダブルクリックして開けるよう、BOM 付き UTF-8 と CRLF の改行を使います。
空のセル #
空のセルは**「まだ翻訳していない」**という意味で、インポート時に手を付けずに 残されます。既存の翻訳を消すことはありません。これは XLIFF、gettext、主要な翻訳 プラットフォームと同じ挙動なので、途中まで埋めたファイルを返しても、翻訳者が まだ手を付けていない行が消えることはありません。インポートのプレビューには、 いくつの空セルを飛ばしたかが表示されます。翻訳を削除するには、グリッドで空に するか、カルチャーのドロップダウンから言語を外してください。再インポートの 全体の流れは Excel ラウンドトリップを参照して ください。