すべてのその他のクエリパラメータを確認する
Warning
このページでは、ForePaaS レガシープラットフォームについて説明しています。このプラットフォームは新規登録を受け付けていません。OVHcloud Data Platformを使用している場合は、Analytics Managerを参照してください。
この記事では、ForePaaSで使用されるその他の使用頻度が低いパラメータについて説明します。特に、以下の内容をカバーします:
- limit - クエリの出力数を制限する機能
- order - クエリの出力を他の属性に基づいて並べ替える機能
- table_name - データを取得するテーブルを設定する機能
- skip - クエリの最初の出力の一部をスキップする機能
- hints - 生のJSONクエリレスポンスにさらに多くのメタデータを表示する機能
- total - 複数のスケールで合計を計算する際に部分合計を計算する機能
Limit
一度に大量の情報を表示すると、ブラウザがフリーズする可能性があります。これは、ブラウザがすべてのライブメモリを使用するためです。したがって、クエリによって返される行数を制限したいことがよくあります。これは、limit サブパラメータを希望する数値に設定することで行うことができます。
デフォルトでは、クエリを活用するウェブページを過負荷に陥るリスクを防ぐために、制限は5000に設定されています。これは最大値ではありません。"limit"パラメータを別の値に設定する場合、その条件を上書きすることができます。
例えば、1月の2行を表示しようとします。対応するJSONは以下の通りです:
{
"data": {
"fields": {
"date": [
"select"
],
"amount": [
"select"
]
},
"limit" : 2
},
"scale": {
"fields": []
},
"filter": {
"month": [
1
],
"year": [
2018
]
},
"order": {}
}
これにより、次の結果が得られます:

Order
クエリによって返される結果は、1つ以上のフィールドの値の昇順または降順に基づいて並べ替えることができます。そのためには、JSON設定にorderパラメータを追加し、出力を並べ替えるフィールドとその方向のリストを指定する必要があります。
例えば、1月のデータを昇順に並べ替えようとします。対応するJSONは以下の通りです:
{
"data": {
"fields": {
"amount": [
"select"
],
"date": [
"select"
] ,
"month": [
"select"
] ,
"year": [
"select"
]
}
},
"scale": {
"fields": []
},
"filter": {
"month": [
1
],
"year": [
2018
]
},
"order": {
"date" : "asc"
}
}
これにより、次の結果が得られます:

Table Name
dataパラメータの記事で述べたように、table_nameパラメータを設定すると、クエリビルダーがデータモデルの特定のテーブルからデータを取得するようになります。
例えば、クエリビルダーによって要求されたデータが"prim_revenue"テーブルから取得されたことを確認したい場合、次のJSON設定を使用します:
{
"data": {
"fields": {
"amount": [
"sum"
],
"month": [
"select"
],
"year": [
"select"
]
}
},
"scale": {
"fields": [
"month"
,
"year"
]
},
"filter": {},
"order": {},
"table_name":"prim_ca"
}
Skip
skipサブパラメータを使用すると、最終的な出力から特定の行をスキップできます。
例えば、出力が特定の順序で並べ替えられた場合、最初の5行または最初の10行の出力を削除したい場合があります。この場合、JSON設定は次のようになります:
{
"data": {
"fields": {
"date": [
"select"
],
"amount": [
"select"
]
},
"skip": 10
},
"scale": {
"fields": []
},
"filter": {},
"order": {}
}
Hints
hintsサブパラメータを使用すると、skipおよびlimitパラメータを考慮せずに、要求が生成する行の総数を含む、クエリビルダーからのJSONレスポンスに追加のメタデータを取得できます。JSON設定にhintsパラメータを追加するには、次のようにします:
{
"data": {
"fields": {
"date": [
"select"
],
"amount": [
"select"
]
},
"limit": 2,
"skip": 5,
"hints": true
},
"scale": {
"fields": []
},
"filter": {},
"order": {}
}
クエリ出力への影響を確認するには、直接生のJSON形式を確認する必要があります。そのためには、クエリの編集ビューで出力表示ウィンドウで「JSON」オプションを選択します:

次の結果が表示されます(実際のクエリ出力はresultsキーで折りたたまれており、JSONオブジェクトのテーブルとして値を出力します):
{
"success": true,
"cache": false,
"timestamp": 1559896936,
"duration": 0.11,
"error": null,
"warning": null,
"hints": 13,
"query_params": {
"data": {
"fields": {
"date": [
"select"
],
"amount": [
"select"
]
},
"limit": 2,
"skip": 5,
"hints": true
},
"scale": {
"fields": []
},
"filter": {},
"order": {}
},
"table_name": "prim_income",
"results": [...]
}
Total
例えば、「mydata」というメジャーの合計を「my_scale1」と「my_scale2」という2つのスケールに基づいて計算しているとします。クエリは次のようになります:
...
"data": {
"fields": {
"mydata": ["SUM"]
}
},
"scale": {
"fields": ["my_scale1","mys_cale2"]
}
...
このクエリは、次のSQLクエリと同じ結果を生成します:
SELECT SUM(mydata) FROM .... GROUP BY my_scale1, my_scale2
そして、次のような表を作成するために出力データを簡単に使用できます:
クエリにtotal属性を追加します:
...
"data": { },
"scale": { },
"total": {
"all": [],
"x": [myscale1],
"y": [myscale2]
}
...
これにより、次のレンダリングが可能になります:
実際には、4つの異なるSQLクエリが必要になります:
SELECT SUM(mydata) FROM ... GROUP BY my_scale1, my_scale2
SELECT SUM(mydata) FROM ...
SELECT SUM(mydata) FROM .... GROUP BY my_scale1
SELECT SUM(mydata) FROM .... GROUP BY my_scale2
直接質問を送信するには、こちらをクリックしてください 👨🏻💻