アナリティクス開発のベスト プラクティス

アナリティクス スクリプトでは、標準のスクリプトで使用できるコマンドのほとんどがサポートされています。開発者としては、アナリティクス スクリプトがユーザーの操作なしに実行できるようにすると共に、アナリティクス スクリプトが、展開環境または HighBond のロボット アプリでそれを処理するエンジンでサポートされていないコマンドを含まないようにする必要があります。

アナリティクス スクリプトではすべての ACLScript 関数がサポートされます。

一般的なベストプラクティス

ロボットまたは分析アプリごとに 1 つの Analytics プロジェクトを使用する

ロボットまたは分析アプリごとに新しい Analytics プロジェクトを作成します。プロジェクトには、ロボットまたは分析アプリを構成するすべてのアナリティクス スクリプトと、サブスクリプトで必要となるすべてのが含まれている必要があります。

分析アプリの場合、プロジェクトには、アナリティクス スクリプトで必要となるすべての Analytics テーブルが含まれている必要があります。

ローカルでテストする

ターゲット環境またはロボット アプリにアナリティクス スクリプトを展開する前に、すべてのアナリティクスをローカルでテストします。アナリティクス スクリプトが想定通りに実行され、ユーザー操作が必要でないことを確認します。

詳細については、アナリティクス スクリプトの開発を参照してください。

テストに安定したデータ接続を使用する

ODBC データ ソースを使用しているかどうかについてローカルでアナリティクス スクリプトをテストするには、お使いのローカル コンピューター上で、アナリティクス スクリプトが実行する環境の接続と一致する、 ODBC 接続を構成する必要があります。

分析アプリ ウィンドウで使用するために配布されたアナリティクス スクリプトの場合、エンド ユーザーが自身のコンピューター上に等しい ODBC を構成する必要があります。

絶対ファイル パスの使用を避ける

アナリティクス スクリプトが実行される環境に同一のファイル パスが存在していることが確実な場合以外、アナリティクス スクリプトで絶対ファイル パス(C:\results など)を使用することは避けてください。

相対ファイル パス(\resultsなど)を使用すると、アナリティクス スクリプトをローカルで開発してテストし、他の環境に同じディレクトリ構造がなくても、別の環境に展開できます。

SET を使って初期設定を行う

SET コマンドを使用して、アナリティクススクリプトで必要となるすべての優先順位の設定を指定します。アナリティクス スクリプトの初期設定をしない場合は、Analytics のデフォルトの初期設定が使用されます。アナリティクス ヘッダーの後ろ、アナリティクス スクリプト ロジックの前に SET コマンドを置きます。

結果テーブルやデータ出力テーブルでは演算フィールドは使用禁止

アナリティクス スクリプトを実行するセッション以外のセッションでも保持したい出力テーブル内では、演算フィールドを使用しないでください。

解釈内での使用目的に、あるいは後続のスクリプトの入力として保持される結果テーブルやデータ テーブルが演算フィールドを含んでいる場合には、予期しない値が表示される可能性があります。演算値は初期設定ファイル(.prf)に定義されている設定によって決まるか、または SET コマンドを使って作成されるため、環境に応じて、出力される値が異なってきます。

演算フィールドの値を保持する必要がある場合は、EXTRACT コマンドを FIELDS または ALL オプションとともに使用することで、そのフィールドを結果テーブルやデータ テーブルの物理フィールドに変換します。詳細については、EXTRACT コマンドを参照してください。

データ接続のパスワードを暗号化する

アナリティクス スクリプトにデータ ソースのパスワードをプレーン テキストで設定しないようにするには、PASSWORD アナリティクス タグを使用します。このタグは、アナリティクス スクリプトを実行する前に、パスワードの入力をユーザーに求め、入力された値を暗号化します。

HighBond との間でインポートまたはエクスポートを行うときにパスワードを使用する

PASSWORD パラメーターは、HighBond との間でインポートまたはエクスポートを行うすべてのコマンドで必要です。

  • IMPORT GRCRESULTS
  • IMPORT GRCPROJECT
  • EXPORT... ACLGRC

PASSWORD パラメーターがない場合、ロボット、Analytics Exchange、または分析アプリ ウィンドウでコマンドが失敗します。

コマンド内で PASSWORD パラメーターを使用するときには、アナリティクス ヘッダーにある関連の PASSWORD タグも指定する必要があります。詳細については、PASSWORD タグを参照してください。

メモ

PASSWORD パラメーターは、Analytics でインポートおよびエクスポート コマンドを実行するときには不要です。現在のユーザーの HighBond アクセス トークンが自動的に使用されます。

ユーザー操作の回避

アナリティクス スクリプトは、ユーザーの操作なしに実行できるようにしておく必要があります。コマンドがダイアログ ボックスを作成しようとすると、開発環境のエンジンがアナリティクス スクリプトを停止し、エラーがログに記録されます。

ユーザー操作コマンドをアナリティクス タグに置き換える

ユーザー操作を必要とする Analytics コマンドを使用しないようにします。アナリティクス ヘッダーの同等のアナリティクス タグで置換します。アナリティクス タグでは、アナリティクス スクリプトを実行する前に、ユーザーが入力値を指定できます。

使用しない 置換
DIALOG //TABLE, //FIELD, //PARAM
ACCEPT //TABLE, //FIELD, //PARAM
PASSWORD //PASSWORD
PAUSE 相当するオプションなし

ガイドライン

  • 対話型コマンド アナリティクス スクリプト処理が失敗しないようにするには、すべての対話型コマンドを削除しておきます。
  • SET SAFETY 必要に応じてファイルを上書きできるようにする(確認ダイアログ ボックスの表示なし)には、アナリティクス スクリプトの冒頭に SET SAFETY OFF コマンドを追加します。

    アナリティクス スクリプトの終わりに SET SAFETY ON コマンドを追加することで、デフォルトの動作に戻しておくことができます。

  • OK パラメーター 確認ダイアログによってアナリティクス スクリプトがクラッシュしないようにするには、通常、確認ダイアログ ボックスを表示する以下のコマンドの後に OK パラメーターを追加します。
    • RENAME
    • DELETE

スクリプト構文を確認する

Analytics は、アナリティクス スクリプトが失敗する原因となるスクリプト構文、またはローカル環境とアナリティクス スクリプトが展開される環境との間で調整が必要になるスクリプト構文を検出するツールを提供しています。このツールでは警告のみが表示されます。警告のあるアナリティクス スクリプトでも、コミットまたはインポートできます。

ツールの確認機能

ツールは、次の項目について、プロジェクトのすべてのスクリプトを確認します。

  • ユーザー操作を必要とするコマンド
  • 絶対ファイル パス
  • 外部スクリプトの呼び出し

確認が実行されるタイミング

スクリプト構文確認は、スクリプトをロボットにコミットするときに、自動的に実行されます。

構文の確認はデフォルトで有効です。オフにする場合は、[オプション]ダイアログボックス([ツール > オプション > インターフェイス])で、[スクリプトをコミットする前に、スクリプト構文チェックを無効にする]を選択します。

確認を手動で実行する

スクリプト構文の確認を手動で実行できます。Analytics ツールバーにスクリプトの確認 ボタンを最初に追加しなければならない場合があります。

  1. 必要に応じて、[スクリプトの確認]ボタンを Analytics ツールバーに追加します。
    1. ツール バー上の何もない場所をダブルクリックすると、[ツール バーの変更]ダイアログ ボックスが開きます。
    2. 利用できるツール バー ボタン]リストで、[スクリプトの確認]を選択し、[追加]をクリックします。
    3. 現在のツール バー ボタン]リストで、[スクリプトの確認]ボタンを選択し、[上へ]または[下へ]をクリックして、ボタンの位置を変更します。

      上から下へのボタンの順序は、ツール バーの左から右への位置に対応しています。

    4. 閉じる]をクリックして、変更を保存します。

  2. ツールバーで、[スクリプトの確認 ]をクリックします。

    プロジェクトのスクリプト構文が有効であること、または1 つ以上の警告を示すメッセージが表示されます。

  3. 次のいずれかを実行します。
    • 警告があるスクリプト構文を修正し、[スクリプトの確認 ]をもう一度クリックして、警告が表示されないことを確認します。
    • 展開環境にディレクトリ構造、またはアナリティクス スクリプトで指定されたパスまたは外部スクリプトと一致する外部スクリプトがあることを確認します。

AX Server でのアナリティクス スクリプト実行のベスト プラクティス

Analytics を使用した開発

アナリティクス スクリプトとそれらに関連するスクリプトをまず Analytics で開発してから、AX Server にインポートします。

便利な機能として、AX Client スクリプト エディターでは、新しいアナリティクス スクリプトやサブスクリプトを追加したり、既存のアナリティクス スクリプトやサブスクリプトを編集したりすることができます。この機能は、アナリティクス スクリプトの動作を微調整する場合に便利です。Analytics にエクスポートして AX Server に再インポートする必要がなくなります。それどころか、微調整レベルを超えるアナリティクス スクリプト開発作業でさえも Analytics では行いやすくなりました。

Analytics プロジェクトおよびその関連ファイルを保存する

データベース プロファイル ファイルなどの関連ファイルは Analytics プロジェクトと同じフォルダーに保存されますが、別途 AX Server にもインポートする必要があります。

AX Server でサポートされないコマンドの使用を避ける

  • Analytics Server Edition for z/OS にリンクされたデータベース サーバー テーブルへの直接アクセス
  • NOTIFY コマンドは、SMTP メッセージングのみサポートします。MAPI および VIM メール プロトコルはサポートされていない
  • PRINT または TO PRINT コマンドを使用する場合は、通常使うプリンターがサーバーに設定されている必要がある
  • SAVE GRAPH および PRINT GRAPH コマンドはサポートされていない
  • アナリティクス スクリプト内で SET LEARN コマンドを使用することはできない

AX Server テーブル トランザクションを最小限度に抑える

AX Server のテーブルがアクセスされる回数を最小化することによって、アナリティクス スクリプトのパフォーマンスを最適化します。

  1. FILTER コマンドを使用すると、必要なレコードを選択します。
  2. EXTRACT コマンドを使用すると、必須フィールドのみを抽出します。

最小限度のデータ セットが、AX Engine によってアナリティクス スクリプトが実行されているサーバー上でローカルに処理されます。

データ ファイルが AX Server と同じサーバー上、つまり、アナリティクスを処理する AX Engine Node 上に置かれておらず、AX Server Configuration Web アプリケーションで[Copy analytic data]オプションが選択されていない場合には、このようにアナリティクスを最適化することが重要です。

非効率的なアナリティクス スクリプトの例

OPEN LargeTable
SET FILTER TO trans_date >= `20091201` AND trans_date < `20100101`
COUNT
TOTAL amount
CLASSIFY ON account ACCUMULATE amount TO TransClassAccount

効率的なアナリティクス スクリプトの例

OPEN LargeTable
SET FILTER TO trans_date >= `20091201` AND trans_date < `20100101`
EXTRACT FIELDS trans_date desc account type amount TO AnalysisTable
OPEN AnalysisTable
COUNT
TOTAL amount
CLASSIFY ON account ACCUMULATE amount TO TransClassAccount

バックグラウンド モードで SAP データにアクセスする

Direct Link を使用して SAP ERP システム内のデータにアクセスするには、Background モードを使用します。