クエリの例
次の例では���2 つのクエリを含むダッシュボードを示します。
最初の棒グラフは、SAQL を使用するクエリを含むステップ ("step3") に接続しています。2 番目の棒グラフは、コンパクトフォームクエリを含むステップ ("step2") に接続しています。コンパクトおよび SAQL のどちらのステップにも、"step1" にバインドされる選択条件があります。1 つのグラフをクリックすると、他のグラフが絞り込まれます。
"step3" では、完全な SAQL クエリが "piqgl": 参照内に配置されます。コンパクトクエリ参照の代わりに、SAQL クエリが使用されます。ただし、関連するグラフウィジェットで正しい予測を表示するには、"groups" および "measures" のコンパクトフォーム要素を引き続き指定する必要があります ("grain" タイプのクエリでは、常に "values" を指定します)。この例では、SAQL クエリの 'sum_miles' と 'count' の予測が、基準で [["sum", "miles"], ["count", "*"]] として参照されます。SAQL の基準予測には、集計アンダースコア (_) と基準名 ('sum_miles') が常に含まれるため、コンパクトフォーム "measures": [["sum", "miles"] で参照できます。
SAQL についての詳細は、SAQL リファレンスを参照してください。

1{
2 "steps": {
3 "step1": {
4 "type": "aggregate",
5 "datasets": "airline",
6 "query": {
7 "groups": ["carrier"],
8 "filters": [["dest", ["SFO", "LAX", "ORD", "DFW"]]],
9 "measures": [["count", "*"]],
10 "order": [
11 [
12 -1, {
13 "ascending": false
14 }
15 ]
16 ],
17 "limit": 3
18 }
19 },
20 "step2": {
21 "type": "aggregate",
22 "datasets": "airline",
23 "query": {
24 "groups": ["dest"],
25 "filters": [["carrier", "{{ selection(step1) }}"], ["dest", "{{ filter(step1, 'dest') }}"], ["origin", "{{ filter(step1, 'origin') }}"]],
26 "measures": [["sum", "miles"], ["count", "*"]],
27 "order": [
28 [
29 -1, {
30 "ascending": false
31 }
32 ]
33 ]
34 }
35 },
36 "step3": {
37 "type": "aggregate",
38 "datasets": "airline",
39 "query": {
40 "pigql": "q = load \"airline\";\nq = filter q by 'carrier' in {{ selection(step1) }};\nq = filter q by 'dest' in {{ filter(step1, 'dest') }};\nq = filter q by 'origin' in {{ filter(step1, 'origin') }};\nq = group q by 'dest';\nq = foreach q generate 'dest' as 'dest', sum('miles') as 'sum_miles', count() as 'count';\nq = order q by 'count' desc;",
41 "groups": ["dest"],
42 "measures": [["sum", "miles"], ["count", "*"]]
43 }
44 }
45 },
46 "widgets": {
47 "barchart1": {
48 "type": "ListSelector",
49 "position": {
50 "x": 10,
51 "y": 10,
52 "w": 270,
53 "h": 180
54 },
55 "parameters": {
56 "step": "step1"
57 }
58 },
59 "text2": {
60 "type": "Text",
61 "position": {
62 "x": 310,
63 "y": 10
64 },
65 "parameters": {
66 "text": "chart with pigql step:",
67 "textColor": "#f00"
68 }
69 },
70 "barchart2": {
71 "type": "Chart",
72 "position": {
73 "x": 310,
74 "y": 30,
75 "w": 400,
76 "h": 280
77 },
78 "parameters": {
79 "step": "step2",
80 "chartType": "hbar"
81 }
82 },
83 "text3": {
84 "type": "Text",
85 "position": {
86 "x": 310,
87 "y": 280
88 },
89 "parameters": {
90 "text": "chart with compact form step:",
91 "textColor": "#f00"
92 }
93 },
94 "barchart3": {
95 "type": "Chart",
96 "position": {
97 "x": 310,
98 "y": 300,
99 "w": 400,
100 "h": 280
101 },
102 "parameters": {
103 "step": "step3",
104 "chartType": "hbar"
105 }
106 }
107 }
108}