この記事の目次
Salesforceの関数「median」とは?またTableau CRMとは?

SAQL(Salesforce Analytics Query Language)とは
SAQL(Salesforce Analytics Query Language)とは、Tableau CRM上にて分析結果データであるAnalytics Cloudデータセットのデータにアクセスするためのクエリ言語です。 そしてSAQL集計関数とは、Salesforceの「Tableau CRM」を用いたデータ分析において、SAQLにおけるグループ化された項目のすべての値を対象に計算および値抽出を行うためのクエリ関数です。つまりこの中のひとつが「median」(対象内の中央値を返す)となります。Tableau CRMとは
Tableau CRMとはSalesforceのAI分析ツール、BIツール(旧称:Einstein Analytics)です。 Salesforceや外部データを一元化してクロス分析を行うことができます。 その際のアクション実行によりSAQLクエリが生成、実行され、結果は「Analytics Cloud データセット」に格納されます。 つまり、ここの反映、表示するためのデータ処理をSAQLにて行います。Analytics Cloud、Analytics Cloudデータセットとは
Analytics Cloudは、レンズ、ダッシュボード、およびエクスプローラのバックグラウンドで SAQL を使用して視覚化のためのデータを収集します。そのデータ項がAnalytics Cloud データセットです。 つまり、このデータを計算・抽出することによって、Tableau CRM上にて要求されている表示用の解析データを導き出します。Salesforce(Tableau CRM)でSAQLクエリを実行する処理、およびその背景に関して

Tableau CRMでのSAQLクエリ処理を実行する
Tableau CRMでアクションを実行すると、多くの場合、SAQL クエリが 1つ以上生成されます。すべてのレンズ、ダッシュボード、エクスプローラでのアクションにより、SAQL クエリが生成されて実行され、表示に必要なデータが構築されます。 ・Tableau CRM REST API Analytics Cloud データにアクセスして分析する独自のアプリケーションを作成したり、既存のアプリケーションとデータを統合したりします。 ・ダッシュボード JSON 高度なダッシュボードを作成します。ダッシュボードは、グラフ、総計値、およびテーブルで構成されます。 ・比較テーブル:SAQL を使用すると、テーブル内のデータで計算を実行し、その結果を新しい列に追加できます。 ・データフロー時の変換:SAQL を使用すると、Tableau CRM にデータを取り込む際に操作や計算が実行できます。 ・Tableau CRM ダッシュボードでの SAQL の使用 Tableau CRM Studio ユーザインターフェースを使用して、既存の SAQL クエリを変更したり、新規作成したりします。ユーザインターフェースで SAQL クエリを作成することは、使用を開始する簡単な方法です。 ・ブラウザでの SAQL ログの有効化 SAQL と Einstein Analytics Cloud の操作に Google Chrome を使用している場合、SAQL ログをオンにできます。Salesforce(Tableau CRM)への実際のSAQL記述開始の方法、および例文の内容説明

SAQLクエリの作成と例文の説明
Tableau CRM組織で新しいダッシュボードを作成します。その後で、簡単なグラフを追加して、生成された SAQLを確認します。 Tableau CRM組織で、新しいダッシュボードを作成します。 [作成] をクリックします。 [ダッシュボード] をクリックします。 ウィンドウで、ダッシュボードテンプレートを選択して [空白のダッシュボード] をクリックし、[続行] をクリックします。 グラフウィジェットをダッシュボードキャンバスにドラッグします。 グラフウィジェットで、[グラフ] をクリックし、[DTC Opportunity (DTC 商談)] データセットを選択します。 [SAQL モード] ボタンをクリックして、SAQLエディタを起動します。 [SAQL モード] ボタン SAQLエディタには、データを取得してグラフを表示するために使用されるSAQL クエリが表示されます。 1 q = load “”DTC_Opportunity_SAMPLE””; 2 q = group q by all; 3 q = foreach q generate count() as ‘count’; 4 q = limit q 2000; では、クエリを1行ずつ見ていきましょう。 1:q = load “”DTC_Opportunity_SAMPLE””; これにより、グラフウィジェットの作成時に選択したデータセットが読み込まれます。変数qを使用して、残りのSAQLステートメントでこのデータセットにアクセスできます。 2:q = group q by all; 一部のクエリでは、取引先IDなどの特定の項目でグループ化します。この例では、グラフの作成時にグルーピングは指定していません。データをグループ化しない場合は、group by allを使用します。 3: q = foreach q generate count() as ‘count’; これにより、クエリの出力が生成されます。この簡単なクエリでは、DTC Opportunity データセットの行数をカウントしているだけです。 4:q = limit q 2000; これにより、返される結果の数が2000に制限されます。結果の数を制限すると、パフォーマンスが向上します。ただし、qに2000を超える結果を格納する場合、この数を増やすことができます。 [戻る] をクリックすると、グラフに戻ります。UIを使用してグラフを変更し、生成されたSAQLを確認できます。関数「median」例文の解説

q = load ""Case"";
q = group q by 'Account_Name';
q = foreach q generate 'Account_Name' as 'Account_Name', median('CallDuration') as 'median_CallDuration';
q = order q by 'Account_Name' asc;
1:q = load “”Case””;
これにより、ケース関連のデータセットが読み込まれます。変数qを使用して、残りのSAQL ステートメントでこのデータセットにアクセスできます。
2:q = group q by ‘Account_Name’;
データセット上のレコードを、アカウント名項目「Account_Name」でグループ化します。そして結果を変数qに上書きします。
3:q = foreach q generate ‘Account_Name’ as ‘Account_Name’, median(‘CallDuration’) as ‘median_CallDuration’;
クエリの出力が生成します。
処理としては
項目「Account_Name」としてそれぞれのアカウント名(Account_Name)として格納
項目「median_CallDuration」として、ケース解決に要した時間「CallDuration」 の中央値を関数「median」で求めた上で、その値を格納
(Account_Name、median_CallDuration)を1レコードとして’Account_Name’ 数分繰り返します。
処理が終了したら結果を変数qに上書きします。
4:q = order q by ‘Account_Name’ asc;
項目「Account_Name」を昇順(asc)でソートし変数qへ上書きします。
SAQLクエリの記述の基本をおさえた上で集計関数「median」の使い方もしっかり押さえよう!

この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞