この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

steps

steps セクションでは、作成され、ダッシュボードにクリップされたすべてのステップが定義されます。プロパティは、ステップがコンパクトフォームまたは SAQL フォームのどちらであるかに基づいて異なります。

コンパクトフォームのステップ

1"steps": {
2    "Product_StageName_1": {
3        "type": "aggregateflex",
4        "visualizationParameters": {
5            "visualizationType": "hbar",
6            "options": {}
7        },
8        "query": {
9            "measures": [
10                [
11                    "sum",
12                    "Amount"
13                ],
14                [
15                    "sum",
16                    "quantity"
17                ]
18            ],
19            "groups": [
20                "Product",
21                "StageName"
22            ],
23            "order": [
24                [-1, { "ascending": false }]
25            ],
26            "aggregateFilters": [[
27                [
28                    "sum",
29                    "Amount"
30                ],
31                [
32                    [
33                        14550720,
34                        58807698
35                    ]
36                ],
37                ">=<="
38            ]]
39        },
40        "isFacet": true,
41        "useGlobal": true,
42        "isGlobal": false,
43        "datasets": [{
44            "name": "Flexy_Sales",
45            "url": "/services/data/v38.0/wave/datasets/0FbB00000000q5gKAA",
46            "id": "0FbB00000000q5gKAA"
47        }]
48    }
49}

SAQL フォームのステップ

ステップが SAQL フォームの場合、各グループと基準がそれぞれ groupsmeasures プロパティでどのように定義されているか、さらに pigql プロパティでどのように定義されているかを確認してください。クエリの他の部分 (filter、limit、order など) は pigql プロパティで 1 回定義するだけで済みます。関連するグラフウィジェットで正しい予測を表示するには、"groups" および "measures" のコンパクトフォーム要素を指定します

また、SAQL クエリの 'sum_Amount''sum_Amount'の予測が、基準で [[ "count", "*", "sum_Amount" ], [ "count", "*", "sum_quantity" ]] として参照されていることを確認してください。SAQL の基準予測には、集計、アンダースコア (_) 、基準名 ('sum_Amount') が常に含まれるため、それらをコンパクトフォーム "measures": [[ "count", "*", "sum_Amount" ], [ "count", "*", "sum_quantity" ]] で参照できます。

1"steps": {
2    "Product_StageName_2": {
3        "type": "aggregateflex",
4        "visualizationParameters": {
5            "options": {}
6        },
7        "query": {
8            "pigql": "q = load \"Flexy_Sales\";\n
9                      q = group q by ('Product', 'StageName');\n
10                      q = foreach q generate 'Product' as 'Product', 
11                                             'StageName' as 'StageName', 
12                                             sum('Amount') as 'sum_Amount', 
13                                             sum('quantity') as 'sum_quantity';\n
14                      q = filter q by 'sum_Amount' >= 14550720 && 'sum_Amount' <= 58807698;\n
15                      q = order q by 'sum_Amount' desc;\nq = limit q 10000;",
16            "measures": [
17                [
18                    "count",
19                    "*",
20                    "sum_Amount"
21                ],
22                [
23                    "count",
24                    "*",
25                    "sum_quantity"
26                ]
27            ],
28            "groups": [
29                "Product",
30                "StageName"
31            ]
32        },
33        "isFacet": true,
34        "useGlobal": true,
35        "isGlobal": false,
36        "datasets": [{
37            "name": "Flexy_Sales",
38            "url": "/services/data/v38.0/wave/datasets/0FbB00000000q5gKAA",
39            "id": "0FbB00000000q5gKAA"
40        }]
41    }
42}

aggregateflex ステップと Wave ダッシュボードデザイナのバインド

1"steps": {
2    "Account_BillingCount_1": {
3        "datasets": [{
4            "id": "0FbB00000000oEkKAI",
5            "label": "Opportunities",
6            "name": "opportunity",
7            "url": "/services/data/v38.0/wave/datasets/0FbB00000000oEkKAI"
8        }],
9        "isFacet": true,
10        "isGlobal": false,
11        "query": {
12            "measures": "{{column(StaticMeasureNames.selection, [\"value\"]).asObject()}}",
13            "limit": "{{column(StaticLimits.selection, [\"value\"]).asObject()}}",
14            "groups": "{{column(StaticGroupingNames.selection, [\"value\"]).asObject()}}",
15            "filters": "{{column(StaticFilters.selection, [\"value\"]).asObject()}}",
16            "order": "{{column(StaticOrdering.selection, [\"value\"]).asObject()}}"
17        },
18        "selectMode": "single",
19        "type": "aggregateflex",
20        "useGlobal": true,
21        "visualizationParameters": {
22            "visualizationType": "hbar",
23            "options": {}
24        }
25    }
26}

aggregate ステップと Classic デザイナのバインド

Classic デザイナのダッシュボードを Wave デザイナに変換する場合、aggregate ステップは aggregateflex に変換されません。このステップは Classic デザイナのバインド構文を引き続き使用します。これは、Wave デザイナの構文とは異なります。Wave デザイナは両方の構文をサポートします。

1"steps": {
2    "step_Account_Name_1": {
3        "isFacet": false,
4        "query": {
5            "pigql": "q = load \"opp\";\n
6                      q = filter q by 'Account-Name' in {{ selection(step_Account_Owner_Name_2) }};\n
7                      q = group q by {{ single_quote(value(selection(step_StageName_3))) }};\n
8                      q = foreach q generate 
9                              {{ single_quote(value(selection(step_StageName_3))) }} as {{ value(selection(step_StageName_3)) }}, 
10                              sum('Amount') as 'sum_Amount', 
11                              count() as 'count'",
12            "groups": "{{ selection(step_StageName_3) }}",
13            "measures": [
14                ["sum", "Amount"]
15            ]
16        },
17        "visualizationParameters": {
18            "visualizationType": "hbar"
19        },
20        "selectMode": "none",
21        "useGlobal": true,
22        "datasets": [{
23            "name": "opp"
24        }],
25        "type": "aggregate",
26        "isGlobal": false
27    }
28}

SAQL クエリの比較テーブルのステップ

この例は、モバイルクライアントの Classic デザイナダッシュボード用の比較テーブルのステップを示します。globalQuery の下の pigql 定義には、この単純な 2 列の比較テーブルを作成するための統合された 1 つの SAQL クエリが含まれます。

クエリを含むダッシュボードのスクリーンショット
1"compare_2": {
2    "isFacet": true,
3    "isGlobal": false,
4    "selectMode": "single",
5    "type": "multi",
6    "useGlobal": true,
7    "start": null,
8    "datasets": [
9        {
10            "name": "Honeywell_Recent_Deals1"
11        }
12    ],
13    "visualizationParameters": {
14        "visualizationType": "comparisontable"
15    },
16    "columns": [
17        {
18            "header": "Sum of LeadScore",
19            "query": {
20                "measures": [
21                    [
22                        "max",
23                        "LeadScore"
24                    ]
25                ],
26                "groups": [
27                    "Industry"
28                ]
29            },
30            "showBars": true
31        },
32        {
33            "header": "Avg of LeadScore",
34            "query": {
35                "measures": [
36                    [
37                        "avg",
38                        "LeadScore"
39                    ]
40                ],
41                "groups": [
42                    "Industry"
43                ]
44            },
45            "showBars": false
46        }
47    ],
48    "globalQuery": {
49        "pigql": "q = load \"Honeywell_Recent_Deals1\"; q = group q by 'Industry'; q = filter q by 'Industry' in [\"Consumer\",\"Fin Svcs\",\"Mfg\",\"High Tech\",\"Healthcare\",\"Prof Svcs\"];  q = foreach q generate 'Industry' as 'Industry', avg('LeadScore') as 'avg_LeadScore', sum('LeadScore') as 'sum_LeadScore'; q = limit q 2000;"
50    }
51},

この比較テーブルには次の制限があります。

  • +、-、*、/、( ) の機能のみが含まれます。
  • モバイルデバイスでは、列レベルで SAQL が使用されません。グローバル SAQL 定義がサポートされます。または、各列からコンパクトフォームを使用します。
  • モバイルデバイスでは、比較テーブルが参照のみとなります。

メモ

SAQL についての詳細は、SAQL リファレンスを参照してください。