制限

このユースケースでは、2023年に発生した製品名の上位5件についてレポートする必要があります。

Customer Journey Analytics

使用例の​Limit パネルの例:

Customer Journey Analytics制限パネル ​

BI ツール
note prerequisites
PREREQUISITES
接続が成功したことを検証し、データビューを一覧表示でき、このユースケースを試すBI ツールにデータビューを使用していることを確認します。
tabs
Power BI デスクトップ
  1. データ ペインで、次の操作を行います。

    1. daterange​を選択します。
    2. product_name​を選択します。
    3. 合計回数​を選択します。
  2. フィルター ペインで、次の操作を行います。

    1. このビジュアル フィルターから​ daterange is (All) ​を選択します。
    2. 相対日付​を​ フィルタータイプ ​として選択します。
    3. 値​ ​が過去​ 1暦年​ の場合、フィルターを ​項目を表示するように定義します。
    4. フィルターを適用」を選択します。
    5. このビジュアル フィルターから​ product_name is (All) ​を選択します。
    6. 上位N​を​ フィルタータイプ ​として選択します。
    7. 項目を表示 上位 5 を値​で選択します。
    8. データ ペインから​ 合計回数 ​をドラッグ&ドロップし、ここにデータフィールドを追加​します。
    9. フィルターを適用」を選択します。
  3. ビジュアライゼーションペインで、次の操作を行います。

    • CrossSize75を選択して、列からデータレンジを削除します。

    Power BI デスクトップは以下のようになります。

    日付範囲名をフィルターに使用する Power BI デスクトップ ​

BI拡張機能を使用してPower BI Desktopで実行されるクエリにlimit文が含まれていますが、想定されているものではありません。 上位5件に対する制限は、明示的な製品名の結果を使用してPower BI Desktopによって適用されます。

code language-sql
select "_"."product_name",
    "_"."a0"
from
(
    select "rows"."product_name" as "product_name",
        sum("rows"."occurrences") as "a0"
    from
    (
        select "_"."daterangeName",
            "_"."daterange",
            "_"."filterId",
            "_"."filterName",
            "_"."timestamp",
            "_"."affiliate_name",
            "_"."affiliate_url",
            "_"."commerce.order.priceTotal",
            "_"."customer_city",
            "_"."customer_region",
            "_"."daterangeday",
            "_"."daterangefifteenminute",
            "_"."daterangefiveminute",
            "_"."daterangehour",
            "_"."daterangeminute",
            "_"."daterangemonth",
            "_"."daterangequarter",
            "_"."daterangesecond",
            "_"."daterangethirtyminute",
            "_"."daterangeweek",
            "_"."daterangeyear",
            "_"."hitdatetime",
            "_"."page_name",
            "_"."page_url",
            "_"."product_category",
            "_"."product_name",
            "_"."product_short_review",
            "_"."product_subCategory",
            "_"."referrer_url",
            "_"."search_engine",
            "_"."search_keywords",
            "_"."store_city",
            "_"."store_name",
            "_"."store_region",
            "_"."store_type",
            "_"."timepartdayofmonth",
            "_"."timepartdayofweek",
            "_"."timepartdayofyear",
            "_"."timeparthourofday",
            "_"."timepartminuteofhour",
            "_"."timepartmonthofyear",
            "_"."timepartquarterofyear",
            "_"."timepartweekofyear",
            "_"."cm_session_end_rate_defaultmetric",
            "_"."cm_session_person_defaultmetric",
            "_"."cm_session_start_rate_defaultmetric",
            "_"."cm_timespent_person_defaultmetric",
            "_"."cm_timespent_session_defaultmetric",
            "_"."cm_product_name_count_distinct",
            "_"."ad_views",
            "_"."adobe_sessionends",
            "_"."adobe_sessionstarts",
            "_"."adobe_timespent",
            "_"."exchange_buybacks",
            "_"."exchange_cost",
            "_"."exchange_purchases",
            "_"."exchange_revenue",
            "_"."occurrences",
            "_"."page_views",
            "_"."product_quantity",
            "_"."product_reviews",
            "_"."product_views",
            "_"."purchase_revenue",
            "_"."purchases",
            "_"."visitors",
            "_"."visits"
        from "public"."cc_data_view" "_"
        where (("_"."product_name" in ('Saltwater Monofilament Line', 'Pop-Up Beach Tent', 'Instant Pop-Up Tent', 'Envelop Sleeping Bag', 'Waterproof Tackle Bag')) and "_"."daterange" < date '2024-01-01') and "_"."daterange" >= date '2023-01-01'
    ) "rows"
    group by "product_name"
) "_"
where not "_"."a0" is null
limit 1000001
Tableau Desktop
  1. 下部の「シート 1」タブを選択して、データソース​から切り替えます。 シート 1 ビューで:

    1. フィルター シェルフの​テーブル リストから​Daterange エントリをドラッグします。

    2. フィルターフィールド [Daterange] ダイアログで、日付の範囲​を選択し、次>​を選択します。

    3. フィルター[Daterange] ダイアログで、相対日付​を選択し、​を選択し、前年​を選択します。 適用​と​ OK ​を選択します。

    4. 製品名​を​ リストから​ ​にドラッグします。

    5. テーブル リストから​発生回数 エントリをドラッグし、​の横にあるフィールドにエントリをドロップします。 値が​ SUM (Occurrences) ​に変更されます。

    6. 自分を表示​から​ テキストテーブル ​を選択します。

    7. フィット」ドロップダウンメニューから「フィット幅」を選択します。

    8. ​の​ 製品名 ​を選択します。 ドロップダウンメニューから「フィルター」を選択します。

      1. フィルター[製品名] ダイアログで、「トップ」タブを選択します。

      2. 件のフィールドを選択: 上位 5 件の項目 合計

      3. 適用​と​ OK ​を選択します。

        AlertRed テーブルが消えることに気付きました。 上位5つの製品名を出現順に選択すると、このフィルターを使用して​ not ​が正しく機能します。

      4. フィルター シェルフで​ 製品名 ​を選択し、ドロップダウンメニューから​ 削除 ​を選択します。 テーブルが再び表示されます。

    9. Marks シェルフの​ SUM (Occurrences) ​を選択します。 ドロップダウンメニューから「フィルター」を選択します。

      1. フィルター[発生件数] ダイアログで、少なくとも​を選択します。

      2. 値として47.799を入力します。 この値を指定すると、上位5つの項目のみが表に表示されます。 適用​と​ OK ​を選択します。

        Tableau デスクトップは以下のようになります。

        Tableau デスクトップの制限

上に示すように、Tableau Desktopで実行されるこのクエリは、製品名に上位5件の発生回数フィルターを定義する際に失敗します。

code language-sql
SELECT CAST("cc_data_view"."product_name" AS TEXT) AS "product_name",
  SUM("cc_data_view"."occurrences") AS "sum:occurrences:ok"
FROM "public"."cc_data_view" "cc_data_view"
  INNER JOIN (
  SELECT CAST("cc_data_view"."product_name" AS TEXT) AS "product_name",
    SUM("cc_data_view"."occurrences") AS "$__alias__0"
  FROM "public"."cc_data_view" "cc_data_view"
  GROUP BY 1
  ORDER BY 2 DESC,
    1 ASC
  LIMIT 5
) "t0" ON (CAST("cc_data_view"."product_name" AS TEXT) = "t0"."product_name")
WHERE (("cc_data_view"."daterange" >= (TIMESTAMP '2023-01-01 00:00:00.000')) AND ("cc_data_view"."daterange" < (TIMESTAMP '2024-01-01 00:00:00.000')))
GROUP BY 1

Tableau Desktopで実行されるクエリは、発生時に上位5個のフィルターを定義する際に次のように表示されます。 この制限は、クエリおよび適用されたクライアントサイドには表示されません。

code language-sql
SELECT CAST("cc_data_view"."product_name" AS TEXT) AS "product_name",
  SUM("cc_data_view"."occurrences") AS "sum:occurrences:ok"
FROM "public"."cc_data_view" "cc_data_view"
WHERE (("cc_data_view"."daterange" >= (TIMESTAMP '2023-01-01 00:00:00.000')) AND ("cc_data_view"."daterange" < (TIMESTAMP '2024-01-01 00:00:00.000')))
GROUP BY 1
Looker
  1. Lookerの​Explore インターフェイスで、接続を更新します。 「 設定 キャッシュをクリアして更新」を選択します。

  2. Lookerの​Explore インターフェイスで、クリーンな設定が行われていることを確認します。 そうでない場合は、 設定 フィールドとフィルターの削除​を選択します。

  3. フィルター」の下の「+ フィルター」を選択します。

  4. フィルターを追加 ダイアログ:

    1. ‣ Cc データビュー​を選択
    2. フィールドのリストから、}‣ Daterange Date、次に​ Daterange Date ​を選択します。
      Looker フィルター
  5. Cc データビューの日付変更日 フィルターを​が範囲 2023/01/01 から(前) 2024/01/01​に指定します。

  6. 左側のパネルの​‣ Cc データビュー セクションから:

    1. 製品名​を選択します。
    2. 左パネル(下部)の​ 測定 ​の下にある​ カウント ​を選択します。
  7. 購入収益​列で​降順、並べ替え順序:1)を選択していることを確認してください。

  8. 購入収益​列で​降順、並べ替え順序:1)を選択していることを確認してください。

  9. 実行​を選択します。

  10. 」‣ビジュアライゼーション​を選択します。

次のようなビジュアライゼーションと表が表示されます。

Looker count distinct

BI拡張機能を使用してLookerで生成されたクエリにはFETCH NEXT 5 ROWS ONLYが含まれます。これは、LookerとBI拡張機能を使用して制限が実行されることを意味します。

code language-sql
-- Looker Query Context '{"user_id":6,"history_slug":"a8f3b1ebd5712413ca1ae695090f70db","instance_slug":"71d4667f0b76c0011463658f45c3f7a3"}'
SELECT
    cc_data_view."product_name"  AS "cc_data_view.product_name",
    COUNT(*) AS "cc_data_view.count"
FROM
    "public"."cc_data_view" AS "cc_data_view"
WHERE ((( cc_data_view."daterange"  ) >= (DATE_TRUNC('day', DATE '2023-01-31')) AND ( cc_data_view."daterange"  ) < (DATE_TRUNC('day', DATE '2024-01-01'))))
GROUP BY
    1
ORDER BY
    2 DESC
FETCH NEXT 5 ROWS ONLY
Jupyter Notebook
  1. 新しいセルに次のステートメントを入力します。

    code language-python
    data = %sql SELECT product_name AS `Product Name`, COUNT(*) AS Events \
                FROM cc_data_view \
                WHERE daterange BETWEEN '2023-01-01' AND '2023-02-01' \
                GROUP BY 1 \
                ORDER BY `Events` DESC \
                LIMIT 5;
    display(data)
    
  2. セルを実行します。 以下のスクリーンショットのような出力が表示されます。

    Jupyter Notebookの結果

クエリは、Jupyter Notebookで定義されているBI拡張機能によって実行されます。

RStudio
  1. 新しいチャンクに次のコードブロックを入力します。

    code language-r
    ## Dimension 1 Limited
    df <- dv %>%
       filter(daterange >= "2023-01-01" & daterange < "2024-01-01") %>%
       group_by(product_name) %>%
       count() %>%
       arrange(desc(n), .by_group = FALSE) %>%
       head(5)
    print(df)
    
  2. チャンクを実行します。 以下のスクリーンショットのような出力が表示されます。

    RStudio結果

BI拡張機能を使用してRStudioが生成したクエリにはLIMIT 5が含まれます。これは、RStudioとBI拡張機能を使用して制限が適用されることを意味します。

code language-sql
SELECT "product_name", COUNT(*) AS "n"
FROM (
  SELECT "cc_data_view".*
  FROM "cc_data_view"
  WHERE ("daterange" >= '2023-01-01' AND "daterange" < '2024-01-01')
) AS "q01"
GROUP BY "product_name"
ORDER BY "n" DESC
LIMIT 5
recommendation-more-help
analytics-platform-help-main