こんにちは。CData Software Japan リードエンジニアの杉本です。
今回は CData Amazon Marketplae Driverの使い方、注文や商品データの取得方法について、Power BIから接続する想定で解説していきます。
https://www.cdata.com/jp/drivers/amazonmarketplace/
なお、使用するのはODBC Driverですが、JDBCやExcel Add-inでも同様なデータの取得が可能です。
CData Amazon Marketplae Driverで取得できるデータ
実際に使い始める前に、CData Amazon Marketplae Driverでどのようなデータを扱うことができるのか? 確認しておきましょう。
ビューとして定義されているのは、以下の10種類です。
http://cdn.cdata.com/help/ONF/jp/odbc/pg_allviews.htm
ビュー名 | 概要 | 対応 MWS API |
---|---|---|
FeedSubmissionList | ストアド・プロシージャでの処理リクエスト(SubmitXXX)の実行状況を取得します。 | GetFeedSubmissionResult |
FeedSubmissionResult | FeedSubmissionListの処理詳細を取得します。 | GetFeedSubmissionList |
InboundShipmentItems | 納品詳細を取得します。 | ListInboundShipmentItems |
InboundShipments | 納品リストを取得します。 | ListInboundShipments |
InventorySupply | 在庫状況を取得します。 | ListInventorySupply |
OrderItems | 注文情報の詳細を取得します。 | ListOrderItems |
Orders | 注文情報一覧を取得します。 | ListOrders |
Products | 商品一覧を取得します。 | GetMatchingProductForId |
ReportList | 過去90日間に作成されたレポートの一覧を取得します。 | GetReportList |
ReportRequestList | レポートのリクエスト一覧を取得します。 | GetReportRequestList |
商品データはProducts・注文データはOrdersやOrderItemasのビューを通じて取得できます。
今回はこのデータを対象に Powre BIから接続してみたいと思います。
手順
それでは実施手順を解説していきましょう。
必要なもの
- CData Amazon Marketplace ODBC Driver
- Power BI Desktop
- Amazon Marketplace アカウント
※現在 CData 各種 Amazon Marketplae Driverを使う場合は、大口出品アカウントが必要です。
接続情報の取得
まず Amazon Marketplae APIに接続するために必要な情報を取得しましょう。
対象のAmazon Marketplae アカウントにログインし、「ユーザー権限」画面の「Amazon MWS 開発者権限」セクションから以下の情報を取得してください。
CData Amazon Marketplace ODBC Driverのセットアップ
次にCData Amazon Marketplace ODBC Driverをセットアップします。
以下のURLから評価版をダウンロードして、対象のマシンにセットアップしてください。
https://www.cdata.com/jp/drivers/amazonmarketplace/download/odbc/
セットアップ後、以下の接続構成画面が立ち上がるので、予めAmazon Marketplae の画面から取得しておいた情報をそれぞれのプロパティに設定します。
プロパティ名 | 値 | 備考 |
---|---|---|
AWS Access Key Id | AWSアクセスキーIDを入力します。 | |
AWS Secret Key | 秘密キーを入力します。 | |
MWS Auth Token | MWSAuthトークンを入力します。 | |
Seller Id | 出品者IDを入力します。 | |
Marketplae | 対象の出品場所を選択します。日本であればJapanを指定してください。 |
入力後、接続テストをクリックして、以下のようなメッセージが表示されればOKです。
Power BI からの接続
それでは、Power BIから CData Amazon Marketplae ODBC Driver に接続してみましょう。
PowerBI デスクトップを立ち上げて「データを取得」をクリックし
ODBC 接続を選択します。
データソース名から先程ODBCで登録したDSNを選択し、Windows認証で接続します。
接続後、以下のようにAmazon Marketplae の各種データを取得できるテーブルが一覧で表示されます。
まず注文データを取得してみましょう。「Orders」というテーブルを選択し「読み込み」ボタンをクリックすることで取得できます。
これで注文データが Power BI にロードされたので、後はPower BIの機能を使って分析することができます。
期間指定をして取得したい
注文データはデフォルトでは全件を対象として取得しますが、その場合 Amazon Marketplae APIの取得制限にひっかかったり、取得までに時間がかかったりします。
その場合、範囲を絞って取得するのがおすすめです。
ODBC からデータをインポートする際に、以下のようにSQLでWHERE句によるフィルターを設けることで、範囲を絞った取得が可能です。
SELECT * FROM Orders WHERE PurchaseDate >= '2018-11-11T00:00:00.000000' AND PurchaseDate <= '2018-12-11T00:00:00.000000';
対応しているクエリは以下のヘルプも参考にしてみてください。
http://cdn.cdata.com/help/ONF/jp/odbc/pg_table-orders.htm
注文明細を取得したい
注文明細、つまり商品ごとの注文を取得したい場合は、OrderItemsのテーブルを利用します。
http://cdn.cdata.com/help/ONF/jp/odbc/pg_table-orderitems.htm
しかしながら、OrderItemsのテーブルはAPIの制約上、かならずAmazonOrderIdを指定しなければいけません。
そのため以下のようにSQLでデータを取り込むか
SELECT * FROM OrderItems WHERE AmazonOrderId IN ('503-9993250-1405404', '503-9993250-1405404')
以下のようにOrdersテーブルから取得した値を使って、範囲指定で注文明細を取得する必要があります。
SELECT * FROM OrderItems WHERE AmazonOrderId IN (SELECT AmazonOrderId FROM Orders WHERE PurchaseDate >= '2018-11-11T00:00:00.000000' AND PurchaseDate <= '2018-12-11T00:00:00.000000');
商品データを取得したい
商品データの取得はProductsテーブルで実施できますが、Productsテーブルもデータ取得するためにはAPIの制約上、条件指定をしなければいけません。
http://cdn.cdata.com/help/ONF/jp/odbc/pg_table-products.htm
例えば、SellerSKUを使って対象の出品しているデータを取得する場合は以下のようなクエリが利用可能です。
SELECT * FROM Products WHERE IdList = 'XXXX' AND IdType = 'SellerSKU';
複数の商品をまとめて取得したい場合は、以下のようなSQLも可能です。
SELECT * FROM Products WHERE IdList IN ('XXX','XXX') AND IdType = 'SellerSKU';
おわりに
本記事では Power BI をもとに解説しましたが、CData AmazonMarketplace Driverでは Power BI 以外のBIツールやアナリティクスツールの接続もサポートしています。
以下のURLで各ツールの接続リファレンスを公開していますので、普段使っているツールから是非試してみてください。