Python で pandas を使って Dynamics 365 Business Central データを可視化する方法

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
pandas などのモジュールを使って Python で Dynamics 365 Business Central のデータをリアルタイムに分析・可視化する方法を紹介します。

Python の豊富なエコシステムを活用することで、作業を迅速に開始し、システム間の連携をより効果的に行うことができます。CData Python Connector for Dynamics 365 Business Central、pandas および Matplotlib モジュール、SQLAlchemy ツールキットを組み合わせることで、Dynamics 365 Business Central に接続した Python アプリケーションやスクリプトを構築し、Dynamics 365 Business Central のデータを可視化できます。この記事では、pandas、SQLAlchemy、Matplotlib の組み込み関数を使用して Dynamics 365 Business Central のデータに接続し、クエリを実行して結果を可視化する方法を説明します。

CData Python Connector は、組み込みの最適化されたデータ処理機能により、Python での Dynamics 365 Business Central のデータへのリアルタイムアクセスにおいて比類のないパフォーマンスを提供します。Dynamics 365 Business Central に対して複雑な SQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされている SQL 操作を Dynamics 365 Business Central に直接プッシュし、サポートされていない操作(多くの場合、SQL 関数や JOIN 操作)は組み込みの SQL エンジンを使用してクライアント側で処理します。

Dynamics 365 Business Central のデータへの接続

Dynamics 365 Business Central のデータへの接続は、他のリレーショナルデータソースへの接続と同様です。必要な接続プロパティを使用して接続文字列を作成します。この記事では、接続文字列を create_engine 関数のパラメータとして渡します。

Dynamics 365 Business Central 接続プロパティの取得・設定方法

Dynamics 365 Business Central への認証には、User およびAccessKey プロパティが必要です。

データに接続するには、OrganizationUrl を指定します。OrganizationUrl は、 http://businesscentral.dynamics.com/abc123/ などのBusiness Central アカウントへのエンドポインであるか、Web サービスのルートを参照する必要があります。OrganizationUrl を指定する方法 および利用可能なエンドポイントについての詳細は、Business Central エンドポイント を参照してください。組織内に複数の会社がある場合は、どの会社に接続するかを特定するためにCompany を指定する必要があります。 会社が1つだけの場合は、Company を指定する必要はありません。

Dynamics 365 Business Central に認証するには、User およびAccessKey 接続プロパティを指定します。Microsoft では、これらをテストおよび開発目的で推奨します。ただし、運用環境での使用は推奨していません。User およびAccessKey の値を取得するには、Dynamics 365 Business Central の「ユーザー」ページに移動して「編集」をクリックします。User Name および Web Service Access Key の値は、User およびPassword 接続文字列プロパティとして入力する値です。User Name はE メールアドレス ではありません。短縮されたユーザー名です。

Microsoft では、OAuth 認証を使用する本番ユースケースを推奨します。詳細については、ヘルプドキュメントの「OAuth 認証の使用」を参照してください。

以下の手順に従って、必要なモジュールをインストールし、Python オブジェクトを介して Dynamics 365 Business Central にアクセスしてみましょう。

必要なモジュールのインストール

pip ユーティリティを使用して、pandas、Matplotlib モジュール、および SQLAlchemy ツールキットをインストールします。

pip install pandas
pip install matplotlib
pip install sqlalchemy

以下のようにモジュールをインポートしてください。

import pandas
import matplotlib.pyplot as plt
from sqlalchemy import create_engine

Python で Dynamics 365 Business Central のデータを可視化する

接続文字列を使用して接続できます。create_engine 関数を使用して、Dynamics 365 Business Central のデータを操作するための Engine を作成します。

engine = create_engine("d365businesscentral:///?OrganizationUrl=https://myaccount.financials.dynamics.com/")

Dynamics 365 Business Central への SQL の実行

pandas の read_sql 関数を使用して、SQL ステートメントを実行し、結果セットを DataFrame に格納します。

df = pandas.read_sql("SELECT accountid, Name FROM Accounts WHERE Name = 'MyAccount'", engine)

Dynamics 365 Business Central のデータの可視化

クエリ結果が DataFrame に格納されたら、plot 関数を使用して Dynamics 365 Business Central のデータを表示するグラフを作成します。show メソッドで、グラフを新しいウィンドウに表示します。

df.plot(kind="bar", x="accountid", y="Name")
plt.show()

無料トライアル & 詳細情報

CData Python Connector for Dynamics 365 Business Central の 30日間無料トライアルをダウンロードして、Dynamics 365 Business Central のデータに接続する Python アプリケーションやスクリプトの構築を始めましょう。ご質問がありましたら、サポートチームまでお気軽にお問い合わせください。



完全なソースコード

import pandas
import matplotlib.pyplot as plt
from sqlalchemy import create_engin

engine = create_engine("d365businesscentral:///?OrganizationUrl=https://myaccount.financials.dynamics.com/")
df = pandas.read_sql("SELECT accountid, Name FROM Accounts WHERE Name = 'MyAccount'", engine)

df.plot(kind="bar", x="accountid", y="Name")
plt.show()

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

Dynamics 365 Business Central Connector のコミュニティライセンスをダウンロード:

 ダウンロード

詳細:

Dynamics 365 Business Central (NAV) Icon Dynamics 365 Business Central Python Connector お問い合わせ

Dynamics 365 Business Central (NAV) へのデータ連携用のPython Connector ライブラリ。pandas、SQLAlchemy、Dash、petl などの主要なPython ツールにDynamics 365 Business Central (NAV) をシームレスに統合。