Dash を使って、e-Sales Manager Data に連携するウェブアプリケーションを開発

製品をチェック

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

e-Sales Manager Python Connector

e-Sales Manager データ連携用のPython Connector ライブラリ。pandas、SQLAlchemy、Dash、petl などの主要なPython ツールにAutify をシームレスに統合。

データ連携でお困りですか?

お問い合わせ

CData Python Connector for e-Sales Manager を使って、e-Sales Manager にデータ連携するPython ウェブアプリケーションを開発できます。pandas とDash を使って作成してみます。



Pythonエコシステムには、多くのモジュールがあり、システム構築を素早く効率的に行うことができます。CData Python Connector for e-Sales Manager を使うことで、pandas モジュールとDash フレームワークでe-Sales Manager にデータ連携するアプリケーションを効率的に開発することができます。本記事では、pandas、Dash とCData Connector を使って、e-Sales Manager に連携して、e-Sales Manager data をビジュアライズするシンプルなウエブアプリを作ります。

CData Python Connector は、ビルトインされた効率的なデータプロセスにより、リアルタイムe-Sales Manager data データにPython からアクセスし、高いパフォーマンスと接続性を発揮します。e-Sales Manager に複雑なクエリを投げる際に、ドライバーはフィルタリング、集計などがサポートされている場合、SQL 処理を直接e-Sales Manager 側に行わせ、サポートされていないSQL 処理については、組み込まれたSQL エンジンによりクライアント側で処理を行います(特にJOIN やSQL 関数など)。

e-Sales Manager Data への接続

e-Sales Manager data への連携は、RDB ソースへのアクセスと同感覚で行うことができます。必要な接続プロパティを使って接続文字列を作成します。本記事では、接続文字列をcreate_engine 関数のパラメータとして送ります。

e セールスマネージャー Remix に接続するには、User、Passowrd、URL、TenantId パラメータが必要です。

  • User:API を実行するためのログインユーザーのユーザーID。
  • Password:API を実行するためのログインユーザーのユーザーパスワード
  • URL:e-Sales Manager Remix エンドポイントへのURL。例:https://XXX.softbrain.co.jp
  • TenantId:e-Sales Manager Remix テナント名のTenantd。例:cdata

以下の手順に従い、必要なモジュールをインストールし、Python オブジェクト経由でe-Sales Manager にアクセスします。

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

pip で必要なモジュールおよびフレームワークをインストールします:

pip install pandas
pip install dash
pip install dash-daq

Python でe-Sales Manager Data をビジュアライズ

必要なモジュールとフレームワークがインストールされたら、ウェブアプリを開発していきます。コードのスニペットは以下の通りです。フルコードは記事の末尾に付いています。

まず、CData Connector を含むモジュールをインポートします:

import os
import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
import cdata.esalesmanager as mod
import plotly.graph_objs as go

接続文字列を使ってデータへの接続を確立します。connect 関数を使ってCData e-Sales Manager Connector にe-Sales Manager data との接続を確立します。

cnxn = mod.connect("User=MyUsername;Password=MyPassword;URL=MyInstanceURL;TenantId=MyTenantId;")

e-Sales Manager にクエリを実行

read_sql 関数を使って、padas からSQL 文を発行し、DataFrame に結果を格納します。

df = pd.read_sql("""SELECT Name, Address FROM Customer WHERE Address = 'CustomerAddress'""", cnxn)

ウェブアプリケーションの設定

DataFrame に格納されたクエリ結果を使って、ウェブアプリにname、stylesheet、title を設定していきます。

app_name = 'dash-esalesmanageredataplot'

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
app.title = 'CData + Dash'

Layout 設定

次に、e-Sales Manager data をベースにした棒グラフを作詞し、アプリのレイアウトを設定します。

trace = go.Bar(x=df.Name, y=df.Address, name='Name')

app.layout = html.Div(children=[html.H1("CData Extention + Dash", style={'textAlign': 'center'}),
	dcc.Graph(
		id='example-graph',
		figure={
			'data': [trace],
			'layout':
			go.Layout(title='e-Sales Manager Customer Data', barmode='stack')
		})
], className="container")

アプリをセットアップして、実行n

接続、アプリ、レイアウトを定義したら、アプリを実行してみましょう。Python コードの最後はこのようです。

if __name__ == '__main__':
    app.run_server(debug=True)

では、Python でウェブアプリを稼働させて、ブラウザでe-Sales Manager data を見てみましょう。

python esalesmanager-dash.py

製品の無償トライアル情報

e-Sales Manager Python Connector の30日の無償トライアル をぜひダウンロードして、e-Sales Manager data への接続をPython アプリやスクリプトから簡単に作成しましょう。



import os
import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
import cdata.esalesmanager as mod
import plotly.graph_objs as go

cnxn = mod.connect("User=MyUsername;Password=MyPassword;URL=MyInstanceURL;TenantId=MyTenantId;")

df = pd.read_sql("SELECT Name, Address FROM Customer WHERE Address = 'CustomerAddress'", cnxn)
app_name = 'dash-esalesmanagerdataplot'

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
app.title = 'CData + Dash'
trace = go.Bar(x=df.Name, y=df.Address, name='Name')

app.layout = html.Div(children=[html.H1("CData Extention + Dash", style={'textAlign': 'center'}),
	dcc.Graph(
		id='example-graph',
		figure={
			'data': [trace],
			'layout':
			go.Layout(title='e-Sales Manager Customer Data', barmode='stack')
		})
], className="container")

if __name__ == '__main__':
    app.run_server(debug=True)