制限

このユースケースでは、2023 年中に発生した上位 5 回の製品名についてレポートします。

Customer Journey Analytics

このユースケースの例では 制限 パネルは次のようになります。

Customer Journey Analytics制限パネル

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

    1. daterange を選択します。
    2. product_name を選択します。
    3. 発生件数の合計 を選択します。
  2. フィルター パネルで、次の操作を行います。

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

    • CrossSize75 を選択して、Columns から daterange を削除します。

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

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

BI 拡張機能を使用してPower BI Desktop が実行するクエリには、limit ステートメントが含まれていますが、想定されたステートメントは含まれていません。 Power BI デスクトップでは、明示的な製品名の結果を使用して、上位 5 件の発生件数の制限が適用されます。

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 (発生件数)」に変わります。

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

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

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

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

      2. フィールド別: 上位 5 発生件数別 合計 を選択します。

      3. 適用 および OK を選択します。

        AlertRed テーブルが消えていることがわかります。 発生件数別に上位 5 つの製品名を選択しても、このフィルターを使用して正しく機能しない ​場合。

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

    9. マーク シェルフで SUM (発生件数) を選択します。 ドロップダウンメニューから フィルター を選択します。

      1. フィルタ [ オカレンス] ダイアログで 最低 を選択します。

      2. 値として 47.799 と入力します。 この値を使用すると、テーブルに上位 5 項目のみが表示されます。 適用 および OK を選択します。

        Tableau Desktop は次のようになります。

        Tableau Desktop の制限

上に示すように、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 の 探索 インターフェイスで、接続を更新します。 「 設定 キャッシュのクリアと更新」を選択します。

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

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

  4. フィルターを追加 ダイアログで、次の手順を実行します。

    1. ‣ Cc データビュー」を選択します
    2. フィールドのリストから、「‣Daterange Date」を選択しDaterange Date」を選択します。
      Looker フィルター
  5. CC データビュー日付範囲 フィルターを 範囲内 2023/01/01前)まで 2024/01/01 として指定します。

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

    1. 製品名 を選択します。
    2. 左パネル(下部)の MEASURES の下にある Count を選択します。
  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. 新しいチャンクで、```{r} と ` ````の間に次のステートメントを入力します。

    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 の結果

RStudio が BI 拡張機能を使用して生成するクエリには 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
080e5213-7aa2-40d6-9dba-18945e892f79