Python ツール

Python ツールは Python ユーザー用のコードエディタです。 このツールを使用する前に、Python を習熟しておくことをお勧めします。

便利な機能についての情報はAlteryx.helpを実行してください。 これを行うには、モジュールをインポートした後に関数を実行します:
from ayx import Alteryx
Alteryx.help()

Python サポート

Designer Designer はカスタム Python コードを受け入れますが、 Alteryx はカスタム Python コードをサポートしていません。

Gallery 互換性

このツールは、禁止ツールの Alteryx Analytics Gallery 一覧にあります。 このツールを含むワークフローをgallery.alteryx.comに公開するには適用除外申請をします

始めましょう

Python ツールの設定ウィンドウのインターフェースはJupyter Notebookに似ています。 Jupyter Notebooks をよくご存知でない場合は、ヘルプ> ユーザーインターフェイスツアーまたはヘルプ> ノートブックヘルプをご覧ください。 コードに関するサポートについては、ツールのヘルプオプションで追加の参照をご覧ください。

このツールのインターフェースはJupyter Notebookに似ていますが、Designerの制約内であるため、一部のオプションは標準のJupyter Notebookの動作とは異なります。

必要に応じて追加のデータサイエンスパッケージをインストールします

Python ツールには、以下の一般的なデータサイエンスパッケージが含まれています:

  • ayx: Alteryx API
  • jupyter:Jupyterメタパッケージ
  • matplotlib: Python プロットパッケージ
  • numpy: NumPy、数値、文字列、レコード、オブジェクトの配列 array
  • pandas: データ分析、時系列、および統計のための強力なデータ構造
  • requests: 人間のための Python HTTP
  • scikit-learn: 機械学習とデータマイニングのための Pythonモジュール一式 。
  • scipy: SciPy、Python 科学計算ライブラリ 。
  • six: Python 2と3の互換性ユーティリティー
  • SQLAlchemy: データベース抽象化ライブラリ
  • statsmodels: Python の統計計算および統計モデル

追加のパッケージインストール

使用しているDesignerのインストールタイプに応じて、Alteryx.installPackagesを使用して追加のパッケージをインストールできます。 下記の例では kerasをインストールしています。

from ayx import Package
Package.installPackages("keras")
  • 非管理者としてAlteryxを実行している場合は、特別な許可なしで追加の Python パッケージをインストールできます。
  • 管理者として Alteryx を実行している場合は、最初に管理者として Alteryx を実行し、追加の Python パッケージをインストールする必要があります。 管理者として Alteryx を実行できない場合は、追加の Python パッケージをインストールすることはできません。

入力を接続する

Python ツールは複数入力に対応します。 入力が接続されたら、ワークフローを実行して受信データストリームをキャッシュする必要があります。

受信データ接続にアクセスするには:

  1. Alteryx ライブラリをインポート:from ayx import Alteryx
  2. 接続にアクセスし、データ参照を使用するための変数を入力します:
    • 接続名:Alteryx.read("<connection name>")を使用します。
    • from ayx import Alteryx
      data1 = Alteryx.read("#1")
    • すべての接続を読み込み、返された0インデックス配列を参照します:Alteryx.read(Alteryx.getIncomingConnectionNames()[<index number>])
    • from ayx import Alteryx
      data2 = Alteryx.read(Alteryx.getIncomingConnectionNames()[1])
  3. Python ツールを使い始める前にワークフローを実行してください。 ワークフローを実行するとデータがキャッシュされ、Python ツールにアクセスできるようになります。 また、データは pandas データフレームとして扱われます。 pandas データフレームについての詳細は、pandas.pydata.orgを参照してください。

ツールを設定する

Pythonツールを使い始める前にワークフローを実行してください。

ワークフローの実行モードを設定する

インタラクティブモードを使って開発を始めます。 そうすることで、すべてのエラー、警告、そしてprint 文がJupyter Notebookに表示されます。 開発が完了し、標準の Python インタプリタを介してコードを実行したい場合は、プロダクションモードを使用して速度を向上させます。

データストレージ形式の設定

データストレージ形式には2つのオプションがあります:SQLite と YXDB です。 速度を上げ、より多くのオプションを使用するには、データストレージ形式を既定のSQLiteからYXDBに変更します。

YXDB は blob や空間を含むより多くのデータ形式をサポートし、SQLiteの最大2000列の制限を上回ります。 行の配置を変更したり GeoSpatial python を使用している場合は、Alteryx では GeoSpatial データをデータセットから切り取り、Python ツールの後に再結合することをお勧めしています。 これは、Alteryx Binary から GeoSpatial テキストへの変換および GeoSpatial テキストからの変換が迅速でないためです。

ファイルまたはディレクトリのインポート

相対パスをどの程度制御したいかに応じて、Alteryx メニューから Alteryx インポート機能を使用するか、インポートコマンドを使用することができます。 Alteryx インポート機能を使用して、既存の Python スクリプトまたは Jupyter Notebook をインポートできます。 相対パスを管理したい場合は、セル内でインポートコマンドを使用してください。 インポートの例としては、インポートコマンドを使用してディレクトリをインポートすること、または Alteryx インポート機能を使用して単一のスクリプトをインポートすることが挙げられます。

Python スクリプトまたは Jupyter Notebook のインポート

  1. Alteryxメニューをクリックして、スクリプトをインポートを選択します。
  2. ファイルを選択をクリックして.pyまたは.ipynbファイルに進みます。
  3. インポートをクリック します。

Alteryx はファイルをインポートします。

カーネルメニューを使用する

  • 処理を停止する:処理を停止するには、カーネルメニューをクリックし、中断を選択します。
  • 処理を再開する:カーネルメニューをクリックし、再開オプションを選択してインタラクティブ環境の処理を再開します。
  • 処理を再開する:カーネルメニューをクリックし、再接続を選択して中間結果のワークブックを消去します。
  • カーネルの変更は機能をサポートしません。
  • シャットダウンを選択しないことをお勧めします。

ベストプラクティスに従う

以下のベストプラクティスは、Python ツールをうまく使用するのに役立ちます。

Engine.WorkflowDirectory などのワークフロー定数を参照する場合はAlteryx.getWorkflowConstantを使用してください。 そうしない場合、コードの実行時に、コマンドの結果または出力が Jupyter Notebook のコマンドに完全に置き換わります。 ワークフロー定数で% wrapper を使用しないでください。 例えば、Engine.WorkflowDirectoryを呼び出すには、次のようにします。:

from ayx import Alteryx
Alteryx.getWorkflowConstant("Engine.WorkflowDirectory")

ツールからのデータ出力

ツールからのデータ出力には、Alteryx.writeを使用してください。

  • キャンバス上の他のツールにデータを送信するには、Alteryx.write(<pandas data frame>, <output anchor number>)を使用します。
    Alteryx.write(df,1)
  • Alteryx.write は pandas データフレームのみに対応しています。 データが別の形式の場合は、pandas ライブラリを使用して pandas データフレームに変換してください。 pandas ライブラリーはDesignerでプレインストールされており、pandasをインポートを使用して、Jupyter Notebook でアクセスすることができます。
  • 最大5つのデータフレームを出力アンカーに送信できます。