拡張メタデータ (XMD) リファレンス
formats セクション
XMD の変更および更新についての情報は、XMD 2.0 セクションを参照してください。
拡張メタデータファイルの formats セクションでは、基準の形式と乗数を指定できます。Amount 基準に対して文字列形式と 1 の乗数を指定したコードの例を次に示します。
数値形式についての詳細は、『Wave Analytics 外部データ形式リファレンス』の「数値形式」を参照してください。
labels セクション
- dimensions: ディメンション API 参照名を表示ラベルに対応付けます。
- measures: 基準 API 参照名を表示ラベルに対応付けます。
- measure_filters: ダッシュボードが基準の範囲を表示しているときに使用される表示ラベルを指定します。measures セクションで定義されている名前よりも短い名前を使用するには、measure_filters を設定します。
- keys: ディメンションキーの表示ラベルを指定します。
ユーザインターフェースで使用される表示ラベルに API 参照名を対応付けるコードの例を次に示します。
types セクション
拡張メタデータファイルの types セクションでは、ディメンションをグループ化してユーザインターフェースで 1 つのディメンションとして扱われる複合型にすることができます。「Close Date GMT」という型を作成し、日付ディメンションと基準をグループ化するコードの例を次に示します。
colors セクション
拡張メタデータファイルの colors セクションでは、グラフのカスタム色を設定できます。特定の StageName および Region の値の色を設定するコードの例を次に示します。
values_query_columns セクション
拡張メタデータファイルの values_query_columns セクションでは、値テーブルに表示されるデフォルトの列のリストを指定できます。
hide_dimensions および hide_measures セクション
hide_dimensions および hide_measures セクションでは、ユーザインターフェースで非表示にするディメンションおよび基準のリストを指定できます。
dimensions セクション
カスタムクイックアクションメニューを作成するには、dimensions セクションを XMD ファイルに追加します。これらのメニューによって、ユーザは Wave レンズまたはダッシュボード内のテーブルやグラフでディメンション値から次の操作を実行できます。
- Salesforce オブジェクトのアクションを利用する。現在の dimensions 実装では、取引先、ケース、リード、および商談 Salesforce オブジェクトに加えて、作成アクションがサポートされています。Salesforce オブジェクトおよびアクションのサポートの完全なリストについては、Salesforce ヘルプの「カスタムメニューを使用した Salesforce および外部レコードに対するクイックアクションおよびリンクの有効化」の「クイックアクションメニューでのオブジェクトとアクションのサポート」を参照してください。
- Salesforce または HTTP プロトコルか HTTPS プロトコルを使用する Web サイトからレコードにアクセスする。
dimensions セクションは XMD ファイルの最上位 (labels および types セクションと同じレベル) に追加します。
XMD ファイルの dimensions セクションを使用して、メニューにすべてを含めるか、または Salesforce や外部 Web サイトのレコードに対するアクションのサブセットとリンクを含めるかを指定できます。
- アクションとリンクを含むメニューの追加
-
レコードに対するすべての使用可能な作成アクションと 1 つのリンクを含むメニューを追加する dimensions セクションを次に示します。
この例では、"field" はダッシュボードとレンズのグラフおよびテーブルでメニューが表示されるディメンションの名前です。"recordIdField" の設定によって、作成アクションおよびメニュー内のレコードを開くリンクが有効になります。このリンクでは、現在の Salesforce 組織のインスタンスおよび "recordIdField" で指定されたディメンション (この例では "Id") が使用されます。
デフォルトリンク ("/{{row.recordIdField}}") を上書きするには、"linkTemplate" を指定します ("recordIdField" についての詳細は、以下の「メニューへの Salesforce レコードへのリンクの追加」を参照してください)。Google のレコードへのリンクと省略可能なツールチップの例を次に示します。
その他に次のオプションがあります。
- "linkTemplateEnabled": デフォルトは true です。Salesforce または外部レコードへのリンクを設定します。false に設定すると、メニューにはレコードを開くリンクオプションが表示されません。
- "salesforceActionsEnabled": デフォルトは true です。アクションを有効にしてメニューに表示します。false に設定すると、メニューにはアクションが表示されません。
- "salesforceActions": ディメンションの特定のアクションのみを含める場合に使用します。"salesforceActions" で指定されたアクションは、アクションパブリッシャーを使用して Salesforce のアクションを設定するときにレコードで使用可能になっている必要があります。たとえば、次のコードには新規取引先アクションと新規リードアクションが含まれ、"name" はアクションパブリッシャー内のアクションの API 参照名を参照しています。
一部のインスタンスでは、ディメンション値が複数の ID に関連付けられ、一意ではありません。たとえば、「acme」という名前の商談に複数の商談 ID (およびレコード) がある場合などです。ただし、アクションまたはリンク先に指定できるのは 1 つのレコードのみです。このシナリオでは、モーダルで関連付けられたレコードの選択肢がユーザに表示されます。"recordDisplayFields" の例を次に示します。
次の画像は、上記の例の "recordDisplayFields" 設定の結果です。

上記を組み合わせた、複数の項目のクイックアクションメニューを含むデータセットの完全な XMD ファイルを次に示します。
- メニューへのレコードを開くリンクの追加
-
XMD ファイルに他の仕様がない場合、メニューにレコードを開くリンクを追加する dimensions セクションは次のようになります。
この例では、"field" はダッシュボードやレンズのグラフおよびテーブルでリンクが表示されるディメンションの名前です。"LinkTemplate" はリンク先です。"linkTooltip" は省略可能で、リンクの上にカーソルを置いたときに表示されるテキストを含めることができます。
- メニューへの Salesforce レコードへのリンクの追加
-
現在の組織インスタンス内の Salesforce レコードにリンクするには、"LinkTemplate" を次のように設定します。
この例では、/ でリンク先を Salesforce 組織に設定しています。{{row.Id}} はリンク先のレコードです。Id は、Salesforce で検索されるディメンションです。そのため、データセットに存在し、Salesforce でクエリされたときに結果を返すディメンション (ID やケース番号など) を指定します。
グラフまたはテーブルには、取引先名 (Acme など) からのリンクが含まれます。Acme の Salesforce 取引先 ID が 0011a0000040KEz にある Salesforce のインスタンスの https://yourInstance.salesforce.com である場合、ユーザが Acme をクリックしたときに生成される URL は https://yourInstance.salesforce.com/0011a0000040KEz です。
- メニューへの外部 Web サイトへのリンクの追加
-
外部 Web サイトにリンクし、ユーザ名などの情報をリンク先の Web サイトに渡すには、"LinkTemplate" を次のように設定します。
この例では、{{row.username}} で外部 Web サイトの URL を使用してユーザ名を渡します。たとえば、ユーザ名が dsmith の場合、dsmith をクリックして生成された URL は https://www.ExternalWebsite.com/users/dsmith です。リンクを機能させるには、"LinkTemplate" で "http://{{row.websiteURL}}" または "https://{{row.websiteURL}}" を指定する必要があります。
メニューにレコードを開くリンクを追加する、その他いくつかの例を次に示します。それぞれの例は上記のバリエーションです。
最後の例に示されているように、XMD ファイルには任意の静的 URL を指定できます。ただし、URL は http:// または https:// で始まる必要があります。動的な値を挿入するには、{{row.}} 表記を使用できます。
organizations セクション
複数の Salesforce 組織インスタンスからのレコードを組み合わせたデータセットでは、XMD ファイルで organizations セクションを指定すると、正しい組織インスタンスの特定のレコードへのリンクを作成できます。
organizations セクションは XMD ファイルの最上位 (dimensions セクションと同じレベル) に追加します。このガイド内の「dimensions セクション」の「メニューへの Salesforce レコードへのリンクの追加」で説明されているように、特定のディメンションで "linkTemplate" を追加して Salesforce レコードへのリンクを作成します。"linkTemplate" と同時に "recordOrganizationIdField" を使用して、メニューを定義するデータセットの OrgId ディメンションを "linkTemplate" で検索することを示します。
"recordOrganizationIdField" を設定すると、"linkTemplate" で XMD の organizations セクションが検索されます。XMD ファイルの organizations セクションでは、データセットのレコードで参照される各 Salesforce 組織インスタンスのインスタンス URL と orgId を対応付けます。
その結果、ユーザが該当リンクをクリックしたときに、organizations セクションの対応付けによってリンクがレコードの正しい URL に解決されます。
organizations セクションの例を次に示します。各組織��� ID は 18 文字形式を使用します。
XMD 2.0
いくつかの XMD 要素が変更され、いくつかの動作も変更されました。Salesforce の開発サークルでは、これらの変更は XMD 1.1 に対して XMD 2.0 として参照されます。
主な変更点は、XMD が JSON ファイルではなく BPO (Base Platform Object: ベースプラットフォームオブジェクト) に保存されるようになったことです。API がこのオブジェクトに対して動作するため、XMD API エンドポイントを使用して XMD ディレクトリを操作できます。
ユーザは以前として JSON ファイルのダウンロードとアップロードを行って独自の変更を有効にすることができます。XMD はその場で変換されます。ただし、この変更には副次的影響もあります。
- XMD はデータセットのバージョンごとに保存されます。
- system XMD は、main.json がアップロードされたとき、または旧バージョンのデータフローで API 経由で GET コールが実行されたときに生成されます。
以前と同様に、main タイプの XMD は、system と user をマージすることで作成されます。user XMD ファイルを変更して、Wave Analytics の多くのダッシュボード要素の形式をカスタマイズできます。
これはどのような意味を持つのでしょうか?
次の表で、XMD 要素の変更点について説明します。変更点のほとんどは新規要素ですが、名前が変更された既存の要素もいくつかあります。これらの要素を使用している場合は、XMD を更新してください。
| 要素 | 次のレベルの要素 | 次のレベルの要素 | 型 | メモ |
|---|---|---|---|---|
| dimensions | description | String | 新規。ディメンションの説明。 | |
| fullyQualifiedName | String | 新規。ディメンションの完全修飾名。 | ||
| origin | String | 新規。このディメンションの発生源。 | ||
| dateFormat | String | 新規。これを使用して、日付を読みやすい形式で表示します。 | ||
| isMultiValue | Boolean | 新規。ディメンションが複数値であるかどうかを示します。 | ||
| imageTemplate | String | 新規。画像テンプレートの名前。 | ||
| customActionsEnabled | Boolean | 新規。ディメンションでカスタムアクションが有効になっているかどうかを示します。 | ||
| customActions | List | 新規。このディメンションにリンクされているカスタムアクション。 | ||
| name | String | 新規。アクションの名前。 | ||
| url | String | 新規。アクションの URL。 | ||
| icon | String | 新規。アクションのアイコン。 | ||
| tooltip | String | 新規。アクションのツールチップ。 | ||
| target | String | 新規。アクションのターゲット。 | ||
| method | String | 新規。アクションのメソッド。 | ||
| enabled | Boolean | 新規。特定のディメンションに対してアクションが有効になっているかどうかを示します。 | ||
| sfdcActions | List | salesforceActions に名前変更されました。 | ||
| sfdcActionsEnabled | Boolean | salesforceActionsEnabled に名前変更されました。 | ||
| measures | description | String | 新規。基準の説明。 | |
| fullyQualifiedName | String | 新規。基準の完全修飾名。 | ||
| origin | String | 新規。基準の発生源。 | ||
| dateFormat | String | 新規。基準である日付に使用される書式。 | ||
| format | List | 既存。 | ||
| prefix | String | 新規。項目値の前に置かれるプレフィックス。 | ||
| unit | String | 新規。基準の単位文字列 (「cm」など)。 | ||
| suffix | String | 新規。項目値の後に置かれるサフィックス。 | ||
| decimalDigits | Integer | 新規。小数点の後に表示される桁数。 | ||
| negativeParens | Boolean | 新規。負の数値をマイナス記号を使用するのではなく括弧内に表示するかどうかを示します。 | ||
| unitMultiplier | Double | 新規。単位乗数。 | ||
| dates | label | String | 新規。日付列の表示ラベル。 | |
| compact | Boolean | 新規。日付がコンパクトとして表示されるかどうか。 | ||
| description | String | 新規。日付列の説明。 | ||
| showInExplorer | Boolean | 新規。日付がエクスプローラで表示されるかどうか。 | ||
| fiscalMonthOffset | Integer | 新規。カレンダー年に対する会計年度のオフセット (月数)。 | ||
| isYearEndFiscalYear | Boolean | 新規。1 年の終わりが会計年度であるかどうか。 | ||
| firstDayOfWeek | Integer | 新規。週の開始曜日として何を使用するか。 | ||
| dataset | connector | String | 新規。データセットのコネクタソース。 | |
| fullyQualifiedName | String | 新規。データセットバージョンの完全修飾名。 | ||
| origin | String | 新規。このデータセットバージョンのソースを表す発生源。 | ||
| description | String | 新規。データセットの説明。 |