Python で pandas を使って Sage Intacct データを可視化する方法

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

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

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

Sage Intacct データ連携について

CData は、Sage Intacct のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:

  • API の更新や変更を気にすることなく、Sage Intacct にアクセスできます。
  • 追加の構成手順なしで、Sage Intacct のカスタムオブジェクトやフィールドにアクセスできます。
  • Basic 認証による組み込み Web サービス認証情報を使用して、Sage Intacct にデータを書き戻すことができます。
  • SQL ストアドプロシージャを使用して、ベンダーの承認・却下、エンゲージメントの挿入、カスタムオブジェクトやフィールドの作成・削除などの機能的な操作を実行できます。

ユーザーは、Tableau、Power BI、Excel などの分析ツールと Sage Intacct を統合し、当社のツールを活用して Sage Intacct データをデータベースやデータウェアハウスにレプリケートしています。

他のお客様が CData の Sage Intacct ソリューションをどのように使用しているかについては、ブログをご覧ください:Drivers in Focus: Accounting Connectivity


はじめに


Sage Intacct のデータへの接続

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

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

独自のWeb サービスクレデンシャル、埋め込みクレデンシャル(Basic 認証)、またはOkta クレデンシャルのいずれかを使用して、Sage Intacct への接続を確立できます。

Sage Intacct への認証

Sage Intacct は2種類の認証をサポートします。Basic およびOkta です。選択した認証方法に関連するプロパティを設定して、接続を構成します。

Basic 認証

Basic 認証スキームでは、埋め込みクレデンシャルを使用してデータの読み書きが可能です。オプションとして、独自のWeb サービスクレデンシャルを指定することもできます。

Basic 認証を使用して認証を行うには、以下のプロパティを設定します。

  • AuthSchemeBasic
  • CompanyID:Sage Intacct にログインする際に会社を識別するために使用するID。
  • User:Sage Intacct へのログインに使用するログイン名。
  • Password:ログインクレデンシャル用のパスワード。
  • (オプション)SenderID およびSenderPassword:Web サービスのSender ID およびパスワード(独自のWeb サービスクレデンシャルを使用している場合のみ)。

独自のWeb サービスクレデンシャルではなく、埋め込みクレデンシャルを使用する場合は、以下を実行する必要があります:

  • Web サービスダッシュボードで、会社 -> 会社情報 -> セキュリティタブに移動します。
  • Web サービス認証に"CData" を追加します。これは大文字・小文字が区別されます。これを行うには、会社 -> 会社情報(新しいUI では、設定 -> 会社)-> セキュリティ -> Web サービス認証 / 編集に移動します。
Okta 認証についてはヘルプドキュメントを参照してください。

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

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

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 で Sage Intacct のデータを可視化する

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

engine = create_engine("sageintacct:///?User=myusername&CompanyId=TestCompany&Password=mypassword&SenderId=Test&SenderPassword=abcde123")

Sage Intacct への SQL の実行

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

df = pandas.read_sql("SELECT Name, TotalDue FROM Customer WHERE CustomerId = '12345'", engine)

Sage Intacct のデータの可視化

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

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

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

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



完全なソースコード

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

engine = create_engine("sageintacct:///?User=myusername&CompanyId=TestCompany&Password=mypassword&SenderId=Test&SenderPassword=abcde123")
df = pandas.read_sql("SELECT Name, TotalDue FROM Customer WHERE CustomerId = '12345'", engine)

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

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

Sage Intacct Connector のコミュニティライセンスをダウンロード:

 ダウンロード

詳細:

Sage Intacct Icon Sage Intacct Python Connector お問い合わせ

Intacct データ連携用Python コネクタライブラリ。Intacct データをPandas、SQLAlchemy、Dash、petl などの人気のPython ツールにシームレスに統合。