...

Wave Analytics ダッシュボード JSON ガイド

by user

on
Category: Documents
20

views

Report

Comments

Transcript

Wave Analytics ダッシュボード JSON ガイド
Wave Analytics ダッシュボー
ド JSON ガイド
バージョン 36.0, Spring ’16
@salesforcedocs
最終更新日: 2015/12/17
本書の英語版と翻訳版で相違がある場合は英語版を優先するものとします。
© Copyright 2000–2016 salesforce.com, inc. All rights reserved. Salesforce およびその他の名称や商標は、salesforce.com,
inc. の登録商標です。本ドキュメントに記載されたその他の商標は、各社に所有権があります。
目次
第 1 章: Wave Analytics ダッシュボード JSON の概要 . . . . . . . . . . . . . . . . . . . . . . . . 1
第 2 章: ダッシュボード JSON ファイルの表示または変更 . . . . . . . . . . . . . . . . . . . 2
第 3 章: ダッシュボード JSON ファイルの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
第 4 章: ステップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
静的ステップ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
第 5 章: ウィジェット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
ウィジェットパラメータのプロパティリファレンス . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
第 6 章: Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
クエリの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
比較テーブルの例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
第 7 章: バインド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
静的ステップでの選択バインド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
静的検索条件およびグループセレクタのクエリへのバインド . . . . . . . . . . . . . . . . . . . . 46
日付ピッカーおよび静的日付のバインド . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
バインド操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
第 8 章: レイアウト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
ダッシュボードのモバイルレイアウトの使用 . . . . . . . . . . . . . . .
モバイルレイアウトの列、行、およびセルのサイズ設定について
レイアウトの仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
レイアウト属性の参照 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
59
60
62
69
第1章
Wave Analytics ダッシュボード JSON の
概要
ダッシュボードを定義する JSON を変更することによって Wave Analytics の高度なダッ
シュボードを作成します。デザイナを使用すると、ダッシュボードをきわめて簡単
に設計できます。ただし、JSON ファイルを編集することによって、ダッシュボード
をさらにカスタマイズできます。
次のようなタスクを行う場合にはダッシュボードの JSON ファイルを変更します。
• SAQL クエリを指定し、クエリと他のステップ間のリレーションを指定する。
• クエリからではなく、指定した値のリストでセレクタを設定する。
• 手動バインドを使用してデフォルトの facet を上書きし、ステップ間のリレーショ
ンを手動で指定する。
• クエリ制限を設定する。
• 値テーブルの列を指定する。
• ダッシュボードのレイアウトを絶対からモバイルに変更する。
1
第2章
ダッシュボード JSON ファイルの表示ま
たは変更
通常、高度なダッシュボードを作成するには、ダッ
シュボードを定義する JSON ファイルを変更します。
エディション
JSON エディタにはレンズまたはダッシュボードの JSON
が表示され、実行中のアセットでの編集の効果をすば
やく確認できます。
使用可能なエディション:
Salesforce Classic および
Lightning Experience
メモ: JSON エディタは、
https://your_Salesforce_instance/insights/web/lens.apexp
のツールに代わるものです。Spring '16 リリースで
開くか、作成または保存したレンズとダッシュ
ボードには、lens.apexp ページではなく JSON
エディタを使用してください。以前のリリースの
レンズまたはダッシュボードはどちらでも編集で
きますが、Spring '16 リリースで保存した後は、
lens.apexp ページに表示されなくなります。
1. JSON エディタにアクセスするには、編集するレン
ズまたはダッシュボードを開き、Ctrl+E キー (PC) ま
たは CMD+E キー (Mac) を押します。
使用可能なエディション:
Developer Edition
有料オプションで使用可
能なエディション:
Enterprise Edition、
Performance Edition、およ
び Unlimited Edition
ユーザ権限
ダッシュボードを定義す
る JSON ファイルを変更す
るには、以下の手順に
従ってください。
• 「Wave Analytics ダッ
シュボードの作成およ
び編集」
2. [JSON を再読み込み] ボタンが使用可能な場合は、
クリックすると、現在実行中のレンズまたはダッ
シュボードが読み込まれます。
[JSON を再読み込み] により、現在実行中のレンズ
またはダッシュボードのコードが読み込まれます。
このボタンは、エディタの JSON が実行中の JSON と
一致しない場合は常に使用できます。最初にエディタを開いたときに、この状態
になる場合があります。
3. エディタで JSON を変更します。関数の編集や検索には標準のキーボードショー
トカットを使用できます。
4. エクスプローラに戻り、JSON への編集がレンズまたはダッシュボードにどう表示
されるかを確認するには、[ランタイムに切り替え] をクリックします。
重要: [ランタイムに切り替え] により、実行中のレンズまたはダッシュボー
ドの JSON がエディタの JSON で上書きされます。
5. 編集を保持するには、レンズまたはダッシュボードを保存します。JSON で行った
変更内容はレンズまたはダッシュボードを明示的に保存するまで保存されませ
ん。
JSON エディタでは、次のショートカットを使用して、基本的な操作をキーボードか
ら実行できます。
2
ダッシュボード JSON ファイルの表示または変更
JSON エディタのキーボードショートカッ 説明
ト
CRTL+3 (Windows); CMD+3 (Mac)
ランタイムからの JSON の読み込み
CRTL+X (Windows); CMD+X (Mac)
切り取り
CRTL+C (Windows); CMD+C (Mac)
コピー
CRTL+V (Windows); CMD+V (Mac)
貼り付け
CRTL+Z (Windows); CMD+Z (Mac)
元に戻す
SHIFT+CRTL+Z (Windows); SHIFT+CMD+Z (Mac) やり直し
CRTL+F (Windows); CMD+F (Mac)
検索 (正規表現、大文字小文字の区別、
完全一致検索を使用できます)
CRTL+E (Windows); CMD+E (Mac)
ランタイムへの切り替え
3
第3章
ダッシュボード JSON ファイルの例
ダッシュボード JSON ファイルでは、ダッシュボードに含まれるコンポーネントを定
義し、それらの接続方法を記述します。
このサンプル JSON ファイルは、グラフウィジェットを使用してデータセットの行数
を項目 (取引先所有者) でグループ化して表示する単純なダッシュボードを定義しま
す。"AccountOwner_Owner_Name_6" という 1 つのレンズと "chart_7" という 1
つのウィジェットを定義します。"datasets" セクションでは、ダッシュボードで
使用されるデータセットをリストします。レイアウトセクションでは、1 ページ、1
行、1 列のモバイルレイアウトを指定します。
{
"label":"Simple Dashboard",
"state":{
"steps":{
"AccountOwner_Owner_Name_6":{
"isFacet":true,
"isGlobal":false,
"query":{
"measures":[["count","*"]],
"groups":["AccountOwner.Owner.Name"]},
"selectMode":"single",
"type":"aggregate",
"useGlobal":true,
"start":null,
"datasets":[{"name":"Opportunities"}],
"visualizationParameters":{"visualizationType":"hbar"}}},
"widgets":{
"chart_7":{
"type":"chart",
"position":{"zIndex":6,"x":0,"y":20,"w":"410","h":"300"},
"parameters":{
"step":"AccountOwner_Owner_Name_6",
"visualizationType":"hbar"}}},
"layouts":{
"default":{
"page:0":["chart_7"]}},
"datasets":[{
"id":"0FbR000000000O3KAI",
"name":"Opportunities"}]}
}
4
第4章
トピック:
•
静的ステップ
ステップ
steps セクションには、エクスプローラからクリップしたクエリが含まれていま
す。
各ステップには、JSON ファイルの別の場所で定義されたウィジェットにリンクする
ために使用される名前が付いています。
ダッシュボード JSON ファイルのステップセクションのプロパティは、次のとおりで
す。
項目名
説明
datasets
このステップで使用するデータセットの別名。
visualizationParameters
ステップに関する視覚化の詳細。例:
"visualizationParameters":
"visualizationType":"hbar"
visualizationType の有効値は次のとおりです。
• calheatmap — カレンダーヒートマップ
• comparisontable — 比較表
• hbar — 横棒
• hdot — 横方向のドットプロット
• heatmap — ヒートマップ
• matrix — マトリックス
• parallelcoords — 平行座標
• pie — ドーナツ
• pivottable — ピボットテーブル
• scatter — 散布図
• stackhbar — 積み上げ横棒
• stackvbar — 積み上げ縦棒
• time — タイムライン
• valuestable — 未加工データテーブル
• vbar — 縦棒
• vdot — 縦方向のドットプロット
isFacet
[データセット] 項目で指定されたのと同じデータセットを参照す
るクエリにグローバル検索条件およびファセット検索条件を適用
するかどうかを示します。検索条件を適用する場合は true に設
定します。そうでない場合は false を指定します。
5
ステップ
項目名
説明
メモ: SAQL クエリが複数のデータセットに基づいている場
合、[データセット] 項目で指定されたデータセットのみが
ファセットされます。
isGlobal
クエリで指定された検索条件がグローバル検索条件として使用さ
れるか (true)、否か (false) を示します。グローバル検索条件で
は、useGlobal プロパティが true に設定され同じデータセッ
トを参照する、ダッシュボードの他のすべてのステップが絞り込
まれます。
メモ: isGlobal は、(SAQL ではなく) コンパクトフォームク
エリでのみ動作します。
query
ステップで使用するクエリ。SAQLまたはコンパクトフォームが有
効です。
selectMode
選択操作を決定します。グラフ用のオプションは、none、
single、singlerequired です。リストおよび切り替えセレク
タ用のオプションは、single、singlerequired、multi、
multirequired です。
selectMode は、数値、未加工データ、比較、範囲、日付、グ
ローバル検索条件ウィジェットでは使用できません。
start
ステップのデフォルトの開始値。この値は、ダッシュボードが初
期化または更新されるときに使用されます。
type
種別は、grain、aggregate、multi、または static に設定で
きます。
useGlobal
ステップでダッシュボードのグローバル検索条件を使用するか
(true)、否か (false) を示します。
メモ: useGlobal は、(SAQL ではなく) コンパクトフォーム
クエリでのみ動作します。
6
ステップ
静的ステップ
静的ステップ
クエリからではなく、指定された静的な値のリストからセレクタを入力することもできます。
次の例は、静的ステップを示します。この静的ステップは絞り込みに使用されますが、グループ、基準、並び
替え順、制限用に静的ステップを作成することもできます。
"steps": {
"step_static_1": {
"type": "static",
"dimensions": "Stages",
"datasets": "opp",
"values": [
{
"display": "1",
"value": "1",
"measure": 100000
}, {
"display": "2",
"value": "2",
"measure": 200000
}, {
"display": "3",
"value": "3",
"measure": 300000
}, {
"display": "4",
"value": "4",
"measure": 400000
7
ステップ
静的ステップ
}, {
"display": "5",
"value": "5",
"measure": 500000
}
],
"selectMode": "single"
},
詳細は、「静的ステップでの選択バインド」を参照してください。
8
第5章
トピック:
•
ウィジェットパラ
メータのプロパ
ティリファレンス
ウィジェット
widgets セクションでは、ダッシュボードに表示されるウィジェットを定義しま
す。各ウィジェットには名前があります。
ダッシュボード JSON ファイルの widgets セクションのプロパティは、次のとおりで
す。
項目名
説明
parameters
ウィジェットのパラメータは、ウィジェットのタイプによって異
なります。ウィジェットが関連付けられるステップは、その step
要素によって定義されます。各種パラメータについての詳細は、
「ウィジェットパラメータのプロパティリファレンス」を参照し
てください。
position
ダッシュボード内のウィジェットの位置を指定します。位置は次
のプロパティで構成されます。
xとy
ウィジェットの左上隅を指定します。
wとh
幅と高さをそれぞれ指定します。有効な値は整数 (“20”)、“auto”、
パーセント (“36%”) です。
zIndex
ダッシュボードの他のウィジェットに対して、ウィジェットの
相対的な位置を決定します。zIndex は、ウィジェットが別のウィ
ジェットの前後どちらに位置するかを指定します。zIndex 値が
小さいウィジェットは、zIndex 値が大きい他のウィジェットよ
りも後ろに表示されます。zIndex は、Flex ダッシュボードデザイ
ナではなく元のダッシュボードデザイナで作成されたダッシュ
ボードに適用されます。
例:
"position": {
"x": 40,
"y": 40,
"w": 300,
"h": "auto"}
ピクセル単位で測定されます。
メモ: Flex ダッシュボードデザイナでは、この設定は無視され
ます。
9
ウィジェット
項目名
説明
type
ウィジェットタイプでは、サポートされるいずれかのウィジェッ
トタイプを指定します。
• Box — 元のダッシュボードデザイナでのみ使用可能
• Chart
• CompareTable
• Container — Flex ダッシュボードデザイナでのみ使用可能
• DateSelector
• GlobalFilters
• Link
• ListSelector
• Number
• PillBox
• RangeSelector
• Text
• Url — 元のダッシュボードデザイナでのみ使用可能
• ValuesTable
メモ: Flex ダッシュボードデザイナは PillBox および Url ウィ
ジェットをサポートしていません。Flex デザイナでダッシュ
ボードを開くと、これらの種類のウィジェットはダッシュ
ボードから削除されます。また、元のダッシュボードデザイ
ナはコンテナウィジェットをサポートしていません。ボック
スウィジェットを使用してください。
関連トピック:
ウィジェットパラメータのプロパティリファレンス
10
ウィジェット
ウィジェットパラメータのプロパティリファレンス
ウィジェットパラメータのプロパティリファレンス
widgets セクションの parameters プロパティは、ダッシュボードのウィジェットの属性を定義します。各
ウィジェットには独自の parameters プロパティがあります。
各ウィジェットに使用できるパラメータは、ウィジェットの type プロパティによって異なります。たとえ
ば、Chart ウィジェットには legend パラメータを指定できますが、Text ウィジェットには指定できませ
ん。
一部のパラメータは公開され、ダッシュボードデザイナのユーザインターフェースでウィジェットプロパティ
として編集できます。他のパラメータは JSON を介してのみ編集できます。
ダッシュボード JSON ファイルの抜粋である次の例では、1 つの Chart ウィジェットを持つダッシュボードを
示します。Chart には、miniBars、visualizationType、sqrt、step という 4 つのパラメータセットが
あります。
"widgets": {
"chart_1": {
"parameters": {
“miniBars”: 14,
“visualizationType”: “vbar”,
“sqrt”: true,
"step": "Customer_Name_1"
},
"type": "Chart",
"position": {
"w": 1000,
"zIndex": 0,
"y": 20,
"h": 500,
"x": 20
}
}
}
parameters プロパティで設定されるウィジェットプロパティは、次のとおりです。
プロパティ名
詳細
backgroundColor
型
string
このウィジェットで使用可能
• Box
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
背景色。
rgb(a, b, c, d) の形式で色を指定します。
11
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
0 ~ 255 の数値を使用し、a は色の赤の度合い、b は緑の度合い、c は青の度合いを
示します。0 の値は色がないことを示し、255 の値は色の度合いが最大であることを
示します。
0 ~ 1 の数値を使用し、d は透明度を示します。0 の値は透明を示し、1 の値は不透
明を示します。
たとえば、rgb(0, 0, 0, 0.93) は不透明の黒に近い色に設定します。rgb(255,
0, 0, 0.14) は透明に近い赤色に設定します。
または、16 進表記を使用して色を設定することもできます。16 進表記を使用する場
合、透明度は設定できません。デフォルトでは、16 進表記の色がすべて不透明にな
ります。#000000 は 16 進表記の黒を示します。#ff0000 は赤を示します。
デフォルト値は、rgba(0, 140, 201, 0.35) です。
borderColor
型
string
このウィジェットで使用可能
• Box
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
境界線の色。
rgb(a, b, c, d) の形式で色を指定します。
0 ~ 255 の数値を使用し、a は色の赤の度合い、b は緑の度合い、c は青の度合いを
示します。0 の値は色がないことを示し、255 の値は色の度合いが最大であることを
示します。
0 ~ 1 の数値を使用し、d は透明度を示します。0 の値は透明を示し、1 の値は不透
明を示します。
たとえば、rgb(0, 0, 0, 0.93) は不透明の黒に近い色に設定します。rgb(255,
0, 0, 0.14) は透明に近い赤色に設定します。
または、16 進表記を使用して色を設定することもできます。16 進表記を使用する場
合、透明度は設定できません。デフォルトでは、16 進表記の色がすべて不透明にな
ります。#000000 は 16 進表記の黒を示します。#ff0000 は赤を示します。
デフォルト値は、rgba(0,0,0,0.25) です。
compact
型
boolean
次のウィジェットで使用可能
• ListSelector
12
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
• Number
• PillBox
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
表示する数値を短縮するか (true)、否か (false) を示します。
たとえば、true の場合、数値 48,081 は 48k と表示されます。数値は丸められている
ように見えますが、そうではありません。演算を行ったりグラフで使用したりする
場合には、値 48,081 が保持されます。false の場合、48,081 は 48,081 と表示されま
す。
デフォルト値は、false です。
containedWidgets
型
Array
このウィジェットで使用可能
• Container
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
コンテナウィジェット内のすべてのウィジェットの配列。
destination
型
string
このウィジェットで使用可能
• Link
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
ダッシュボードまたはレンズの ID。
デフォルト値は、null です。
destinationType
型
ConnectWaveLinkWidgetDestTypeEnum
このウィジェットで使用可能
• Link
ダッシュボードデザイナのユーザインターフェースで公開
はい
13
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
説明
リンクの対象種別。値は次のとおりです。
• dashboard — 保存されたダッシュボード
• explore — 未保存で有効なレンズの探索セッション
• lens — 保存されたレンズ
• url — Web サイト
デフォルト値は、lens です。
expanded
型
boolean
次のウィジェットで使用可能
• DateSelector
• ListSelector
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
リスト内の項目を表示するか (true)、非表示にするか (false) を示します。
非表示 (false) の場合、ダッシュボード閲覧者はリストウィジェットをクリックし
て、リスト項目を表示および変更できます。
デフォルト値は、true です。
exploreLink
型
boolean
次のウィジェットで使用可能
• Chart
• CompareTable
• ListSelector
• Number
• PillBox
• ValuesTable
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
ダッシュボード閲覧者がリンクをクリックしてレンズとしてのウィジェットの探索
を開始できるか (true)、否か (false) を示します。
デフォルト値は、次のとおりです。
14
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
• Chart: コンパクトフォームレンズに関連付けられているグラフの場合は true、
SAQL の場合は false
• CompareTable: コンパクトフォームレンズに関連付けられているグラフの場合は
true、SAQL の場合は false
fit
型
boolean
このウィジェットで使用可能
• Chart (visualizationType が scatter、hdot、または vdot の場合のみ)
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
グラフの軸がデータの中心にあるか (true)、(0, 0) にあるか (false) を示します。
デフォルト値は、false です。
fontSize
型
整数
次のウィジェットで使用可能
• Link
• Number
• Text
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
数値またはテキストのフォントサイズ。
デフォルト値は、次のとおりです。
• Number: 36
• Text: 26
hideHeaderColumn
型
boolean
次のウィジェットで使用可能
• Chart
• ValuesTable
ダッシュボードデザイナのユーザインターフェースで公開
いいえ。JSON を介してのみ編集できます。
15
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
説明
未加工データテーブルの最初の列 (行カウント) を非表示にするか (true)、否か (false)
を示します。
デフォルト値は、false です。
imageUrl
型
ConnectUri
このウィジェットで使用可能
• Box
• Container
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
表示された画像ファイルのドキュメント Id。セキュリティを保護するため、画像
ファイルをドキュメントとしてSalesforceにアップロードする必要があります。ドキュ
メントが画像でないか、対応するドキュメントが存在しない場合は、何も表示され
ません。
デフォルト値は、null です。
includeState
型
boolean
このウィジェットで使用可能
• Link
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
ダッシュボード閲覧者によって適用された選択内容を閲覧者がリンクをクリックし
た後で destination に保持するか (true)、否か (false) を示します。選択内容に
destination との互換性がないか、null の場合は、保持されません。
デフォルト値は、false です。
instant
型
boolean
次のウィジェットで使用可能
• DateSelector
• ListSelector
• RangeSelector
16
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
ダッシュボード閲覧者がウィジェットを操作するときに、facet が設定された他のウィ
ジェットをすぐに更新するか (true)、否か (false) を示します。
false の場合、facet が設定されたウィジェットに変更をカスケードするには、ダッ
シュボード閲覧者が [更新] をクリックする必要があります。true の場合、[更新] ボ
タンは非表示になります。
デフォルト値は、次のとおりです。
• DateSelector: false
• ListSelector: true
• RangeSelector: false
legend
型
boolean
このウィジェットで使用可能
• Chart (visualizationType が hBar、vBar、stackhbar、stackvbar、pie、
scatter、time、hdot、vdot、matrix、calheatmap、heatmap、または
parallelcoords の場合のみ)
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
凡例を表示するか (true)、否か (false) を示します。
デフォルト値は、ピボットテーブルを除くすべてのグラフで false です。
legendHideHeader
型
boolean
このウィジェットで使用可能
• Chart (visualizationType が hBar、vBar、stackhbar、stackvbar、pie、
scatter、time、hdot、vdot、matrix、calheatmap、heatmap、または
parallelcoords の場合のみ)
ダッシュボードデザイナのユーザインターフェースで公開
いいえ。JSON を介してのみ編集できます。
説明
凡例にタイトルがあるか (true)、否か (false) を示します。タイトルは常に、凡例に
記述されたディメンションの名前になります。
デフォルト値は、ピボットテーブルを除くすべてのグラフで false です。
17
ウィジェット
ウィジェットパラメータのプロパティリファレンス
プロパティ名
詳細
legendWidth
型
整数
このウィジェットで使用可能
• Chart (visualizationType が hBar、vBar、stackhbar、stackvbar、pie、
scatter、time、hdot、vdot、matrix、calheatmap、heatmap、または
parallelcoords の場合のみ)
ダッシュボードデザイナのユーザインターフェースで公開
いいえ。JSON を介してのみ編集できます。
説明
凡例領域の幅 (ピクセル単位)。
デフォルト値は、ピボットテーブルを除くすべてのグラフで 145 です。
maxColumnWidth
型
整数
次のウィジェットで使用可能
• Chart (visualizationType が comparisontable、pivottable、stackhbar、
stackvbar、hbar、または vbar の場合のみ)
• comparisontable
• valuestable
ダッシュボードデザイナのユーザインターフェースで公開
いいえ。JSON を介してのみ編集できます。
説明
デスクトップまたはラップトップの Web ブラウザでの ディメンション項目の最大表
示サイズ (ピクセル)。
メモ: モバイルデバイス用のモバイルレイアウトは maxColumnWidth 項目をサポー
トしていません。
デフォルト値は 200 で、最小値は 20、最大値は 200 です。
measureField
型
string
次のウィジェットで使用可能
• ListSelector
• Number
• PillBox
ダッシュボードデザイナのユーザインターフェースで公開
はい
18
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
説明
データで実行する数学的関数。
<formula>_<field> の形式で measureField を指定します。
<formula> は、measures step プロパティで指定されたいずれかの数式と一致す
る必要があります。<formula> に使用できる値は、次のとおりです。
• avg — 数学的平均値 (中間値) を計算します
• max — 最大値
• min — 最小値
• sum — すべての値を加算します
• unique — 一意の値の数をカウントします
<field> は、measures で指定された <formula> とペアになっているディメンショ
ンの名前と一致する必要があります。
たとえば、measures ステップのプロパティが次のようになっているとします。
"measures”: [
[
"sum”,
"Profit”
],
[
"avg”,
"Discount”
]
]
この場合、measureField は sum_Profit または avg_Discount である必要があ
ります。avg と Profit は measures step プロパティでペアになっていないため、
measureField を avg_Profit にすることはできません。
デフォルト値は、null です。
minColumnWidth
型
整数
このウィジェットで使用可能
• Chart (visualizationType が comparisontable、pivottable、stackhbar、
stackvbar、hbar、または vbar の場合のみ)
• comparisontable
• valuestable
ダッシュボードデザイナのユーザインターフェースで公開
いいえ。JSON を介してのみ編集できます。
19
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
説明
ディメンション項目の表示サイズの最小値 (ピクセル単位)。
デフォルト値は、30 です。
miniBars
型
整数
このウィジェットで使用可能
• Chart (visualizationType が stackhbar、stackvbar、hbar、または vbar
の場合のみ)
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
棒グラフでの棒の表示サイズ (ピクセル単位)。
デフォルト値は、0 です (棒グラフと縦棒グラフでのみ使用可能)。
multiMetrics
型
boolean
このウィジェットで使用可能
• Chart (visualizationType が hbar または vbar の場合のみ)
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
2 つ以上の基準を各グループの下に隣接する棒として表示するか (true)、個別の隣接
するグラフとして表示するか (false) を示します。
デフォルト値は、false です (棒グラフと縦棒グラフでのみ使用可能)。
normalize
型
boolean
このウィジェットで使用可能
• Chart (visualizationType が stackhbar または stackvbar の場合のみ)
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
グラフを対数スケールを使用して表示するか (true)、線形スケールを使用して表示
するか (false) を示します。
デフォルト値は、false です (stackhbar と stackvbar でのみ使用可能)。
20
ウィジェット
ウィジェットパラメータのプロパティリファレンス
プロパティ名
詳細
numberColor
型
string
このウィジェットで使用可能
• Number
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
数値のフォントの色。
rgb(a, b, c, d) の形式で色を指定します。
0 ~ 255 の数値を使用し、a は色の赤の度合い、b は緑の度合い、c は青の度合いを
示します。0 の値は色がないことを示し、255 の値は色の度合いが最大であることを
示します。
0 ~ 1 の数値を使用し、d は透明度を示します。0 の値は透明を示し、1 の値は不透
明を示します。
たとえば、rgb(0, 0, 0, 0.93) は不透明の黒に近い色に設定します。rgb(255,
0, 0, 0.14) は透明に近い赤色に設定します。
または、16 進表記を使用して色を設定することもできます。16 進表記を使用する場
合、透明度は設定できません。デフォルトでは、16 進表記の色がすべて不透明にな
ります。#000000 は 16 進表記の黒を示します。#ff0000 は赤を示します。
デフォルト値は、#000 です。
numberSize
型
整数
このウィジェットで使用可能
• Number
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
数値のフォントのサイズ。デフォルト値は 26 です。
splitAxis
型
boolean
このウィジェットで使用可能
• Chart
ダッシュボードデザイナのユーザインターフェースで公開
はい
21
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
説明
グラフの各ディメンションを独自の軸で測定するか (true)、共有軸で測定するか
(false) を示します。
multiMetrics が true に設定されている場合にのみ適用されます。
デフォルト値は、false です (棒グラフと縦棒グラフでのみ使用可能)。
sqrt
型
boolean
このウィジェットで使用可能
• Chart (visualizationType が parallelcoords、hdot、vdot、time、
scatter、stackhbar、stackvbar、hbar、または vbar の場合のみ)
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
グラフを対数スケールを使用して表示するか (true)、線形スケールを使用して表示
するか (false) を示します。
デフォルト値は、false です (棒グラフ、縦棒グラフ、折れ線グラフ、時系列でのみ
使用可能)。
step
型
string
次のウィジェットで使用可能
• CompareTable
• DateSelector
• GlobalFilters
• ListSelector
• Number
• PillBox
• RangeSelector
• ValuesTable
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
ウィジェットにデータを提供するレンズの名前。
デフォルト値は、null です。
stretch
型
boolean
22
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
このウィジェットで使用可能
• Box
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
画像の幅と高さをウィジェットの幅と高さと同じ値に設定するか (true)、否か (false)
を示します。
デフォルト値は、false です。
stretchImage
型
boolean
このウィジェットで使用可能
• Container
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
画像の幅と高さをウィジェットの幅と高さと同じ値に設定するか (true)、否か (false)
を示します。
デフォルト値は、false です。
text
型
string
このウィジェットで使用可能
• Link
• Text
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
テキストウィジェットに表示するメッセージ。たとえば、text に “Hello, World!”
という値が割り当てられている場合、テキストウィジェットに「Hello, World!」と表示
されます。
デフォルト値は、null です。
textAlignment
型
string
このウィジェットで使用可能
• Number
23
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
• Text
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
テキストの配置。使用できる値には、left、center、および right があります。
値が指定されない場合、テキストの配置はデフォルトの中央揃えになります。
デフォルト値は、次のとおりです。
• Number: right
• Text: center
textColor
型
string
次のウィジェットで使用可能
• Link
• Number
• Text
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
テキストのフォントの色。
rgb(a, b, c, d) の形式で色を指定します。
0 ~ 255 の数値を使用し、a は色の赤の度合い、b は緑の度合い、c は青の度合いを
示します。0 の値は色がないことを示し、255 の値は色の度合いが最大であることを
示します。
0 ~ 1 の数値を使用し、d は透明度を示します。0 の値は透明を示し、1 の値は不透
明を示します。
たとえば、rgb(0, 0, 0, 0.93) は不透明の黒に近い色に設定します。rgb(255,
0, 0, 0.14) は透明に近い赤色に設定します。
または、16 進表記を使用して色を設定することもできます。16 進表記を使用する場
合、透明度は設定できません。デフォルトでは、16 進表記の色がすべて不透明にな
ります。#000000 は 16 進表記の黒を示します。#ff0000 は赤を示します。
デフォルト値は、#000 です。
title
型
string
次のウィジェットで使用可能
• DateSelector
24
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
• ListSelector
• Number
• PillBox
• RangeSelector
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
ウィジェットのタイトル。
デフォルト値は、null です。
titleColor
型
string
このウィジェットで使用可能
• Number
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
タイトルのフォントの色。
rgb(a, b, c, d) の形式で色を指定します。
0 ~ 255 の数値を使用し、a は色の赤の度合い、b は緑の度合い、c は青の度合いを
示します。0 の値は色がないことを示し、255 の値は色の度合いが最大であることを
示します。
0 ~ 1 の数値を使用し、d は透明度を示します。0 の値は透明を示し、1 の値は不透
明を示します。
たとえば、rgb(0, 0, 0, 0.93) は不透明の黒に近い色に設定します。rgb(255,
0, 0, 0.14) は透明に近い赤色に設定します。
または、16 進表記を使用して色を設定することもできます。16 進表記を使用する場
合、透明度は設定できません。デフォルトでは、16 進表記の色がすべて不透明にな
ります。#000000 は 16 進表記の黒を示します。#ff0000 は赤を示します。
デフォルト値は、#000 です。
titleSize
型
整数
このウィジェットで使用可能
• Number
ダッシュボードデザイナのユーザインターフェースで公開
はい
25
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
説明
タイトルのフォントのサイズ。デフォルト値は 26 です。
totals
型
boolean
次のウィジェットで使用可能
• Chart (visualizationType が pivottable の場合のみ)
• CompareTable
• ValuesTable
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
各基準列にすべての値の合計を表示する行を含めるか (true)、否か (false) を示しま
す。
Chart のデフォルト値は、false です (ピボットテーブルでのみ使用可能)。
trellis
型
boolean
このウィジェットで使用可能
• Chart
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
レンズに 2 つ以上のグループと 1 つの基準がある場合、最後に適用されたグルーピン
グを独自の軸に表示するか (true)、他のグルーピングと同じ軸に表示するか (false)
を示します。
Chart のデフォルト値は、false です (棒グラフと縦棒グラフでのみ使用可能)。
videoSize
型
string
このウィジェットで使用可能
• Url
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
YouTube ビデオのサイズ。値は次のとおりです。
• (4/3) 240 x 180
26
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
• (4/3) 420 x 315
• (4/3) 480 x 360
• (4/3) 640 x 480
• (4/3) 960 x 720
• (16/9) 320 x 180
• (16/9) 560 x 315
• (16/9) 640 x 360
• (16/9) 853 x 480
• (16/9) 1280 x 720
デフォルト値は、(4/3) 240 x 180 です。
visualizationType
型
ConnectWaveChartTypeEnum
次のウィジェットで使用可能
• Chart
• Link
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
データの表示に使用されるグラフの種類。値は次のとおりです。
• calheatmap* — カレンダーヒートマップ
• combo — 複数の総計値を示す線と棒
• comparisontable — 比較表
• hbar — 横棒
• hdot* — 横方向のドットプロット
• heatmap* — ヒートマップ
• matrix* — マトリックス
• parallelcoords* — 平行座標
• pie — ドーナツ
• pivottable* — ピボットテーブル
• scatter — 散布図
• stackhbar — 積み上げ横棒
• stackvbar — 積み上げ縦棒
• stackwaterfall — 積み上げ滝
• time — タイムライン
27
ウィジェット
プロパティ名
ウィジェットパラメータのプロパティリファレンス
詳細
• valuestable — 元のダッシュボードデザイナでの未加工データテーブル (Flex
ダッシュボードデザイナでは値テーブル)
• vbar — 縦棒
• vdot* — 縦方向のドットプロット
• waterfall — 滝
メモ: Flex ダッシュボードデザイナは、アスタリスク (*) が付いているグラフをサ
ポートしていません。この値を指定すると、hbar に置き換えられます。
url
型
ConnectUri
このウィジェットで使用可能
• Url
ダッシュボードデザイナのユーザインターフェースで公開
はい
説明
YouTube ビデオの URL。
デフォルト値は、null です。
関連トピック:
ウィジェット
28
第6章
Query
トピック:
query セクションでは、そのステップのクエリを定義します。
•
クエリの例
•
比較テーブルの例
ダッシュボード JSON ファイルの query セクションのプロパティは、次のとおりで
す。
項目名
説明
pigql
使用する SAQL クエリ。SAQL 言語は、データフローを使用して結果
を整列するリアルタイムクエリ言語です。これにより、データセッ
トに保存されているデータのオンデマンド分析が可能になります。
メモ: SAQL クエリから作成されたレンズでファセットを有効
にできますが、SAQL クエリが複数のデータセットに基づいて
いる場合、datasets 項目で指定されたデータセットのみが
ファセットされます。
dimensions
使用するディメンションは次のように指定します。
"dimensions": [ "Department" ]
measures
使用する基準は次のように指定します。
"count", "*", null, {
"display": "% of total flights"
}
コンパクトクエリ形式と SAQL クエリ形式の両方で指定します。関
連付けられたグラフウィジェットで正しい予測を表示できるよう
に SAQL クエリで指定します。基準の UI 表示ラベルは、display オ
プションを設定して変更できます。
values
値は、未加工データテーブルウィジェットのステップで grain ス
テップタイプと共に使用されます。値には、細分または未加工デー
タテーブルに含める列をリストします。以下に例を示します。
"step_grain": {
"type": "grain",
"datasets": "opp",
"query": {
"values": ["Amount", "Owner-Name", "Name",
"Account-Name", "StageName", "ForecastCategory",
"Current Age", "Time to Win"],
}
}
値は、コンパクトクエリ形式と SAQL クエリ形式の両方で指定しま
す。
29
Query
項目名
説明
filters
データに適用される絞り込み条件。次に、対象の
"SFO"、"LAX"、"ORD"、"DFW" がある行のみが含まれるようにす
る単純な絞り込み条件の例を示します。
"filters": [["dest", ["SFO", "LAX", "ORD", "DFW"]]]
groups
グループ化の基準となるディメンション。たとえば、"groups":
["carrier"] です。groups は、コンパクトクエリ形式と SAQL クエ
リ形式の両方で指定します。
order
並び替え順は次のように指定します。
"order": [[ -1, { "ascending": false } ]]
値 –1 は、最初の基準で並び替えが実行されることを示します。結
果を昇順に並び替えるには、ascending を true に設定します。
結果を降順に並び替えるには、ascending を false に設定しま
す。特定の順序を強制しない場合、"order": [] のように空の角
括弧を指定します。コンパクトクエリ形式と SAQL クエリ形式の両
方で指定できます。
limit
返される結果の数。たとえば、"limit": 10 です。limit ステート
メントで返される結果は自動的に並び替えられないため、このス
テートメントは、並び替えられているデータでのみ使用してくだ
さい。
formula
formula は、比較テーブルのステップで multi ステップタイプと共
に使用されます。multi タイプのステップには複数のサブクエリ
が含まれます。基本的な数学演算子 *、/、-、+、(、) を使用し
て、ステップ内の他のサブクエリを参照する数式を作成できます。
他のサブクエリを参照するには、自動的に割り当てられる名前
(「A」は最初のクエリ、「B」は 2 番目のクエリなど) を使用しま
す。
"step_comptable": {
"type": "multi",
"datasets": "opp",
"isFacet": true,
"useGlobal": true,
"query": {
"columns": [
{
"header": "Opptys Won",
"query": {
"pigql": null,
"filters": [["StageName", ["5 Closed-Won"]], ["Close Date", [[["year", -1], ["year",
0]]]]],
"measures": [["count", "*"]],
30
Query
項目名
説明
"values": [],
"groups": ["Owner-Name"],
"formula": null,
"order": []
}
}, {
"header": "Opptys Won ($)",
"query": {
"pigql": null,
"filters": [["StageName", ["5 Closed-Won"]]],
"measures": [["sum", "Amount"]],
"values": [],
"groups": ["Owner-Name"],
"formula": null,
"order": []
}
}, {
"sort": {
"asc": false,
"inner": false
},
"header": "Opptys Won ($)",
"showBars": true,
"query": {
"pigql": null,
"filters": [["StageName", ["5 Closed-Won"]]],
"measures": [["sum", "Amount"]],
"values": [],
"groups": ["Owner-Name"],
"formula": null,
"order": []
}
}, {
"header": "Opptys Lost ($)",
"query": {
"pigql": null,
"filters": [["StageName", ["5 Closed-Lost"]]],
"measures": [["sum", "Amount"]],
"values": [],
"groups": ["Owner-Name"],
"formula": null,
"order": []
}
}, {
"header": "Opptys Lost ($)",
"showBars": true,
"query": {
"pigql": null,
"filters": [["StageName", ["5 -
31
Query
項目名
説明
Closed-Lost"]]],
"measures": [["sum", "Amount"]],
"values": [],
"groups": ["Owner-Name"],
"formula": null,
"order": []
}
}, {
"header": "Win-Loss (%)",
"query": {
"groups": ["Owner-Name"],
"filters": [["StageName", ["5 Closed-Lost"]]],
"measures": [["sum", "Amount"]],
"values": [],
"pigql": null,
"formula": "B/(B+D)*100",
"order": []
}
}
]
}
}
},
aggregateFilters 自動的に生成されます。変更しないでください。
facet_filters 自動的に生成されます。変更しないでください。
ステップの query セクション内に手動でバインドを挿入できます。これを行うには、
テンプレートを使用します。テンプレートは、二重中括弧 ({{ }}) 内に埋め込まれた式
で、関連付けられたステップの現在の状態で置き換えられます。次にその例を示し
ます。
"filters": [["carrier", "{{ selection(step1) }}"], ["dest", "{{
filter(step1, 'dest') }}"], ["origin", "{{ filter(step1, 'origin')
}}"]]
32
クエリの例
Query
クエリの例
次の例では、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 リファレンスを参照してください。
33
クエリの例
Query
{
"steps": {
"step1": {
"type": "aggregate",
"datasets": "airline",
"query": {
"groups": ["carrier"],
"filters": [["dest", ["SFO", "LAX", "ORD", "DFW"]]],
"measures": [["count", "*"]],
"order": [
[
-1, {
"ascending": false
}
]
],
"limit": 3
}
},
"step2": {
"type": "aggregate",
"datasets": "airline",
"query": {
"groups": ["dest"],
"filters": [["carrier", "{{ selection(step1) }}"], ["dest", "{{ filter(step1,
'dest') }}"], ["origin", "{{ filter(step1, 'origin') }}"]],
"measures": [["sum", "miles"], ["count", "*"]],
"order": [
[
-1, {
"ascending": false
}
]
]
}
},
"step3": {
"type": "aggregate",
"datasets": "airline",
"query": {
"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;",
"groups": ["dest"],
"measures": [["sum", "miles"], ["count", "*"]]
}
}
},
"widgets": {
"barchart1": {
"type": "ListSelector",
34
クエリの例
Query
"position": {
"x": 10,
"y": 10,
"w": 270,
"h": 180
},
"parameters": {
"step": "step1"
}
},
"text2": {
"type": "Text",
"position": {
"x": 310,
"y": 10
},
"parameters": {
"text": "chart with pigql step:",
"textColor": "#f00"
}
},
"barchart2": {
"type": "Chart",
"position": {
"x": 310,
"y": 30,
"w": 400,
"h": 280
},
"parameters": {
"step": "step2",
"chartType": "hbar"
}
},
"text3": {
"type": "Text",
"position": {
"x": 310,
"y": 280
},
"parameters": {
"text": "chart with compact form step:",
"textColor": "#f00"
}
},
"barchart3": {
"type": "Chart",
"position": {
"x": 310,
"y": 300,
"w": 400,
"h": 280
},
"parameters": {
35
比較テーブルの例
Query
"step": "step3",
"chartType": "hbar"
}
}
}
}
比較テーブルの例
この例では、比較テーブルを作成する 1 つの統合された SAQL クエリを示します。
この例では、ルートレベル (JSON の pigql 項目内) の pigql 定義を使用して、単純な 2 列の比較テーブルを作成す
る統合された SAQL クエリを示します。
{
"_container": {
"_container": "0FKB00000000HDROA2",
"_type": "container"
},
"lastRefresh": 1434733006,
"_type": "lens",
"_createdDateTime": 1441046742,
"_lastModifiedBy": {
"_type": "user",
"name": "Admin User",
"_uid": "005B00000017ahYIAQ",
"profilePhotoUrl": "https://c.notreal.content.force.com/profilephoto/005/notreal"
},
"description": "Test compare table",
"visualizationType": "comparisontable",
"name_lc": "compare table backed by saql-test2",
"_createdBy": {
"_type": "user",
"name": "Admin User",
"_uid": "005B00000017ahYIAQ",
"profilePhotoUrl": "https://c.notreal.content.force.com/profilephoto/005/notreal"
36
比較テーブルの例
Query
},
"assetPreviewAllow": true,
"stateVersion": 1,
"folder": {
"_type": "folder",
"name": "CompareTable",
"_uid": "00lB0000000hHMdIAM"
},
"_files": {
"assetPreviewThumb": {
"fileName": "assetPreviewThumb",
"fileSize": 3706,
"lensId": "0FKB00000000HDROA2",
"_type": "lensfile",
"lastModified": 1441046778,
"_url": "/insights/internal_api/v1.0/esObject/lens/
0FKB00000000HDROA2/lensfile/0FJB00000004KbjOAE/data?lastModified=1441046778",
"_uid": "0FJB00000004KbjOAE",
"contentType": "image/png"
}
},
"name": "Compare Table backed by SAQL-Test",
"edgemart": {
"_type": "edgemart",
"_uid": "0FbB000000001CfKAI"
},
"_permissions": {
"modify": true,
"view": true
},
"lastModified": 1441046742,
"assetSharingUrl": "https://notreal.salesforce.com/analytics/wave/lens?
assetId=0FKB00000000HDROA2&orgId=00DB00000000P64&
loginHost=notreal.salesforce.com&urlType=sharing",
"state": {
"columns": [
{
"query": {
"measures": [
[
"sum",
"LeadScore"
]
],
"groups": [
"Industry"
]
},
"showBars": true,
"sort": {
"asc": false,
"inner": false
}
37
比較テーブルの例
Query
},
{
"query": {
"measures": [
[
"avg",
"LeadScore"
]
],
"groups": [
"Industry"
]
},
"showBars": false,
"sort": {
"asc": false,
"inner": false
}
}
],
"pigql": "q = load \"Acme_Recent_Deals1\"; q = group q by 'Industry'; q =
foreach q generate 'Industry' as 'Industry', avg('LeadScore') as 'avg_LeadScore',
sum('LeadScore') as 'sum_LeadScore'; q = limit q 2000;",
"type": "comparisontable"
},
"_url": "/insights/internal_api/v1.0/esObject/lens/0FKB00000000HDROA2/json",
"_uid": "0FKB00000000HDROA2"
}
この比較テーブルには次の制限があります。
• +、-、*、/、( ) の機能のみが含まれます。
• モバイルデバイスは、列レベルで SAQL を使用できない可能性があります。ルートレベルのグローバル SAQL
定義がサポートされます。または、列ごとにコンパクトフォームを使用できます。
• モバイルデバイスでは、比較テーブルが参照のみとなります。
SAQL についての詳細は、SAQL リファレンスを参照してください。
38
第7章
トピック:
•
•
•
•
静的ステップでの
選択バインド
静的検索条件およ
びグループセレク
タのクエリへのバ
インド
日付ピッカーおよ
び静的日付のバイ
ンド
バインド操作
バインド
ステップを定義したら、そのステップをウィジェットにバインドします。
バインドには次の種類があります。
• 選択バインド
• 結果バインド
選択バインド
ユーザがダッシュボードでウィジェットを選択したときに、その選択値を使用して
他のステップとウィジェットを更新し、ダッシュボードを対話型にすることができ
ます。このアクションは「facet」と呼ばれます。
ダッシュボードビルダー UI でダッシュボードを作成する場合、デフォルトですべて
に facet が実行されます。各ステップの「isFaceted」オプションは、同じデータセッ
トのステップ間の双方向選択バインドを処理します。ただし、ダッシュボード JSON
ファイルを直接変更し、さまざまなステップ間のリレーションを手動で指定して次
を実現できます。
• 異なるデータセットのステップ間の選択バインド
• 一方向選択バインド
• 静的ステップの選択バインド
メモ: 複数総計値ウィジェットでは選択バインドを設定できません。設定する
と、エラーが発生します。
結果バインド
結果バインドは、別のステップからの結果値を使用してステップを絞り込むために
使用されます。この種類のバインドは通常、複数のデータセットにわたって使用さ
れます。結果バインドは、売上上位の商品によって商談を絞り込むときなどに役立
ちます。
step_all_salesreps:
type: "aggregate"
datasets: "opp"
query:
groups: ["Owner-Name"]
filters: [
["StageName", ["5 - Closed-Won"]]
["Products", "{{ results(step_top5_products) }}"]
]
measures: [ ["sum", "Amount"] ]
39
バインド
次の例では、最初のステップ ("all_miles") の合計マイル結果が平均を計算する 2
番目のステップで使用されています。
"steps": {
"all_miles": {
"type": "aggregate",
"datasets": "airline",
"query": {
"measures": [["sum", "miles"], ["count", "*"]]
}
},
"step_percent": {
"type": "aggregate",
"datasets": "airline",
"query": {
"pigql": "q = load \"airline\";\nq = group q by 'carrier';\nq
=
foreach q generate 'carrier' as 'carrier', sum('miles')/{{
value(results(all_miles, 'sum_miles')) }} * 100 as
'sum_miles',
count()/{{ value(results(all_miles, 'count')) }} * 100
as 'count';\nq =
order q by 'sum_miles' desc;",
"groups": ["carrier"],
"order": [
[
["sum", "miles"], {
"ascending": false
}
]
],
"measures": [
[
"sum", "miles", null, {
"display": "% of total miles"
}
], [
"count", "*", null, {
"display": "% of total flights"
}
]
]
}
}
40
バインド
静的ステップでの選択バインド
静的ステップでの選択バインド
ステップのほぼすべての部分で、前のクエリ結果に対する選択バインドを含めることができます。
集計クエリでは、選択バインドに次の項目を含めることができます。
• グループ
• 基準
• 検索条件
• 並び替え
• 制限
クエリの任意の部分をバインドする静的ステップの使用
次の例は、クエリの複数の部分に静的ステップと選択バインドが使用されるダッシュボードを示しています。
この例では次の処理が行われます。
• 静的ステップ step_filter_dim によって、"List of Products" リストセレクタが設定されます。こ
のセレクタには、複数の値があるオプションが含まれます。
• 静的ステップ step_group によって、グループ切り替えセレクタが設定されます。start 値が "Product"
であるため、ダッシュボードが初期化されるときのデフォルト値は "Product" です。display 値によっ
て、ユーザインターフェースの表示名が変更されます。
• 静的ステップ step_measure によって、基準切り替えセレクタが設定されます。
• 静的ステップ step_order によって、順序切り替えセレクタが設定されます。
• 静的ステップ step_limit によって、制限切り替えセレクタが設定されます。
41
バインド
静的ステップでの選択バインド
• 集計ステップクエリ step_quarterly_bookings は、完了予定日の年と四半期でグループ化されます。
• 集計ステップクエリ step_top_10 では、静的 step_group の選択オプションに応じてグループ化が行わ
れます。start 値は、(step_group に基づく) "Product" グループ化になります。
{
"steps": {
"step_filter_dim": {
"type": "static",
"dimensions": "Product",
"datasets": "opp",
"selectMode": "single",
"values": [
{
"value": ["EKG Machine"]
}, {
"value": ["Energist FRx"]
}, {
"value": ["GE Mammography Machine", "GE HiSpeed DXi", "GE Stress System"]
}, {
"value": ["HP MRI Machine", "HP Cardiac 64D"]
}, {
"value": ["Hyfrecator"]
}, {
"value": ["Siemens Dental System", "Siemens CR950"]
}, {
"value": ["VolMED Ultrasound"]
}
],
"isFacet": true
},
"step_group": {
"type": "static",
"values": [
{
"display": "Owner",
"value": ["Owner-Name"]
}, {
"display": "Product/Stage",
"value": ["Product", "StageName"]
}, {
"display": "Product",
"value": ["Product"]
}, {
"display": "Stage",
"value": ["StageName"]
}
],
"start": [["Product"]],
"selectMode": "single"
},
"step_measure": {
"type": "static",
"values": [
{
42
バインド
静的ステップでの選択バインド
"display": "$",
"value": [["sum", "Amount"]]
}, {
"display": "#",
"value": [["count", "*"]]
}
],
"start": [[["sum", "Amount"]]],
"selectMode": "singlerequired"
},
"step_order": {
"type": "static",
"values": [
{
"display": "desc",
"value": false
}, {
"display": "asc",
"value": true
}
],
"selectMode": "singlerequired"
},
"step_limit": {
"type": "static",
"values": [
{
"display": "top 5",
"value": 5
}, {
"display": "top 10",
"value": 10
}, {
"display": "top 100",
"value": 100
}
],
"start": [100],
"selectMode": "singlerequired"
},
"step_quarterly_bookings": {
"type": "aggregate",
"datasets": "opp",
"query": {
"groups": [["CloseDate_Year", "CloseDate_Quarter"]],
"measures": [["sum", "Amount"]]
},
"isFacet": true,
"useGlobal": true
},
"step_top_10": {
"type": "aggregate",
"datasets": "opp",
"query": {
43
バインド
静的ステップでの選択バインド
"groups": "{{ selection(step_group) }}",
"measures": "{{ selection(step_measure) }}",
"order": [
[
-1, {
"ascending": "{{ value(selection(step_order)) }}"
}
]
],
"limit": "{{ value(selection(step_limit)) }}"
},
"isFacet": true
}
},
"widgets": {
"sel_list_filter_dim": {
"type": "ListSelector",
"position": {
"x": 860,
"y": 90,
"w": 290,
"h": 288
},
"parameters": {
"step": "step_filter_dim",
"title": "List of Products",
"expanded": true,
"instant": true
}
},
"sel_list_filter_compound_dim": {
"type": "ListSelector",
"position": {
"x": 860,
"y": 390,
"w": 290,
"h": 288
},
"parameters": {
"step": "step_quarterly_bookings",
"title": "List of Quarters",
"expanded": true,
"instant": true
}
},
"sel_group": {
"type": "PillBox",
"position": {
"x": 10,
"y": 10
},
"parameters": {
"title": "group",
"step": "step_group"
44
バインド
静的ステップでの選択バインド
}
},
"sel_measure": {
"type": "PillBox",
"position": {
"x": 380,
"y": 10
},
"parameters": {
"title": "mea",
"step": "step_measure"
}
},
"sel_order": {
"type": "PillBox",
"position": {
"x": 480,
"y": 10
},
"parameters": {
"title": "order",
"step": "step_order",
"start": true
}
},
"sel_limit": {
"type": "PillBox",
"position": {
"x": 620,
"y": 10
},
"parameters": {
"title": "limit",
"step": "step_limit"
}
},
"widget1": {
"type": "Chart",
"position": {
"x": 10,
"y": 110,
"w": 830,
"h": 330
},
"parameters": {
"chartType": "hbar",
"step": "step_top_10"
}
}
}
}
45
バインド
静的検索条件およびグループセレクタのクエリへのバイ
ンド
静的検索条件およびグループセレクタのクエリへのバインド
静的検索条件またはグループセレクタは、SAQL で記述されたクエリにバインドできます。
テンプレートは二重中括弧 ({{ }}) に埋め込まれた式であり、関連付けられているステップの現在の状態で置き
換えられます。
たとえば、このダッシュボードには取引先のリストが含まれる静的検索条件ウィジェットがあります。ユーザ
が取引先と商品のどちらでグループ化するかを指定できる、グループセレクタウィジェットもあります。ユー
ザの選択に応じて、グラフが更新されます。検索条件はクエリの次の部分で制御します。
q = filter q by 'Account-Name' in {{ selection(step_Account_Owner_Name_2) }};
step_Account_Owner_Name_2 という名前のステップは選択バインドとして設定されているため、現在の選
択状態を取得します。二重中括弧内にあるため、その選択値が代入されてクエリで使用されます。
グループ化はクエリの次の部分で制御します。
q = group q by {{ single_quote(value(selection(step_StageName_3))) }};
q = foreach q generate {{ single_quote(value(selection(step_StageName_3))) }} as {{
value(selection(step_StageName_3)) }}, sum('Amount') as 'sum_Amount', count() as 'count'";
ユーザがグループセレクタウィジェットで [商品] を選択すると、クエリエンジンに渡される実際のクエリは次
のようになります。
q = group q by 'Product';
q = foreach q generate 'Product' as "Product", sum('Amount') as 'sum_Amount', count() as
'count';
46
バインド
静的検索条件およびグループセレクタのクエリへのバイ
ンド
メモ: グラフの更新に使用されるクエリを表示するには、ブラウザの JavaScript コンソールを開いて
edge.log.query=true と入力します。ダッシュボードで、別のグループを選択します。クエリがキャッ
シュされていない限り、新しいクエリがコンソールに表示されます。
"steps": {
"step_Account_Name_1": {
"isFacet": false,
"query": {
"pigql": "q = load \"opp\";\nq = filter q by 'Account-Name' in {{
selection(step_Account_Owner_Name_2) }};\nq = group q by {{
single_quote(value(selection(step_StageName_3))) }};\nq = foreach q generate {{
single_quote(value(selection(step_StageName_3))) }} as {{ value(selection(step_StageName_3))
}}, sum('Amount') as 'sum_Amount', count() as 'count'",
"groups": "{{ selection(step_StageName_3) }}",
"measures": [["sum", "Amount"]]
},
"visualizationParameters": {
"visualizationType": "hbar"
},
"selectMode": "none",
"useGlobal": true,
"datasets": "opp",
"type": "aggregate",
"isGlobal": false
},
"step_Account_Owner_Name_2": {
"dimensions": "Account-Name",
"isFacet": false,
"values": [
{
"value": ["Lakeside Med", "Hospital at Gulfport", "Hospital at Carbondale"],
"display": "Arbuckle Laboratories, Arbuckle Laboratories - Austria, Arbuckle
Laboratories - France"
}, {
"value": ["Health University Med"],
"display": "Health University Med"
}, {
"value": ["Canson"],
"display": "Canson"
}, {
"value": ["ComputeWise"],
"display": "ComputeWise"
}, {
"value": ["Dixon Chemical", "Dixon Chemical - Spain"],
"display": "Dixon Chemical, Dixon Chemical - Spain"
}, {
"value": ["EarthNet"],
"display": "EarthNet"
}, {
"value": ["Ecotech - Germany", "Ecotech - HQ"],
"display": "Ecotech - Germany, Ecotech - HQ"
}
],
"selectMode": "multi",
47
バインド
日付ピッカーおよび静的日付のバインド
"useGlobal": true,
"datasets": "opp",
"type": "static",
"isGlobal": false
},
"step_StageName_3": {
"isFacet": false,
"values": [
{
"value": ["Account-Name"],
"display": "Account"
}, {
"value": ["Product"],
"display": "Product"
}
],
"useGlobal": true,
"datasets": "opp",
"type": "static",
"selectMode": "singlerequired",
"isGlobal": false
}
}
日付ピッカーおよび静的日付のバインド
選択バインドを使用して、日付ピッカーレンズまたは静的な絶対/相対日付ステップから日付のレンズを絞り
込むことができます。
次の例に、別のクエリおよび静的な相対日付ステップを絞り込む日付ピッカーレンズを別のクエリにバインド
する方法を示します。
コンパクトおよび SAQL クエリへの日付ピッカーのバインド
この例では、日付ピッカーレンズで selection() バインドを使用して時間グラフレンズを絞り込みます。日付ピッ
カーのレンズは、次のとおりです。
"step_for_datePicker": {
"type": "aggregate",
"datasets": "opp",
"query": {
"groups": [
[
"CloseDate_Year",
"CloseDate_Month"
]
],
"measures": [
[
"count",
"*"
48
バインド
日付ピッカーおよび静的日付のバインド
]
],
"limit": 50
},
"start": [
[
[
"year",
-3
],
[
"year",
1
]
]
]
},
日付ピッカーの選択内容によって別のレンズを絞り込むには、次のコードをコンパクトまたは SAQL ステップ
に追加します。
{{selection(step_for_datePicker)}}
コンパクトフォームは次のようになります。
"step_compact_filtered_by_date_saql": {
"type": "aggregate",
"datasets": "OpportunityWithAccount",
"query": {
"groups": [
[
"CloseDate_Year",
"CloseDate_Month"
]
],
"measures": [
[
"count",
"*"
]
],
"filters": [
[
"CloseDate",
"{{ selection(step_for_datePicker) }}"
]
],
"limit": 50
}
}
SAQL は次のようになります。
"step_date_saql_binding": {
"type": "aggregate",
49
バインド
日付ピッカーおよび静的日付のバインド
"query": {
"pigql": "q = load \"OpportunityWithAccount\";\nq = filter q by date('CloseDate_Year',
'CloseDate_Month', 'CloseDate_Day') in {{selection(step_for_datePicker)}};\nq = group q
by ('CloseDate_Year', 'CloseDate_Month');\nq = foreach q generate 'CloseDate_Year' + \"~~~\"
+ 'CloseDate_Month' as 'CloseDate_Year~~~CloseDate_Month', count() as 'count';\nq = limit
q 2000;",
"groups": [
[
"CloseDate_Year",
"CloseDate_Month"
]
],
"measures": [
[
"count",
"*"
]
]
},
"isFacet": false,
"useGlobal": true
}
}
メモ: 選択内容で絞り込まれる日付ディメンション (この例では "CloseDate") は、日付ピッカーレンズ
の "groups" で使用されるディメンションと同じ名前である必要があります。
他のコンパクトまたは SAQL レンズを絞り込むための静的日付リスト
セレクタのバインド
この例では、定義済みの日付範囲のリストまたは切り替えレンズの選択内容によって、ダッシュボードで別の
レンズを絞り込みます。次のサンプルでは、コンパクトフォーム ("compact_step_faceted_by_static")
または SAQL ("saql_step_faceted_by_static") で静的切り替えボタンレンズ
("step_date_static_with_start") から棒グラフレンズにバインドする selection() を示します。各値は、5 年
前 ("year", -5)、今年 ("year", 0) までなど、相対的な日付範囲です。
"step_date_static_with_start": {
"type": "static",
"values": [
{
"display": "-6 years",
"value": [
[
[
"year",
-6
],
[
"year",
0
]
50
バインド
日付ピッカーおよび静的日付のバインド
]
]
},
{
"display": "-5 years",
"value": [
[
[
"year",
-5
],
[
"year",
0
]
]
]
},
{
"display": "-4 years",
"value": [
[
[
"year",
-4
],
[
"year",
0
]
]
]
}
],
"selectMode": "singlerequired",
"start": [
[
[
[
"year",
-5
],
[
"year",
0
]
]
]
]
}
次に、上記のサンプルで selection() バインドを使用して、選択内容で別のコンパクトまたは SAQL ステップを絞
り込むことができます。
{{selection(step_date_static_with_start)}}
51
バインド
バインド操作
コンパクトフォームは次のようになります。
"compact_step_faceted_by_static": {
"type": "aggregate",
"datasets": "opp",
"query": {
"groups": [
"Product"
],
"filters": [
[
"CreatedDate",
"{{selection(step_date_static_with_start)}}"
]
],
"measures": [
[
"sum",
"Amount"
]
],
"limit": 2000
},
"isFacet": false
}
SAQL 選択バインドは次のようになります。
"saql_step_faceted_by_static": {
"type": "aggregate",
"query": {
"pigql": "q = load \"opp\";\nq =
'CreatedDate_Month', 'CreatedDate_Day')
= group q by 'Product';\nq = foreach q
'sum_Amount', count() as 'count';\nq =
"groups": [
"Product"
],
"measures": [
[
"sum",
"Amount"
]
]
},
"isFacet": false,
"useGlobal": true
},
filter q by date('CreatedDate_Year',
in {{selection(step_date_static_with_start)}};\nq
generate 'Product' as 'Product', sum('Amount') as
limit q 2000;",
バインド操作
いくつかの追加操作で結果バインドと選択バインドを使用して、正しい結果を抽出できます。
52
バインド
バインド操作
value()
value() 操作は、セレクタ配列値を取得して単一値に変換するために使用されます。セレクタ配列値が空白
の場合、操作はすべての値を返します。value() 操作はセレクタ配列値が空白の場合に複数の値を返す可能性が
あるため、次の例のように、== ではなく in を使用します。
q = filter q by 'Owner Name' in {{ value(selection(step_StageName_3))}}
single_quote()
single_quote() 操作は通常、クエリの "group" および "foreach generate" 行が正しい形式になるように
SAQL ステップの選択バインドで使用されます。single_quote() 操作は、値の配列を取得し、二重引用符を
単一引用符、角括弧を丸括弧に変換します。たとえば、"Owner-Name" は 'Owner-Name' に変換され、
["Owner-Name", "Owner-Region"] は ('Owner-Name', 'Owner-Region') に変換されます。
配列値 ["Account-Name"] および ["Product"] を使用する次の静的セレクタがあるとします。
{
"step_StageName_3": {
"isFacet": false,
"values": [
{
"value": [
"Account-Name"
],
"display": "Account"
},
{
"value": [
"Product"
],
"display": "Product"
}
],
"useGlobal": true,
"datasets": "opp",
"type": "static",
"selectMode": "singlerequired",
"isGlobal": false
}
}
次の例は、"group by" 値と "foreach generate" 値で単一引用符を使用する必要がある SAQL クエリに配
列値をバインドしています。したがって、single_quote() によって ["Account-Name"] が 'Account-Name'
に変換されます。
{
"step_Account_Name_1": {
"isFacet": false,
"query": {
"pigql": "q = load \"opp\";\nq = group q by
{{ single_quote(value(selection(step_StageName_3))) }};\nq =
foreach q generate {{ single_quote(value(selection(step_StageName_3)))
53
バインド
バインド操作
}} as {{ single_quote(value(selection(step_StageName_3)) }},
sum('Amount') as 'sum_Amount', count() as 'count'",
"groups": "{{ selection(step_StageName_3) }}",
"measures": [
[
"sum",
"Amount"
]
]
},
"visualizationParameters": {
"visualizationType": "hbar"
},
"selectMode": "none",
"useGlobal": true,
"datasets": "opp",
"type": "aggregate",
"isGlobal": false
}
}
結果のクエリは次のとおりです。
q = load "opp";\nq = group q by 'Account-Name';\nq =
foreach q generate 'Account-Name' as 'Account-Name', sum('Amount') as
'sum_Amount', count() as 'count'
no_quote()
no_quote() 操作は通常、クエリの "order" 行が正しい形式になるように SAQL ステップの選択バインドで使
用されます。no_quote() 操作は、値の配列を取得し、二重引用符と角括弧を引用符なしに変換します。たと
えば、["desc"] は desc に変換されます。
["desc"] 配列値と ["asc"] 配列値が指定された次の静的ステップがあるとします。
{
"step_order": {
"type": "static",
"values": [
{
"display": "desc",
"value": [
"desc"
]
},
{
"display": "asc",
"value": [
"asc"
]
}
],
"selectMode": "singlerequired"
54
バインド
バインド操作
}
}
次の例は、配列値を SAQL ステップにバインドしています。
q = order q by 'Amount' {{ no_quote(value(selection(step_order))) }}
引用符のない desc 値または asc 値が挿入されます。
q = order q by 'Amount' desc
field()
field() 操作は、配列内の各オブジェクトに対して項目を作成します。
次の静的ステップ (step_measure) では、"$" オプションと "#" オプションに "compact"、"alias"、およ
び "proj" の 3 つの項目値が割り当てられています。
{
"step_measure": {
"type": "static",
"values": [
{
"display": "$",
"value": [
{
"compact": [["sum", "Amount"]],
"alias": "sum_Amount",
"proj": "sum('Amount')"
}
],
"display": "#",
"value": [
{
"compact": [["count", "*"]],
"alias": "count",
"proj": "count()"
}
]
}
],
"selectMode": "singlerequired"
}
}
割り当て後、field() 操作を使用して他のステップ選択バインドで各項目値を参照できます。
たとえば、step_measure を使用する切り替えセレクタでダッシュボードユーザが#をクリックすると、この
集計ステップ (step_top_10) の SAQL クエリは、"proj" 項目を参照して count() 関数を挿入し、"alias"
項目を参照して "count" を文字列として挿入し、"compact" 項目を参照して [["count", "*"]] を挿入し
ます。
{
"step_top_10": {
55
バインド
バインド操作
"type": "aggregate",
"datasets": "opp",
"query": {
"pigql":
"q = load 'edgemarts/Opportunity/OpportunityEM';
q = group q by 'Account_Name';
q = foreach q generate
'Account_Name' as 'Account_Name',
{{ no_quote(value(field(selection(step_measure),'proj'))) }}
as {{ single_quote(value(field(selection(step_measure), 'alias'))) }};
q = order q by {{ single_quote(value(field(selection(step_measure), 'alias'))) }}
{{ no_quote(value(field(selection(step_order), 'pigql'))) }};
q = limit q {{ value(selection(step_limit)) }};",
"groups": ["Account_Name"],
"measures": "{{ value(field(selection(step_measure), 'compact')) }}",
"order":
[[ -1, { "ascending": "{{ value(field(selection(step_order), 'compact')) }}" } ]]
},
"isFacet": true
}
}
56
第8章
トピック:
•
ダッシュボードの
モバイルレイアウ
トの使用
•
モバイルレイアウ
トの列、行、およ
びセルのサイズ設
定について
•
レイアウトの仕様
•
レイアウト属性の
参照
レイアウト
ダッシュボードの JSON 定義に layouts セクションを追加して、そのモバイルデバ
イスでの外観をカスタマイズします。
ダッシュボードレイアウトには 2 つの種類があります。
絶対 (デフォルト)
ダッシュボードの JSON で layouts セクションが定義されていない場合、ダッ
シュボードのレイアウトは絶対です。
絶対レイアウトは、デスクトップまたはラップトップコンピュータの Web ブラウ
ザでの表示に合わせて最適化されます。
モバイル
ダッシュボードの JSON に layouts セクションがある場合、ダッシュボードのレ
イアウトはモバイルです。
モバイルレイアウトでは、モバイルデバイスでの表示に合わせてダッシュボード
のウィジェットの位置、順序、およびサイズを最適化できます。モバイルレイア
ウトは、ページだけでなく行、列、およびセルで構成されます。グリッド内の各
セルには 0 個以上のウィジェットを含めることができます。モバイルレイアウト
内の行数、列数、およびセル数は、ウィジェット数とページ数によって異なりま
す。
絶対レイアウトのダッシュボードは Web ブラウザに適しています。
同じ絶対レイアウトのダッシュボードは、スマートフォンでは適切に表示されない
可能性があります。
57
レイアウト
2 つのページでモバイルレイアウトを使用すると、スマートフォンでダッシュボー
ドが完璧に表示されます。
58
レイアウト
ダッシュボードのモバイルレイアウトの使用
ダッシュボードのモバイルレイアウトの使用
モバイルレイアウトを使用して、モバイルデバイスのダッシュボードの外観をカスタマイズします。
ダッシュボードの JSON ファイルの layouts セクションは、state セクションの子で、widgets および steps
セクションの兄弟です。
1. 「ダッシュボード JSON ファイルの表示または変更」の指示に従ってダッシュボードの JSON を見つけます。
2. ダッシュボードの JSONに layouts セクションを追加します。
たとえば、この layouts セクションでは、各ページに 2 行のウィジェットがある 2 ページのモバイルレイ
アウトを定義します。1 番目のページには、各行に 1 つのウィジェットがあります。2 番目のページには、
1 行目に 2 つのウィジェットがあり、2 行目に 1 つのウィジェットがあります。
"layouts": {
"default": {
"page:0": [
"buttongroup_2",
"chart_1"
],
"page:1": [
"dimfilter_1 | dimfilter_3",
"chart_1"
]
}
}
3. 必要に応じて、各ウィジェットおよび行に属性を設定することによってダッシュボードをカスタマイズし
てください。
たとえば、ステップ 2 の layouts をウィジェットや行の属性を含めるように変更できます。最初のページ
の最初の行の高さは 300 ピクセルです。2 番目のページのグラフウィジェットには、2 つの列の幅がありま
す。
"layouts": {
"default": {
"page:0": [
"buttongroup_2" | row:{height=300}”,
"chart_1"
],
"page:1": [
"dimfilter_1 | dimfilter_3",
"chart_1 {colspan=2}"
]
}
}
4. 必要に応じて、ダッシュボードにデバイス固有および方向固有のレイアウトを設定します。使用できるデ
バイスおよび方向に関するオプションについては、「レイアウトの仕様」の「レイアウトオプション」を
参照してください。
59
レイアウト
モバイルレイアウトの列、行、およびセルのサイズ設定
について
たとえば、ステップ 3 の layouts は、iPad で画面が横向きのときに 1 ページだけ使用するように変更でき
ます。
"layouts": {
"default": {
"page:0": [
"buttongroup_2",
"chart_1"
],
"page:1": [
"dimfilter_1 | dimfilter_3",
"chart_1 {colspan=2}"
]
},
“device:ipad, orientation:landscape”:{
“page:0”: [
“dimfilter_1 | dimfilter_3 | buttongroup_2”,
“chart_1 {colspan=3}”
]
}
}
5. ダッシュボード JSON ページで、[レンズを更新] をクリックしてダッシュボードの編集された JSON を保存し
ます。
6. モバイルデバイスでダッシュボードを表示してダッシュボードの新しいモバイルレイアウトをテストしま
す。
関連トピック:
レイアウトの仕様
レイアウト属性の参照
レイアウトの仕様
モバイルレイアウトの列、行、およびセルのサイズ設定について
ウィジェットのサイズ、行のサイズ、および列の数は動的に決定されますが、JSON で指定することもできま
す。
列の数とサイズの設定方法
モバイルレイアウトの列の数は、行のウィジェットの数に相当します。各行に 3 つのウィジェットがある場
合、ダッシュボードには 3 つの列があります。モバイルレイアウトに 2 つの行があり、最初の行に 4 つのウィ
ジェット、2 番目の行に 5 つのウィジェットがある場合、ダッシュボードには 5 つの列があります。colspan
属性で、どの行のウィジェット数よりも多い列数を指定すると、colspan 属性に合わせてダッシュボードに
列が追加されます。
60
レイアウト
モバイルレイアウトの列、行、およびセルのサイズ設定
について
たとえば、次の layouts セクションがあるダッシュボードでは、最初のページに 3 つの列、2 番目のページ
に 2 つの列があります。
"layouts": {
"default": {
"page:0": [
"buttongroup_2",
"chart_1 {colspan=3}"
],
"page:1": [
"dimfilter_1 | dimfilter_3",
"chart_1"
]
}
}
モバイルレイアウト内の列数を決定する場合には、次のヒントを考慮してください。
• どの列の幅も同じです。ダッシュボードに 4 つの列がある場合、各列の幅は、2 つの列があるダッシュボー
ドの半分になります。
• 表示される列数は、ダッシュボードのページごとに独立して決まります。たとえば、ダッシュボードの最
初のページに 3 つの列、2 番目のページに 4 つの列を表示できます。
• 各ダッシュボードには少なくとも 1 つの列があります。
• ダッシュボードの列数に制限はありません。追加した列数が多すぎると、列の幅が実用に耐えないほど小
さくなることがあります。必ずレイアウトの使いやすさをテストしてください。
行の数と高さの設定方法
次に、各行の高さの計算方法を示します。
• height 属性を使用して行の高さを設定する場合、行の高さは指定した値になります。
• 行の 1 つ以上のウィジェットに優先される高さがある場合、行の高さは、優先される高さで最も高い高さ
になります。
• height 属性がなく、行のウィジェットに優先される高さがない場合、行の高さは使用可能なスペースを
埋めるように動的に拡張されます。複数の行が動的に拡張される場合、それぞれの高さは同じになります。
たとえば、使用可能なスペースが 200 ピクセルで、動的に高さが設定される行が 2 つある場合、各行の高さ
は 100 ピクセルになります。
ウィジェットのサイズ変更方法
サイズが固定されているウィジェットもあれば、動的に拡大縮小するウィジェットもあります。
ウィジェット
幅が固定されている 高さが固定されてい 幅の拡大縮小動作
か?
るか?
高さの拡大縮小動作
リンク
はい
拡大縮小なし
はい
拡大縮小なし
61
レイアウト
レイアウトの仕様
ウィジェット
幅が固定されている 高さが固定されてい 幅の拡大縮小動作
か?
るか?
テキスト
いいえ
1 行の場合は「は
い」。
高さの拡大縮小動作
テキストに合わせて テキストに合わせて
拡大縮小
拡大縮小
複数行の場合は「い
いえ」。
PillButton
いいえ
はい
拡大縮小
拡大縮小なし
ボックス
いいえ
いいえ
拡大縮小
拡大縮小
グラフ
いいえ
いいえ
拡大縮小
拡大縮小
リスト
いいえ
はい
拡大縮小
拡大縮小なし
範囲
いいえ
はい
拡大縮小
拡大縮小なし
数値
いいえ
はい
拡大縮小
拡大縮小なし
レイアウトの仕様
“layouts” セクションは、モバイルデバイスのダッシュボードの表示方法をカスタマイズするために使用さ
れます。
ダッシュボードの JSON ファイルの “layouts” セクションは、“widgets” セクションの子で、“state” およ
び “steps” セクションの兄弟です。次に、典型的な “layouts” セクションの例を示します。
"layouts": {
"default": {
"page:0": [
"widget_name_1",
"widget_name_2"
],
"page:1": [
"widget_name_3 | widget_name_4",
"widget_name_2 {attribute=2}"
]
},
“device:ipad, orientation:landscape”:{
“page:0”: [
“widget_name_1 | widget_name_3 | widget_name_4 | row: {attribute=300}”,
“widget_name_2 {widget_name=3}”
]
}
}
前述の例の widget_name は、JSON ファイルの “widgets” セクションで指定される特定のウィジェットを参
照します。属性 は、「レイアウト属性の参照」に記載されているいずれかの属性を参照します。セルはパイ
62
レイアウト
レイアウトの仕様
プ文字 ( | ) で区切られます。カンマ ( , ) で区切ってセルに複数のウィジェットを含めることができます。行は、
引用符で囲まれた文字列 (引用符で囲まれた各文字列は 1 行) の外側のカンマ ( , ) で区切られます。
簡単な layouts セクション
次に、1 のページに 1 つの列、4 つの行、4 つのウィジェットがある簡単な “layouts” セクションを示します。
"layouts": {
"default": {
"page:0": [
"buttongroup_1",
"dimfilter_1",
“dimfilter_2”,
“chart_1”
]
}
}
複雑な layouts セクション
複雑な “layouts” セクションを使用して、デバイス固有および方向固有の表示ルールを設定できます。次の
“layouts” セクションでは、2 つのページでダッシュボードのウィジェットをレイアウトします。最初のペー
ジの最初の行の高さは 300 ピクセルです。2 番目のページには、2 つの行と 2 つの列があります。最初の行のセ
ルの 1 つに 2 つのウィジェットが含まれます。ボックスウィジェットの 1 つに 3 つの属性セットがあります。
グラフウィジェットは 2 つの列にまたがります。横モードの iPad でダッシュボードが表示される場合、2 つの
行がある 1 つのページのみが表示されます。最初の行には 3 つのウィジェットがあり、2 番目の行には 3 つの
列にまたがる 1 つのウィジェットがあります。
"layouts":
{
"default": {
"page:0": [
"buttongroup_2 | row: {height=300}",
"chart_1"
],
"page:1": [
"dimfilter_1, box_1 {colspan=2, rowspan=2, zIndex=-1, vpad=5, hpad=5} |
dimfilter_2”,"chart_1 {colspan=2}"
]
},
“device:ipad, orientation:landscape”:{
“page:0”: [
“dimfilter_1, box_1 {colspan=2, rowspan=3, zIndex=-1, vpad=5, hpad=5} | dimfilter_2 |
buttongroup_2”,“chart_1 {colspan=3}”
]
}
}
63
レイアウト
レイアウトの仕様
レイアウトのオプション
上記の例は、横モード (“device:ipad, orientation:landscape”) の iPad に固有のレイアウトです。次に、
レイアウトのデバイスおよび方向のオプションを示します。
• “default”: 特定のデバイスまたは方向を対象としていないレイアウト用です。
• “device:ipad, orientation:portrait”: 縦モードの Apple iPad 用です。
• “device:ipad, orientation:landscape”: 横モードの Apple iPad 用です。
• “device:ipad”: 縦モードまたは横モードの Apple iPad 用です。
• “device:iphone”: Apple iPhone 用です (暗黙的に縦モード)。
• “device:external”: 外部デバイス用です (デバイスが HDMI ケーブルでプロジェクターやディスプレイに
接続されている場合など)。external レイアウトを使用するには、[設定] で [プレゼンテーションモード]
を選択します。
• “device:applewatch”: Apple Watch 用です。1 つのスクロールページのみがサポートされます。
• “orientation:portrait”: 縦モードの iPhone または iPad 用です。
• “orientation:landscape”: 横モードの iPad 用です。
メモ: アプリケーションが Apple Watch で表示され、かつ “device:applewatch” レイアウトが存在して
いない場合、アプリケーションはまず “device:iphone” レイアウトの最初のページの形式の変更を試
みます。“device:iphone” が存在していない場合、次に “default” レイアウトの最初のページの使用
を試みます。
メモ: アプリケーションが外部デバイスで表示され、かつ “device:external” レイアウトが存在して
いない場合、アプリケーションはまず “device:ipad” “orientation:landscape” の最初のページの
使用を試みます。“device:ipad” “orientation:landscape” が存在していない場合、次に “default”
レイアウトの最初のページの使用を試みます。
レイアウトのオートフォーマット
“layouts” が指定されていない場合、使用に適したレイアウトの最適な推測を行うオートフォーマットを使
用してダッシュボードが表示されます。レイアウトのオートフォーマットに関する次の事項に注意してくださ
い。
• Apple Watch の場合、オートフォーマットは default レイアウトの最初のページを使用してそれを 1 つの列に
変換します。
• 外部デバイスの場合、オートフォーマットはスクロールできない 1 つのページのみをサポートし、外部ディ
スプレイにすべてのダッシュボードコンテンツを収めようとします。
• オートフォーマットでサポートされる各デバイスの列数には制限があります (下記の表を参照)。
デバイス
オートフォーマットでサポートされる最大列数
Apple Watch
1
Apple iPhone
2
Apple iPad
4
64
レイアウト
レイアウトの仕様
オートフォーマットはデフォルトで有効になっています。モバイルレイアウトを使用できない、入念に設計さ
れたダッシュボードなどの場合に、オートフォーマットを無効にするには、"layouts": "" のように空の
“layouts” 属性を “state” 属性の下に追加します。
layouts セクションを含むダッシュボード JSON ファイルの例
次に、“layouts” セクションを含むダッシュボード JSON ファイルの例を示します。
{
"name_lc": "purchases by customer",
"state": {
"widgets": {
"buttongroup_1": {
"parameters": {
"measureField": "count",
"step": "Region_3"
},
"type": "PillBox",
"position": {
"w": 280,
"zIndex": 1,
"y": 30,
"x": 540
}
},
"chart_1": {
"parameters": {
"chartType": "vbar",
"step": "Customer_Name_1"
},
"type": "Chart",
"position": {
"w": 810,
"zIndex": 0,
"y": 150,
"h": 470,
"x": 10
}
},
"dimfilter_1": {
"parameters": {
"measureField": "count",
"expanded": false,
"step": "Customer_Name_1"
},
"type": "ListSelector",
"position": {
"w": 250,
"zIndex": 100001,
"y": 50,
"h": 50,
"x": 10
}
65
レイアウト
レイアウトの仕様
},
"dimfilter_2": {
"parameters": {
"measureField": "count",
"expanded": false,
"step": "Product_Name_2"
},
"type": "ListSelector",
"position": {
"w": 250,
"zIndex": 100002,
"y": 50,
"h": 50,
"x": 280
}
}
},
"steps": {
"Region_3": {
"isFacet": true,
"start": null,
"query": {
"measures": [
[
"count",
"*"
]
],
"groups": [
"Region"
]
},
"visualizationParameters": {
"visualizationType": "hbar"
},
"selectMode": "single",
"useGlobal": true,
"datasets": "SuperStoreSales",
"type": "aggregate",
"isGlobal": false
},
"Product_Name_2": {
"isFacet": true,
"start": null,
"query": {
"measures": [
[
"count",
"*"
]
],
"groups": [
"Product_Name"
]
66
レイアウト
レイアウトの仕様
},
"visualizationParameters": {
"visualizationType": "hbar"
},
"selectMode": "single",
"useGlobal": true,
"datasets": "SuperStoreSales",
"type": "aggregate",
"isGlobal": false
},
"Customer_Name_1": {
"isFacet": true,
"start": null,
"query": {
"measures": [
[
"count",
"*"
]
],
"groups": [
"Customer_Name"
]
},
"visualizationParameters": {
"visualizationType": "hbar"
},
"selectMode": "single",
"useGlobal": true,
"datasets": "SuperStoreSales",
"type": "aggregate",
"isGlobal": false
}
},
"layouts": {
"default": {
"page:0": [
"buttongroup_1 | row: {height=300}" ,
"chart_1"
],
"page:1": [
"dimfilter_1 | dimfilter_2",
"chart_1 {colspan=2}"
]
},
“device:ipad, orientation:landscape”:{
“page:0”: [
“dimfilter_1 | dimfilter_3 | buttongroup_2”,
“chart_1 {colspan=3}”
]
}
}
},
"lastRefresh": 1425493084,
67
レイアウト
レイアウトの仕様
"_uid": "0FKD000000000BUOAY",
"_createdBy": {
"_type": "user",
"profilePhotoUrl": "https://c. <myorg>/profilephoto/005/T",
"name": "Admin User",
"_uid": "005D0000001V97kIAC"
},
"folder": {
"_type": "folder",
"_uid": "00lD00000013RRvIAM"
},
"edgemarts": {
"emName": {
"_type": "edgemart",
"_uid": "0FbD00000004CjcKAE"
}
},
"_type": "dashboard",
"_container": {
"_container": "0FKD000000000BUOAY",
"_type": "container"
},
"_createdDateTime": 1426201221,
"assetSharingUrl": "https://
<myorg>/analytics/wave/dashboard?assetId=0FKD000000000BUOAY&orgId=00DD00000007hUM&loginHost=
<myorg>.com&urlType=sharing",
"_permissions": {
"modify": true,
"view": true
},
"description": "",
"_url": "/insights/internal_api/v1.0/esObject/lens/0FKD000000000BUOAY/json",
"name": "Purchases by Customer",
"_files": {
"assetPreviewThumb": {
"fileSize": 8666,
"_type": "lensfile",
"lastModified": 1426202487,
"_url":
"/insights/internal_api/v1.0/esObject/lens/0FKD000000000BUOAY/lensfile/0FJD0000000008VOAQ/data?lastModified=1426202487",
"lensId": "0FKD000000000BUOAY",
"fileName": "assetPreviewThumb",
"contentType": "image/png",
"_uid": "0FJD0000000008VOAQ"
}
68
レイアウト
レイアウト属性の参照
}
}
関連トピック:
ダッシュボードのモバイルレイアウトの使用
ダッシュボードのモバイルレイアウトの使用
レイアウト属性の参照
レイアウト属性の参照
ウィジェット、行、およびセルの属性を設定して、その高さ、幅、パディングなどをカスタマイズします。
ウィジェット属性
ウィジェットに次の属性を設定できます。各ウィジェットに属性を 0 個以上選択できます。
プロパティ名
詳細
colspan
型
整数
次のウィジェットで使用可能
• すべてのウィジェット
説明
列内のウィジェットの幅。ウィジェットに colspan 属性を設定すると、そのウィ
ジェットを含むセルは複数の列にまたがります。ダッシュボードに colspan で指定
された幅を表示するのに十分な列数がない場合、そのダッシュボードに列が追加さ
れます。
例
この例では、“chart_1” という名前のウィジェットが 3 列にまたがります。
"layouts": {
"default": {
"page:0": [
“dimfilter_1 | dimfilter_2 | dimfilter_3”,
"chart_1 {colspan=3}"
]
}
}
rowspan
型
整数
次のウィジェットで使用可能
• すべてのウィジェット
69
レイアウト
プロパティ名
レイアウト属性の参照
詳細
説明
ウィジェットがまたがる行数。ウィジェットに rowspan 属性を設定すると、その
ウィジェットを含むセルは複数の行にまたがります。ダッシュボードに十分な行が
ない場合、行が追加されます。
例
この例では、“dimfilter1_1” という名前のウィジェットが 2 行にまたがります。
"layouts": {
"default": {
"page:0": [
“dimfilter_1 {rowspan=2} | dimfilter_2”,
"chart_1"
]
}
}
zIndex
型
整数
次のウィジェットで使用可能
• すべてのウィジェット
説明
ウィジェットの位置は、ダッシュボードの他のウィジェットに対して相対的です。
zIndex では、ウィジェットが別のウィジェットの前後どちらに位置するかを指定し
ます。zIndex 値が小さいウィジェットは、zIndex 値が大きい他のウィジェットよ
りも後ろに表示されます。
zIndex のデフォルト値は 0 です。
例
この例では、“box_1” という名前のウィジェットが “number_1” という名前のウィ
ジェットの後ろに表示されます。
"layouts": {
"default": {
"page:0": [
“box_1 {zIndex=1}, number_1 {zIndex=2} | chart_1”
]
}
}
vpad
型
整数
次のウィジェットで使用可能
• すべてのウィジェット
70
レイアウト
プロパティ名
レイアウト属性の参照
詳細
説明
ウィジェットのセルの上下に追加されるパディング (ピクセル単位)。vpad が 10 の場
合、セルの上下に 10 ピクセルが追加されます。
vpad のデフォルト値は 0 です。
例
この例では、“dimfilter_1” という名前のウィジェットを含むセルの上下に 5 ピク
セルのパディングがあります。
"layouts": {
"default": {
"page:0": [
“dimfilter_1 {vpad=5}”
]
}
}
hpad
型
整数
次のウィジェットで使用可能
• すべてのウィジェット
説明
ウィジェットのセルの左右に追加されるパディング (ピクセル単位)。hpad が 10 の場
合、セルの左右に 10 ピクセルが追加されます。負の値を割り当てることができます。
hpad のデフォルト値は 0 です。
例
この例では、“dimfilter_1” という名前のウィジェットを含むセルの上下に 5 ピク
セルのパディングがあります。
"layouts": {
"default": {
"page:0": [
“dimfilter_1 {hpad=5}”
]
}
}
vAxisWidth
型
整数
次のウィジェットで使用可能
• グラフウィジェット (Chart)
71
レイアウト
プロパティ名
レイアウト属性の参照
詳細
説明
グラフウィジェットの X 軸のサイズ (ピクセル単位)。vAxisWidth を使用して複数の
グラフウィジェットを配置します。
例
この例では、“chart_1” という名前のウィジェットに 250 ピクセルの幅の X 軸があ
ります。
"layouts": {
"default": {
"page:0": [
“chart_1 {vAxisWidth=250}”
]
}
}
hAxisHeight
型
整数
次のウィジェットで使用可能
• グラフウィジェット (Chart)
説明
グラフウィジェットの Y 軸のサイズ (ピクセル単位)。hAxisHeight を使用して複数
のグラフウィジェットを配置します。
例
この例では、“chart_1” という名前のウィジェットに 250 ピクセルの高さの Y 軸が
あります。
"layouts": {
"default": {
"page:0": [
“chart_1 {hAxisHeight=250}”
]
}
}
行属性
行に次の属性を設定できます。
72
レイアウト
レイアウト属性の参照
プロパティ名
詳細
height
説明
height に数値が設定されている場合、height は行の高さ (ピクセル単位) です。
height に preferred が設定されている場合、行の高さは最大の高さと等しくなり
ます。
例
この例では、最初の行の高さは 300 ピクセルです。2 番目の行の高さは、最も高い
ウィジェットの高さと等しくなります。
"layouts": {
"default": {
“page:0”: [
“chart_1 {colspan=3} | row:{height=300}”,
“dimfilter_1 | buttongroup_1 | number_1 | row:{height=preferred}”
]
}
}
関連トピック:
ダッシュボードのモバイルレイアウトの使用
レイアウトの仕様
73
第9章
滝グラフの例
waterfall chartType のグラフウィジェットの JSON の例を示します。
サンプル JSON
"ng1":
{
"type": "Chart",
"position": {
"x": 0,
"y": 0,
"w": 380,
"h": 320
},
"parameters": {
"step": "step_one_dim",
"totalColor": "rgb(163, 24, 147)",
"chartType": "waterfall"
}
}
74
滝グラフの例
グラフウィジェット
75
第 10 章
積み上げ滝グラフの例
stackwaterfall chartType のグラフウィジェットの JSON の例を示します。
サンプル JSON
"ng2":
{
"type": "Chart",
"position": {
"x": 450,
"y": 0,
"w": 440,
"h": 320
},
"parameters": {
"step": "step_two_dims",
"chartType": "stackwaterfall",
“computeTotal”: false,
“showValues”: false,
“legend”: true
}
}
76
積み上げ滝グラフの例
グラフウィジェット
77
第 11 章
複合グラフの例
combo chartType の JSON の例を示します。
サンプル JSON
"chart_19":
{
"type": "Chart",
"position": {
"zIndex": 18,
"x": 0,
"y": 10,
"w": 990,
"h": 430
},
"parameters": {
"step": "FiscalYear_FiscalQuarter_6",
"visualizationType": "combo",
“dualAxis”: true
}
},
78
Fly UP