BigQuery のデータをDevExpress Data Grid にデータバインドする。

加藤龍彦
加藤龍彦
デジタルマーケティング
BigQuery 用の CData ADO.NET プロバイダーをDevExpress Windows Forms とWeb コントロールとともに使用し、BigQuery をチャートに入力します。

BigQuery 用の CData ADO.NET プロバイダーはサードパーティーコントロールで使うことのできる通常のADO.NET データベースアクセスコンポーネントを実装しています。データバインドするための通常のADO.NET プロセスに従うことで、UI コントロールから実データへの双方向アクセスを可能にします。 この記事では、CData を使ってDevExpress Windows Forms とウェブコントロールにデータバインドする方法を説明します。ここでは、最新のデータを表示するチャートにデータバインドします。

BigQuery 接続プロパティの取得・設定方法

Google BigQuery はOAuth 認証標準を使用します。個々のユーザーとしてGoogle API にアクセスするには、組み込みクレデンシャルを使うか、OAuth アプリを作成します。

OAuth では、Google Apps ドメインのユーザーとしてサービスアカウントを使ってアクセスすることもできます。サービスカウントでの認証では、OAuth JWT を取得するためのアプリケーションを登録する必要があります。

OAuth 値に加え、DatasetId、ProjectId を設定する必要があります。詳細はヘルプドキュメントの「はじめに」を参照してください。

Windows Forms コントロール

下のコードでは、BigQuery でDevExpress のチャートに追加する方法を説明します。GoogleBigQueryDataAdapter はチャートコントロールのSeries プロパティにバインドします。コントロールのDiagram プロパティはx 軸とy 軸をカラム名として定義します。

using (GoogleBigQueryConnection connection = new GoogleBigQueryConnection(
"DataSetId=MyDataSetId;ProjectId=MyProjectId;")) {
  GoogleBigQueryDataAdapter dataAdapter = new GoogleBigQueryDataAdapter(
  "SELECT OrderName, Freight FROM Orders", connection);

  DataTable table = new DataTable();
  dataAdapter.Fill(table);
  DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series();
  chartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "Freight" });
  series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
  series.ArgumentDataMember = "OrderName";
  series.ValueScaleType = DevExpress.XtraCharts.ScaleType.Numerical;
  chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;
  ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
The complete code example and the resulting chart.

Web コントロール

下のコードではBigQuery でDevExpress Web を操作するための設定方法を説明します。GoogleBigQueryDataAdapter はチャートのSeries プロパティにバインドします。Diagram プロパティはx 軸とy 軸をカラム名として定義します。

using DevExpress.XtraCharts;

using (GoogleBigQueryConnection connection = new GoogleBigQueryConnection(
"DataSetId=MyDataSetId;ProjectId=MyProjectId;"))
{
  GoogleBigQueryDataAdapter GoogleBigQueryDataAdapter1 = new GoogleBigQueryDataAdapter("SELECT OrderName, Freight FROM Orders", connection);
  DataTable table = new DataTable();
  GoogleBigQueryDataAdapter1.Fill(table);
  DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
  WebChartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "Freight" });
  series.ArgumentScaleType = ScaleType.Qualitative;
  series.ArgumentDataMember = "OrderName";
  series.ValueScaleType = ScaleType.Numerical;
  ((DevExpress.XtraCharts.SideBySideBarSeriesView)series.View).ColorEach = true;
}
An ASP.NET application created with the ADO.NET Provider and the DevExpress Web Forms control.(Salesforce is shown.)

はじめる準備はできましたか?

Google BigQuery Data Provider の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Google BigQuery Icon Google BigQuery ADO.NET Provider お問い合わせ

Google BigQuery データ(テーブル、データセットなど)を組み込んだパワフルな.NET アプリケーションを短時間・低コストで作成して配布できます。