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

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

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

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

それでは、Microsoft PowerBIXMLA に接続していきましょう。接続するには、Workspace プロパティを有効なPowerBIXMLA ワークスペースに設定します(例:CData)。 Power BI Premium 容量のワークスペースのみがサポートされていることにご注意ください。Premium 容量のないワークスペースとは互換性がありません。

Microsoft PowerBIXMLA への認証

続いて、認証方法を設定しましょう。CData 製品では、様々な接続シナリオに対応するため3つの認証方法をサポートしています。Azure AD 認証、Azure サービスプリンシパルのクライアントシークレット認証、Azure サービスプリンシパルの証明書認証です。 各認証方法の詳細については、ヘルプドキュメントをご確認ください。

Windows Forms コントロール

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

using (PowerBIXMLAConnection connection = new PowerBIXMLAConnection(
"URL=powerbi://api.powerbi.com/v1.0/myorg/CData;")) {
  PowerBIXMLADataAdapter dataAdapter = new PowerBIXMLADataAdapter(
  "SELECT Country, Education FROM Customer WHERE Country = 'Australia'", 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[] { "Education" });
  series.ArgumentScaleType = DevExpress.XtraCharts.ScaleType.Qualitative;
  series.ArgumentDataMember = "Country";
  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 コントロール

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

using DevExpress.XtraCharts;

using (PowerBIXMLAConnection connection = new PowerBIXMLAConnection(
"URL=powerbi://api.powerbi.com/v1.0/myorg/CData;"))
{
  PowerBIXMLADataAdapter PowerBIXMLADataAdapter1 = new PowerBIXMLADataAdapter("SELECT Country, Education FROM Customer WHERE Country = 'Australia'", connection);
  DataTable table = new DataTable();
  PowerBIXMLADataAdapter1.Fill(table);
  DevExpress.XtraCharts.Series series = new Series("Series1", ViewType.Bar);
  WebChartControl1.Series.Add(series);
  DataTable table = new DataTable();
  series.ValueDataMembers.AddRange(new string[] { "Education" });
  series.ArgumentScaleType = ScaleType.Qualitative;
  series.ArgumentDataMember = "Country";
  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.)

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

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

 ダウンロード

詳細:

Power BI XMLA Icon Power BI XMLA ADO.NET Provider お問い合わせ

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