For AI agents: the complete documentation index is available at https://docs.dataplatform.ovh.net/ja/llms.txt, the full documentation bundle is available at https://docs.dataplatform.ovh.net/ja/llms-full.txt, and this page is available as Markdown at https://docs.dataplatform.ovh.net/ja/tutorials-ecommerce-sales.md.
  • 🇯🇵 日本語
  • オンラインストアの注文を販売ダッシュボードに準備する

    このガイドでは、オンラインストアの2年間の注文、約100万件の注文行をLakehouseに読み込み、1つのテーブルに結合し、カスタムアクションでクリーンアップする手順を説明します

    目的

    このガイドでは、オンラインストアの2年間の注文、約100万件の注文行をLakehouseに読み込み、1つのテーブルに結合し、カスタムアクションでクリーンアップする手順を説明します。Connectorsでファイルをアップロードし、Lakehouse Managerでテーブルを作成し、Data Processing Engineで注文を結合してクリーンアップします。

    このガイドを完了すると、Apache Supersetからクエリを実行できるonline_retail_ii_cleanテーブルが完成します。このガイドの後半部分であるBuild the sales dashboard in Supersetでは、これを販売ダッシュボードに変換します。

    必要条件

    このガイドに従うには、以下が必要です:

    • Data Platformプロジェクト。このガイドでは、ecommerce-salesという名前のプロジェクトを使用します。
    • ストアの注文とカスタムアクションのクリーンアップスクリプト:
    タイプ名前
    注文、2009年12月から2011年12月Online Retail II、UCI Machine Learning Repository
    クリーンアップPythonスクリプトonline_retail_cleaning.py

    UCIは注文を1つのExcelワークブックとして公開しており、online_retail_II.xlsxは各年ごとに1つのシートが含まれています。ステップ1の前に、各シートを個別のファイルとして保存してください:

    シート作成するファイル
    Year 2009-2010online_retail_II_200910.xlsx
    Year 2010-2011online_retail_II_201011.xlsx
    Info

    データについて: Online Retail II、UCI Machine Learning Repositoryは、CC BY 4.0(DOI 10.24432/C5CG6D)の下でライセンスされています。

    Getting Started guidesを最初に完了することをお勧めします。このガイドでは、Data Platformの主要コンポーネントに慣れていることを前提としています。

    ビルドするもの

    このガイドの2つの部分は、Supersetでこのダッシュボードを完成させます:

    Supersetで完成したオンラインストア販売ダッシュボード、主要な数値行とCustomersタブが開いている
    ステージコンポーネント結果
    1. ファイルをアップロードするFile Upload source2つのファイルを保持するソース
    2. ファイルを分析するAnalyzer検出された属性とタイプ
    3. テーブルを作成するLakehouse Manager tables各年ごとに1つのテーブル、すべての注文用に1つのテーブル
    4. 年を結合するLoad actionsとworkflowonline_retail_iiに1,067,371件の注文行
    5. 注文をクリーンアップするCustom actiononline_retail_ii_cleanに1,021,128件のクリーンな注文行
    6. Supersetに接続するTrino consumerとApache Supersetクリーンなテーブルに対するSupersetデータセット

    指示

    ステップ 1: ファイルをアップロード

    1. Connectors > Sources を開き、タイプが File Upload の新しいソースを作成します。
    2. online_retail_ii と名前を付けます。
    3. online_retail_II_200910.xlsx と online_retail_II_201011.xlsx を Files エリアにドラッグします。
    4. Create をクリックします。
    online_retail_ii という名前の File Upload ソースに、2つの年次 Excel ファイルが追加された

    ステップ 2: ファイルを分析

    1. Connectors > Analyzer を開きます。
    2. ソース online_retail_ii を選択し、ファイル online_retail_II_200910.xlsx を選択します。
    3. Extract metadata をクリックします。
    4. online_retail_II_201011.xlsx についても同じ操作を行います。

    Analyzer は、8つの属性を検出します: invoice, stockcode, description, quantity, invoicedate, price, customer_id および country。invoice と stockcode が String として検出されていることを確認します: C489449 のような請求番号や 85123A のような製品コードは数値ではありません。

    Analyzer による online_retail_II_200910.xlsx における 8 つの属性の検出

    ステップ 3: テーブルを作成

    各年について1つのテーブルを作成

    1. Lakehouse Manager > Tables を開きます。
    2. New table > Create from a Connectors source をクリックします。
    Lakehouse Manager の New table メニューで、Create from a Connectors source オプションが選択されている
    1. ソース online_retail_ii からファイル online_retail_II_200910.xlsx を選択し、Next をクリックします。
    ソース online_retail_ii からファイル online_retail_II_200910.xlsx が選択されている
    1. デフォルト設定のままにし、Create をクリックします。テーブルは online_retail_ii_200910 という名前になり、データセット default_dataset に配置されます。
    デフォルトのテーブル設定で、名前が online_retail_ii_200910 となり、3つの自動オプションがオンになっている
    1. online_retail_II_201011.xlsx についても同じ操作を行います。テーブルは online_retail_ii_201011 という名前になります。

    両方のテーブルには、8つの属性と約525kおよび542kの行が表示されます。

    Lakehouse Manager にリストされた 2 つの年次テーブルとその行数

    全注文用のテーブルを作成

    1. テーブル online_retail_ii_200910 を複製します。その行にマウスを合わせ、Duplicate アイコンをクリックします。
    Lakehouse Manager のテーブル online_retail_ii_200910 の行にある Duplicate アイコン
    1. 新しいテーブルに online_retail_ii という名前を付け、データセット default_dataset に配置し、Create をクリックします。
    2. テーブルを構築します。

    テーブルには同じ8つの属性があり、まだ行はありません。

    年次テーブルと同じ 8 つの属性を持つ空のテーブル online_retail_ii

    ステップ 4: 2年間を結合

    Load アクションを作成

    1. Data Processing Engine > Actions を開き、New action をクリックします。
    2. load を検索し、Load アクションを選択し、Select をクリックします。
    アクションタイプのリストで Load アクションが選択されている
    1. アクションを入力します:
    設定値
    ソーステーブルonline_retail_ii から online_retail_II_200910.xlsx
    宛先default_dataset から online_retail_ii
    属性各ソース属性を同じ名前の宛先属性にマッピング
    1. Create をクリックします。
    Load アクションの設定で online_retail_II_200910.xlsx がテーブル online_retail_ii にマッピングされている
    1. 2番目の Load アクションを作成し、ソースを online_retail_II_201011.xlsx にし、同じ宛先にします。

    アクションのリストには、2つの Load アクションと、年次テーブルを作成したときに自動生成された2つのアクションが表示されます。

    2 つの新しい Load アクションと生成された 2 つのアクションが表示されているアクションのリスト

    ワークフローで両方のアクションを実行

    1. Data Processing Engine > Workflows で、New workflow をクリックします。
    2. Concat と名前を付けます。
    3. Stage 1 で、2つの Load アクションを追加します。
    4. Create をクリックし、ワークフローを実行します。
    2 つの Load アクションが Stage 1 にある Concat ワークフロー、実行後の成功状態

    ワークフローは数分かかります。その状態が緑色に変わったら、Lakehouse Manager > Tables を開きます: online_retail_ii は両方の年次テーブルの行を保持し、1,067,371 行 です。

    Warning

    Concat ワークフローを1回実行します。再度実行すると、同じ注文行を2回追加する可能性があります。各実行後、online_retail_ii が 1,067,371 行を保持していることを確認してください。

    ワークフローを再度実行するには、online_retail_ii を空にする Delete action を作成し、ワークフローを実行する前にそれを実行できます。

    ステップ 5: 注文をクリーンアップ

    クリーンテーブルを作成

    1. Lakehouse Manager > Tables で、online_retail_ii を複製します。
    2. 新しいテーブルに online_retail_ii_clean という名前を付け、それを構築します。

    これで4つのテーブルができました。online_retail_ii_clean は同じ8つの属性があり、まだ行はありません。

    ガイドの 4 つのテーブルが Lakehouse Manager にリストされている

    クリーニングアクションを作成

    1. Data Processing Engine > Actions で、New action をクリックします。
    2. custom を検索し、Custom アクションを選択し、Select をクリックします。
    アクションタイプのリストで Custom アクションが選択されている
    1. アクションを入力します:
    設定値
    アクション名online_retail_cleaning
    関数名online_retail_cleaning
    開発言語Python 3.11
    Python 要件pandas
    ファイルonline_retail_cleaning.py をアップロード
    1. Create をクリックし、アクションを実行します。
    関数名、言語、要件、アップロードされたファイルを持つカスタムアクション online_retail_cleaning
    Info

    注意: 関数名はスクリプトのエントリーポイントであり、online_retail_cleaning でなければなりません。ファイルの他の関数はヘルパーです: そのうちの1つを関数名として設定すると、'Event' object is not subscriptable が返されます。

    アクションは online_retail_ii を読み取り、クリーニングルールを適用し、結果を online_retail_ii_clean に書き込みます。そのログを開きます: 各ルールはどの行に影響を与えるかを報告し、最後の行は online_retail_ii_clean に書き込まれた行数を示します: 1,021,128 行。

    ルール行が削除される条件
    1. 完全な重複8列で他の行と同じである
    2. 無効な請求番号請求書が6桁で、オプションの C が付いている
    3. 無効な在庫コード在庫コードが5桁で、オプションの文字が付いている
    4. 説明が欠落説明が空
    5. 不整合な数量売上が正でない、またはキャンセルが負でない
    6. ゼロまたは負の価格価格が厳密に正でない
    7. 請求日が欠落日付が空

    最後のステップ、8. 説明の調和化は、各在庫コードに最も頻繁な説明を与え、製品が2つの名前で表示されることがないようにします。

    クリーンテーブルを空にするアクションを作成

    クリーニングアクションは online_retail_ii_clean に行を追加します。それを再度実行する前に、Delete action でテーブルを空にします。online_retail_ii の前に Concat ワークフローを再度実行する場合と同様です。

    1. New action をクリックし、delete を検索して Delete アクションを選択します。
    2. Table list で online_retail_ii_clean を Table to empty に移動します。
    3. Create をクリックします。
    Delete アクションで online_retail_ii_clean が Table to empty リストにある

    データを再度クリーンアップするには、まずこの Delete アクションを実行し、次に online_retail_cleaning を実行します。

    ステップ 6: Superset に接続

    すべてのデータは Lakehouse に準備できました。それを分析するには、Apache Superset アプリケーションを作成します:

    1. Trino consumer ガイドに従って Trino 接続を作成します。
    2. Deploy Apache Superset のステップ 1 から 3 に従ってアプリケーションを作成し、それを Trino に接続します。

    Superset でデータセットを作成

    1. Superset で Datasets を開き、+ Dataset をクリックします。
    2. 作成したデータベース接続を選択し、このガイドでは Trino DP と名前が付けられています。次にスキーマ default_dataset とテーブル online_retail_ii_clean を選択します。
    3. 列を確認し、Create and explore dataset をクリックします。
    Superset データセットフォームで、データベース、スキーマ default_dataset、テーブル online_retail_ii_clean が選択されている

    ダッシュボードの各チャートは Charts > + Chart から始まります: データセット online_retail_ii_clean を選択し、次にチャートタイプを選択します。

    Superset チャート作成画面で、データセット online_retail_ii_clean が選択されている

    Build the sales dashboard in Superset を続けてください。

    ご存知おきください

    • 実際の店舗に接続できます。 このガイドでは、ファイルとしてアップロードされた公開データセットを使用しています。自店舗の注文を分析するには、ファイルアップロードソースの代わりに、Shopify または Stripe ソースを作成してください。 Connectors > Sources で、両方が New source ウィンドウに表示されます。その後、テーブルとクリーンアップスクリプトはそのソースの属性に従います。
    Stripe と Shopify コネクタが表示された New source ウィンドウ

    構築したもの

    店舗のすべての注文行を持つ生テーブル、データセットの説明に従うクリーンテーブル、そしてその上にSupersetデータセットを構築しました。

    次に、Supersetで販売ダッシュボードを構築する では、クリーンテーブルをダッシュボードに変換します:主要な指標、時間を通じた収益、ベストセラー商品、国別の販売、顧客ロイヤルティ。

    さらに深く掘り下げる

    当社のソリューションのトレーニングや技術的なサポートが必要な場合は、営業担当者にお問い合わせください、またはプロフェッショナルサービス ページをご覧ください。見積もりをリクエストして、専門家がプロジェクトを分析してください。

    Data Platformを構築するチームと直接質問し、フィードバックを共有し、交流するには、専用のDiscordチャネルをご利用ください。

    OVHcloudサービスについてサポートが必要な場合は、ヘルプセンターでリクエストを作成してください。

    ユーザーコミュニティに参加してください。