XMD 1.1 リファレンス
formats セクション
XMD ファイルの formats セクションでは、基準の形式と乗数を指定できます。Amount 基準に対して文字列形式と 1 の乗数を指定する例を次に示します。
1"formats": {
2 "measures": {
3 "Amount": [
4 "$#,##0.00",
5 1
6 ]
7 }
8}measures セクションでカスタム形式を指定することもできます。
1{
2 "field": "Epic_Rank__c",
3 "format": {
4 "customFormat": "[\"\",1]",
5 "decimalDigits": 0
6 },
7 "label": "Epic Rank"
8}labels セクション
- dimensions: ディメンション API 参照名を表示ラベルに対応付けます。
- measures: 基準 API 参照名を表示ラベルに対応付けます。
- measure_filters: ダッシュボードが基準の範囲を表示しているときに使用される表示ラベルを指定します。measures セクションで定義されている名前よりも短い名前を使用するには、measure_filters を設定します。
- keys: ディメンションキーの表示ラベルを指定します。
ユーザインターフェースで使用される表示ラベルに API 参照名を対応付けるコードの例を次に示します。
1"labels": {
2 "dimensions": {
3 "OpportunityId": "Opportunity Id",
4 "*": "Opportunities",
5 "StageName": "Opportunity Stage"
6 },
7 "measures": {
8 "Amount": "Total Amount"
9 },
10 "keys": {
11 "IsClosed": {
12 "true": "Closed",
13 "false": "Open"
14 },
15 "Outcome": {
16 "true": "Won",
17 "false": "Lost"
18 },
19 "Region": {
20 "EU": "Europe",
21 "AP": "AsiaPacific",
22 "US": "UnitedStates"
23 }
24 }
25 }types セクション
拡張メタデータファイルの types セクションでは、ディメンションをグループ化してユーザインターフェースで 1 つのディメンションとして扱われる複合型にすることができます。「Close Date GMT」という型を作成し、日付ディメンションと基準をグループ化するコードの例を次に示します。
1"types": {
2 "Close Date GMT": {
3 "dims": {
4 "day": "CloseDate_Day",
5 "fullField": "CloseDate",
6 "month": "CloseDate_Month",
7 "quarter": "CloseDate_Quarter",
8 "week": "CloseDate_Week",
9 "year": "CloseDate_Year"
10 },
11 "meas": {
12 "epoch_day": "CloseDate_day_epoch",
13 "epoch_second": "CloseDate_sec_epoch"
14 },
15 "type": "date"
16 }
17}colors セクション
拡張メタデータファイルの colors セクションでは、グラフのカスタム色を設定できます。特定の StageName および Region の値の色を設定するコードの例を次に示します。
1"colors": {
2 "StageName": {
3 "5 - Closed-Won": "#4f4",
4 "5 - Closed-Lost": "#f44"
5 },
6 "Region": {
7 "AP": "#fc6",
8 "EU": "#48f",
9 "US": "#f88"
10 }
11 }values_query_columns セクション
拡張メタデータファイルの values_query_columns セクションでは、値テーブルに表示されるデフォルトの列のリストを指定できます。
1"values_query_columns": [
2 "Id",
3 "OpportunityId",
4 "StageName"
5 ]hide_dimensions および hide_measures セクション
hide_dimensions および hide_measures セクションでは、ユーザインターフェースで非表示にするディメンションおよび基準のリストを指定できます。
1"hide_dimensions": [
2 "Owner-Email"
3 ],
4 "hide_measures": [
5 "TotalMRR"
6 ]dimensions セクション
カスタムクイックアクションメニューを作成するには、dimensions セクションを XMD ファイルに追加します。これらのメニューによって、ユーザは Analytics レンズまたはダッシュボード内のテーブルやグラフでディメンション値から次の操作を実行できます。
- Salesforce オブジェクトのアクションを利用する。現在の dimensions 実装では、取引先、ケース、リード、および商談 Salesforce オブジェクトに加えて、作成アクションがサポートされています。Salesforce オブジェクトおよびアクションのサポートの完全なリストについては、Salesforce ヘルプの「カスタムメニューを使用した Salesforce および外部レコードに対するクイックアクションおよびリンクの有効化」の「クイックアクションメニューでのオブジェクトとアクションのサポート」を参照してください。
- Salesforce または HTTP プロトコルか HTTPS プロトコルを使用する Web サイトからレコードにアクセスする。
dimensions セクションは XMD ファイルの最上位 (labels および types セクションと同じレベル) に追加します。
XMD ファイルの dimensions セクションを使用して、メニューにすべてを含めるか、または Salesforce や外部 Web サイトのレコードに対するアクションのサブセットとリンクを含めるかを指定できます。
- アクションとリンクを含むメニューの追加
-
レコードに対するすべての使用可能な作成アクションと 1 つのリンクを含むメニューを追加する dimensions セクションを次に示します。
1{ 2 "dimensions": [ 3 { 4 "field": "Name", 5 "recordIdField": "Id" 6 } 7 ] 8}この例では、"field" はダッシュボードとレンズのグラフおよびテーブルでメニューが表示されるディメンションの名前です。"recordIdField" の設定によって、作成アクションおよびメニュー内のレコードを開くリンクが有効になります。このリンクでは、現在の Salesforce 組織のインスタンスおよび "recordIdField" で指定されたディメンション (この例では "Id") が使用されます。
デフォルトリンク ("/{{row.recordIdField}}") を上書きするには、"linkTemplate" を指定します ("recordIdField" についての詳細は、以下の「Salesforce レコードへのリンクのメニューへの追加」を参照してください)。Google のレコードへのリンクと省略可能なツールチップの例を次に示します。
1"field": "AccountId", 2 "linkTemplate": 3 "http://www.google.com/?q=AccountID={{row.AccountId}} 4 &AccountName={{row.AccountId.Name}}", 5 "recordIdField": "AccountId.Name", 6 "linkTooltip": "Custom AccountId Tooltip for Google"その他に次のオプションがあります。
- "linkTemplateEnabled": デフォルトは true です。Salesforce または外部レコードへのリンクを設定します。false に設定すると、メニューにはレコードを開くリンクオプションが表示されません。
- "salesforceActionsEnabled": デフォルトは true です。アクションを有効にしてメニューに表示します。false に設定すると、メニューにはアクションが表示されません。
- "salesforceActions": ディメンションの特定のアクションのみを含める場合に使用します。"salesforceActions" で指定するアクションは、アクションパブリッシャーを使用して Salesforce のアクションを設定したときに指定したようにレコードで使用可能になっている必要があります。たとえば、次のコードには新規取引先アクションと新規リードアクションが含まれ、"name" はアクションパブリッシャー内のアクションの API 参照名を参照しています。
1"salesforceActions": [ 2 { 3 "name": "APIname" 4 }, 5 { 6 "name": "APIname" 7 } 8 ]一部のインスタンスでは、ディメンション値が複数の ID に関連付けられ、一意ではありません。たとえば、「acme」という名前の商談に複数の商談 ID (およびレコード) がある場合などです。ただし、アクションまたはリンク先に指定できるのは 1 つのレコードのみです。このシナリオでは、関連付けられたレコードの選択肢がモーダルでユーザに表示されます。"recordDisplayFields" の例を次に示します。
1"field": "AccountId.Name", 2 "recordIdField": "AccountId.Id" 3 "recordDisplayFields": ["Case_ID","Account_Name","Case_Owner"]次の画像は、上記の例の "recordDisplayFields" 設定の結果です。

上記を組み合わせた、複数の項目のクイックアクションメニューを含むデータセットの完全な XMD ファイルを次に示します。
1{ 2 "dimensions": [ 3 { 4 "field": "Name", 5 "recordIdField": "Id" 6 }, 7 { 8 "field": "AccountId.Name", 9 "recordIdField": "AccountId.Id", 10 "linkTooltip": "Custom AccountName Tooltip" 11 "recordDisplayFields": ["Name","Owner"] 12 }, 13 { 14 "field": "Case_Subject", 15 "linkTemplate": 16 "http://www.google.com/?q=AccountID={{row.Case_Id}}&AccountName={{row.Case_Owner}}", 17 "recordIdField": "Case_Id", 18 "linkTooltip": "Custom CaseId Tooltip for google" 19 }, 20 { 21 "field": "Id", 22 "salesforceActions": [ 23 { 24 "name": "NewAccount" 25 }, 26 { 27 "name": "NewLead" 28 } 29 ], 30 "recordIdField": "Id", 31 "salesforceActionsEnabled": true, 32 "linkTemplateEnabled": false, 33 "linkTooltip": "Custom Tooltip for Opp Id" 34 } 35 ] 36} - レコードを開くリンクのメニューへの追加
-
XMD ファイルに他の仕様がない場合、レコードを開くリンクをメニューに追加する dimensions セクションは次のようになります。
1{ 2 "dimensions": [ 3 { 4 "field": "dimensionName", 5 "linkTemplate": "/{{row.dimensionNameId}}", 6 "linkTooltip": "Custom Tooltip Text" //optional 7 } 8 ] 9}sこの例では、"field" はダッシュボードやレンズのグラフおよびテーブルでリンクが表示されるディメンションの名前です。"LinkTemplate" はリンク先です。"linkTooltip" は省略可能で、リンクの上にカーソルを置いたときに表示されるテキストを含めることができます。
- Salesforce レコードへのリンクのメニューへの追加
-
現在の組織インスタンス内の Salesforce レコードにリンクするには、"LinkTemplate" を次のように設定します。
1"linkTemplate": "/{{row.Id}}"この例では、/ でリンク先を現在の Salesforce 組織に設定しています。{{row.Id}} はリンク先のレコードです。Id は、Salesforce で検索されるディメンションです。そのため、データセットに存在し、Salesforce で照会されたときに結果を返すディメンション (ID やケース番号など) を指定します。
グラフまたはテーブルには、取引先名 (Acme など) からのリンクが含まれます。Acme の Salesforce 取引先 ID が https://yourInstance.salesforce.com にある Salesforce のインスタンスの 0011a0000040KEz である場合、ユーザが Acme をクリックしたときに生成される URL は https://yourInstance.salesforce.com/0011a0000040KEz です。
- 外部 Web サイトへのリンクのメニューへの追加
-
外部 Web サイトにリンクし、ユーザ名などの情報をリンク先の Web サイトに渡すには、"LinkTemplate" を次のように設定します。
1"linkTemplate": "https://www.ExternalWebsite.com/users/{{row.username}}"この例では、{{row.username}} で外部 Web サイトの URL を介してユーザ名を渡します。たとえば、ユーザ名が dsmith の場合、dsmith をクリックして生成される URL は https://www.ExternalWebsite.com/users/dsmith です。リンクを機能させるには、"LinkTemplate" で "http://{{row.websiteURL}}" または "https://{{row.websiteURL}}" を指定する必要があります。
メニューにレコードを開くリンクを追加する、その他いくつかの例を次に示します。それぞれの例は上記のバリエーションです。
1"dimensions": [ 2 { 3 "field": "Name", 4 "linkTemplate": "/{{row.opportunityid}}", 5 "linkTooltip": "Custom AccountName Tooltip" 6 }, 7 { 8 "field": "AccountName", 9 "linkTemplate": "https://yourInstance.salesforce.com/{{row.AccountId}}" 10 }, 11 { 12 "field": "StageName", 13 "linkTemplate": 14 "http://www.google.com?q={{row.StageName}}" 15 } ]最後の例に示されているように、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 文字形式を使用します。
1"organizations": [
2 {
3 "id": "001i000001AWbWuGTA"
4 "instanceUrl": "https://yourInstance1.salesforce.com",
5 "label": ""
6 },
7 {
8 "id": "00330000000xEftMGH"
9 "instanceUrl": "https://yourInstance2.salesforce.com",
10 "label":""
11 }
12]
13
14"dimensions": [
15 "field": "AccountName"
16 "recordOrganizationIdField": "orgId",
17 "linkTemplate": "{{instanceUrl}}/{{row.Id}}"
18...
19.