製品をチェック

BigCommerce Data Provider の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

BigCommerce アイコン BigCommerce ADO.NET Provider 相談したい

BigCommerce EC データに連携する.NET アプリケーションを素早く、簡単に開発できる便利なドライバー。

BigCommerce データを使ったCrystal Reports を発行

Report Wizard と標準のADO.NET を使用して最新のBigCommerce データを使用したレポートを作成。

加藤龍彦
デジタルマーケティング

最終更新日:2021-12-02

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData ADO.NET Provider for BigCommerce は、Crystal Reports for Visual Studio 開発環境に統合されています。標準のADO.NET コンポーネントを使用して、SQL Server と同じようにレポートを作成でき、さらにBigCommerce とリアルタイムで連携できます。この記事では、開いたときに更新されるレポートにBigCommerce データを追加するために必要な3つのステップを完了する方法を説明します。

Note:このチュートリアルを実行するには、Crystal Reports とVisual Studio のデベロッパーバージョンをインストールしてください。

Crystal Reports アプリケーションを作成する

この記事を実行するにはVisual Studio Crystal Reports プロジェクトが必要になります。この記事では、WPF アプリケーションにレポートを追加します。「File」->「New Project」とクリックし、Crystal Reports WPF Application テンプレートを選択することで、作成できます。表示されるウィザードで空のレポートを作成するオプションを選択します。

BigCommerce に接続する

Server Explorer からBigCommerce のADO.NET データソースを作成すると、Crystal Reports ウィザードおよびCrystal Reports Designer で使用できるDataSet を簡単に作成できます。Server Explorer でBigCommerce データを操作するためのガイドは、ヘルプドキュメントの「はじめに」の章を参照してください。

BigCommerce 認証は標準のOAuth フローに基づいています。

Store ID の取得

BigCommerce Store に接続するには、StoreId が必要です。Store Id を確認するには、以下の手順に従ってください。

  1. BigCommerce アカウントにログインします。
  2. ホームページから「Advanced Settings」->「API Accounts」 を選択します。
  3. 「Create API Account」->「Create V2/V3 API Token」をクリックします。
  4. 画面にAPI Path という名前のテキストボックスが表示されます。
  5. テキストボックス内に、次の構造のURL が表示されます:https://api.bigcommerce.com/stores/{Store Id}/v3。
  6. 上記で示したように、Store Id は'stores/' と'/v3' パスパラメータの間にあります。
  7. Store Id を取得したら、「キャンセル」 をクリックするか、まだ持っていない場合はAPI Account の作成に進むことができます。

パーソナルアクセストークンの取得

加えて、自分のデータをテストおよびアクセスするには、個人用トークンを取得する必要があります。個人用トークンを取得する方法は次のとおりです。

  1. BigCommerce アカウントにログインします。
  2. ホームページから「Advanced Settings」->「API Accounts」 を選択します。
  3. 「Create API Account」->「Create V2/V3 API Token」をクリックします。
  4. アカウント名を入力します。
  5. 作成するAPI Account の「OAuth Scopes」を選択します。CData 製品 は"None" とマークされたデータにアクセスできません。また、"read-only" とマークされたデータを変更できません。
  6. 「保存」をクリックします。

BigCommerce への認証

次に、以下を設定してデータに接続できます。
  • StoreId:API Path テキストボックスから取得したStore ID に設定。
  • OAuthAccessToken:生成したトークンに設定。
  • InitiateOAuth:OFF に設定。

接続を構成する際に、Max Rows 接続プロパティも設定できます。これにより返される行数が制限されるため、レポートやビジュアライゼーションをデザインするときのパフォーマンスを向上させることができます。

DataSet を作成する

以下のステップに従ってVisual Studio ADO.NET DataSet Designer を使用し、ADO.NET DataSet オブジェクトを作成します。Crystal Reports はBigCommerce テーブルのメタデータを含むDataSet オブジェクトにバインドします。またこのアプローチでは、App.config に接続文字列が追加されることに注意してください。後にこの接続文字列を使用してデータをレポートにロードします。

  1. Solution Explorer でプロジェクトを右クリックし、「Add」->「New Item」をクリックします。
  2. DataSet を選択します。DataSet Designer が表示されます。
  3. Server Explorer からDataSet Designer にテーブルをドラッグ & ドロップします。この記事ではCustomers テーブルを使用します。

BigCommerce フィールドをレポートに追加する

以下のステップに従って、DataSet からレポートにカラムを追加します。

  1. Solution Explorer で.rpt ファイルをダブルクリックし、Crystal Reports Designer を開きます。
  2. デザイナーを右クリックし、「Database」->「Database Expert」と進みます。
  3. Project Folder とADO.NET DataSets ノードを展開し、作成したDataSet を「Selected Tables」ボックスにドラッグします。これで、Field Explorer からフィールドにアクセスできます。
  4. Field Explorer からレポートの「Details」セクションまたは別のセクションにフィールドをドラッグ & ドロップします。
DataSet columns in a report.(Salesforce is shown.)

レポートにデータをロードする

メタデータのみを含むDataSet を作成したら、実際のデータを含むDataTable を作成する必要があります。BigCommerceDataAdapter を使用して、SQL クエリの結果をDataTable に入力できます。

  1. System.Configuration.dll への参照をプロジェクトに追加して、App.config から接続文字列を使用できるようにします。
  2. App.config で.NET 4.0 を使用する場合にCrystal Reports との互換性を保つため、次のコードを設定ノードに追加します。
    
      <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
      </startup>
    
  3. Window.xaml.cs ファイルに以下の参照を追加します。

    using System.Configuration;
    using CrystalDecisions.CrystalReports.Engine;
    using CrystalDecisions.Shared;
    using System.Data.CData.BigCommerce;
    using System.Data;
    
  4. 以下のWindow_Loaded メソッドをWindow.xaml.cs に追加し、DataTable を返すSQL クエリを実行します。最低でも、レポートで使用されているカラムと同じカラムは選択する必要があることに注意してください。

    private void Window_Loaded(object sender, RoutedEventArgs e) {
      ReportDocument report = new ReportDocument();
      report.Load("../../CrystalReport1.rpt"); 
     var connectionString = ConfigurationManager.ConnectionStrings["MyAppConfigConnectionStringName"].ConnectionString;
      using (BigCommerceConnection connection = new BigCommerceConnection(connectionString)) {
        BigCommerceDataAdapter dataAdapter = new BigCommerceDataAdapter(
        "SELECT FirstName, LastName FROM Customers WHERE FirstName = 'Bob'", connection);
         DataSet set = new DataSet("_set");
         DataTable table = set.Tables.Add("_table");
         dataAdapter.Fill(table);
         report.SetDataSource(table);
      }
      reportViewer.ViewerCore.ReportSource = report;
    }
    
  5. Window.xaml ファイルでLoaded イベントを追加し、Window タグを以下のようにします。

    
    <Window x:Class="CrystalReportWpfApplication4.Window1"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:cr="clr-namespace:SAPBusinessObjects.WPF.Viewer;assembly=SAPBusinessObjects.WPF.Viewer"
            alt="WPF Crystal Report Viewer" Height="600" Width="800" Loaded="Window_Loaded">
            ...
    </Window>
    
  6. レポートを実行します。レポートが読み込まれると、プロバイダはクエリを実行して現在のデータを取得します。 A report that loads the current data when opened.(Salesforce is shown.)

BigCommerce データのチャートを作成する

Chart Expert などのエキスパートとともにDataSet を使用することもできます。

  1. Crystal Reports Designer を右クリックして「Insert」->「Chart」とクリックします。
  2. 「Report Header」または「Report Footer」セクションを選択します。Chart Expert が表示されます。
  3. 「Type」タブでチャートタイプを選択します。この記事では、サイドバイサイドの棒グラフを使用します。
  4. 「Data」タブでx 軸のカラムと条件を選択します。例えば、DataSet ノードのFirstName カラムを「On Change Of」メニューの下のボックスにドラッグします。
  5. x 軸のカラムを選択し、「TopN」ボタンと「Order」ボタンをクリックして並べ替えと制限を構成します。
  6. y 軸のカラムとサマリー操作を選択します。例えば、DataSet ノードのLastName カラムを「Show Values」ボックスにドラッグします。
  7. レポートを実行します。

Crystal Reports は、BigCommerce API などに対してGROUP BY を実行する代わりに、DataTable にロード済みのデータに対して集計を実行することに注意してください。これは、レポート作成ウィザードにも当てはまります。

別のDataSet を作成し、他のクエリを入力することで、BigCommerce に対して実行されるクエリをより細かく制御できます。ドライバのSQL エンジンの詳細については、ヘルプドキュメントを参照してください。

DataSet columns to be added to a chart.(Salesforce is shown.)

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。