はじめに
-
小さいステップを自動ファセットする。つまり、相互に関連する、さまざまなウィジェットがリンクされます。
-
バインドとテンプレートを解決する。
-
すべてのステップを SAQL クエリに変換する。
SAQL クエリはクエリエンジンに送信されて実行されます。生成されるデータは Charting ライブラリに渡されて、対応するウィジェット定義が使用されて表示されます。
開発者は、Analytics REST API によって、またはダッシュボード JSON に含まれる SAQL クエリの作成や編集を行うことによって SAQL を記述し、Analytics データにアクセスできます。
SAQL クエリは、入力データセットを読み込み、そのデータセットに対して操作を実行し、結果のデータセットを出力します。各 SAQL ステートメント (filter、group、order などの予約キーワード) には、入力ストリーム、操作、出力ストリームがあります。ステートメントは複数行にわたることができ、セミコロンで終了します。
各クエリ行は指定ストリームに割り当てられます。指定ストリームは、同一クエリの後続ステートメントの入力として使用できます。このルールの唯一の例外は、明示的な割り当てが不要なクエリの最終行です。
クエリは一般的に数ステップ、つまりレイヤを通過し、要求されたデータを JSON として返します。このジャーニーが始まるクエリエンジンコードは、非常に高速に実行されるように設計されており、データも非常に効率的にインデックス設定されるため、クエリ操作 (filter、group、foreach など) は高度に最適化されます。
その後、データは本質的に表形式になるため、filter、group、cogroup、foreach、union などの主なクエリ操作はあまり最適化されず、さらなる処理が必要となります。
SAQL は一般的に、派生基準またはディメンションを作成するために使用します。既存の列に基づく計算を利用し、新しい列を作成できると言うこともできます。これらの計算は、2 つの基準を加算したり、2 つのディメンションを連結したりというように、非常に単純であることもあれば、非常に複雑になることもあります。