製品をチェック

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

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

製品の詳細

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

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

Infragistics WPF XamDataGrid と BigQuery をデータバインド

Infragistics WPF XamDataGrid と BigQuery をデータバインドする方法

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

最終更新日:2022-04-13

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

この記事では CData ADO.NET Provider for GoogleBigQuery を使って、Infragistics WPF XamDataGrid に BigQuery をデータバインドする方法を説明します。

BigQuery とのデータ連携について

CData は、Google BigQuery のライブデータへのアクセスと統合を容易にします。CData のコネクティビティを活用すると、以下のようなことが可能になります。

  • OAuth、OAuth JWT、GCP インスタンスなどの認証スキームを幅広くサポートし、BigQuery へのアクセスを容易にします。
  • BigQuery と他のアプリケーション間の双方向データアクセスにより、データワークフローを強化します。
  • ジョブの開始、取得、キャンセル、テーブルの削除、SQL ストアドプロシージャによるジョブロードの挿入など、BigQuery の主要なアクションを実行できます。

CData のユーザーの多くはGoogle BigQuery をデータウェアハウスとして使用しており、CData のソリューションを使用してビジネスデータを別のデータソースからBigQuery に移行し、包括的な分析を行っています。また、Google BigQuery のデータを分析・レポートするためにCData のコネクティビティを利用する場合もあり、両方のソリューションを利用するユーザーも少なくありません。

CData がいかにGoogle BigQuery の利便性を高めるかについて、詳しくはブログ記事をご覧ください: https://www.cdata.com/blog/what-is-bigquery

完成イメージ

以下のように Infragistics WPF XamDataGrid でBigQuery から取得したデータを表示するアプリケーションを作成します。

XamDataGrid

1. WPFプロジェクトの作成

まず、VisualStudioを立ち上げて、WPFアプリのプロジェクトを作成します。

XamDataGrid

今回はデータを柔軟に取り出せるように、CData ADO.NET ProviderにSQLを渡すためのTextBoxと実行用のボタンを配置しました。

XamDataGrid

この段階でのXAMLは以下のようになっています。

2. XamDataGrid の配置・設定

次に「XamDataGrid」を配置します。 Infragistics WPF UI コンポーネントをインストールしている場合、ツールボックスに以下のように表示されます。

XamDataGrid

これをデザイナー画面で以下のように配置しました。

XamDataGrid

併せて、任意の名称(xamDataGrid としました)、DataSource は{Binding} を指定し、フィルター機能を使えるように「Custom:FieldSettings」に「AllowRecordFiltering="true"」「AllowSummaries="True" 」を追加しました。

また、サンプルプログラムではデザインテーマの「Theme="Metro"」も設定しています。このあたりはお好みでどうぞ。

3. CData BigQuery ADO.NET Provider への接続を構成

最後に CData BigQuery ADO.NET Provider への接続部分を作成します。

まずは参照設定からCData BigQuery ADO.NET Provider のライブラリである「System.Data.CData.GoogleBigQuery.dll」を追加します。

その後、名前空間に「System.Data.CData.GoogleBigQuery」を追加し

using System.Data.CData.GoogleBigQuery;

ボタンをクリックした時にTextBoxからSQL文を取得し、BigQuery からデータを取得する処理を記述します。この記述方法は以下のヘルプに記載されているものがほぼそのままです。

using System.Data; using System.Data.CData.GoogleBigQuery; using System.Windows; namespace CData.XamDataGrid.GropingListApp { /// /// MainWindow.xaml の相互作用ロジック /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); sqlTextBox.Text = "SELECT * FROM Samples"; } private void ExecuteButton_Click(object sender, RoutedEventArgs e) { string connectionString = "DataSetId=MyDataSetId;ProjectId=MyProjectId;"; using (var connection = new D365SalesConnection(connectionString)) { var dataAdapter = new GoogleBigQueryDataAdapter( sqlTextBox.Text, connection); var table = new DataTable(); dataAdapter.Fill(table); this.DataContext = table.Rows; } } } }

通常のWebAPIをそのまま実装した場合、自身でWebAPIリクエストの処理から認証部分、「XamDataGrid」渡すデータ構造の構成まで定義しなければいけませんが、これらコンポーネントの活用により省力化してアプリケーションを開発できます。

このように GoogleBigQuery 内のデータを API を書くことなく XamDataGrid 上で処理することができるようになります。

サポートされるSQL についての詳細は、ヘルプドキュメントの「サポートされるSQL」をご覧ください。テーブルに関する情報は「データモデル」をご覧ください。

関連コンテンツ

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

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