アナリティクス スクリプトの開発
アナリティクス スクリプトの開発において推奨される方法は、まず Analytics で標準のスクリプトを作成、テストすることです。 スクリプトが正しく動作している場合は、そのスクリプトにアナリティクス ヘッダーを追加して、アナリティクス スクリプトに変換します。 アナリティクス スクリプトはロボット、AX Server または分析アプリ ウィンドウで実行できます。
正規のスクリプトの作成の詳細については、はじめにを参照してください。
スクリプトの入力と出力の特定
アナリティクス ヘッダーでは、スクリプトの入力と、エンド ユーザーを利用可能にしたり、後続のスクリプトの入力として使用したりするスクリプトの出力を宣言する必要があります。
始める前に、必要な入力と出力を特定すると、開発が一層スムーズに進みます。
さまざまな種類の入力と出力が、括弧内に関連するアナリティクス タグを伴って以下で説明されています。
入力 | 出力 |
---|---|
ソース データへのアクセス
アナリティクス スクリプトによって要求されるソース データにアクセスするための基本的なアプローチは 2 つあります。
- 接続の自動化
- 手動のアップロード
必要に応じて、同じアナリティクス スクリプトにおいて自由に双方のアプローチが使用できます。
接続の自動化
このアプローチの利点は、ロボットまたは AX Server へのデータのインポートは、スケジュールして実行させるなど、完全な自動化が可能という点です。
アナリティクス スクリプト本体では、外部のデータ ソースへの接続、データのインポート、およびデータをコピーした Analytics テーブルの作成において、ACLScript コマンドの 1 つを使用します。
メモ
これらのコマンドでは、アナリティクス ヘッダーで対応するアナリティクス タグは必要ありません。
他のコマンドのいずれかを使用する理由がない限り、ACCESSDATA を使用してください。 DEFINE TABLE DB は、昔のスクリプトを使って下位互換性で保持されている昔のコマンドです。
手動のアップロード
手動のアップロードでは、ロボットまたは AX Server にデータを簡単にインポートすることができます。この方法は、ユーザーがソース データ ファイルをローカルに保管している場合に適しています。
ロボット
Excel や区切り文字などの非 Analytics ファイルを手動でロボット アプリにアップロードできます。 Analytics テーブルを利用可能にするには、異なる方法を使用する必要があります。
- 非 Analytics ファイル Excel または区切り文字などの非 Analytics ファイルを、ロボットで[入力/出力]タブに手動でアップロードできます。 アナリティクス スクリプトでアップロードしたデータにアクセスするには、アナリティクス ヘッダーでは FILE タグを使用し、スクリプト本体では IMPORT EXCEL などの適切な IMPORT コマンドを使用します。
- Analytics テーブル Analytics テーブルは、[入力/出力]タブに手動でアップロードすることはできません。 代わりに、アナリティクス ヘッダーで DATA タグを使用し、Analytics 出力テーブルを[入力/出力]タブに保存します。 後続のスクリプトで Analytics テーブルにアクセスするには、スクリプト本体で OPEN コマンドを使用します。
AX Server
Excel ファイル、区切り文字付きファイル、アナリティクス テーブルなどの非 Analytics ファイルを手動で AX Server にアップロードできます。
- 非 Analytics ファイル Excel ファイルや区切り文字付きファイルなどのファイルを関連ファイル サブフォルダーにインポートできます。 アナリティクス スクリプトでインポートしたデータにアクセスするには、アナリティクス ヘッダーでは FILE タグを使用し、スクリプト本体では IMPORT EXCEL などの適切な IMPORT コマンドを使用します。
- Analytics テーブル Analytics プロジェクトを AX Server にインポートすると、そのプロジェクトのテーブルは "データ" サブフォルダーにインポートされます。 アナリティクス スクリプトでインポートしたテーブルにアクセスするには、スクリプト本体で OPEN コマンドを使用します。
アナリティクス スクリプトの作成とテストのワークフロー
メモ
次のワークフローをアナリティクス スクリプト開発方法として推奨しますが、ご自分に最も適した方法で自由にアナリティクス スクリプトを開発することができます。
Analytics スクリプトを作成する
ユーザー入力のためのカスタム ダイアログ ボックスや、その他スクリプトの実行中にユーザー操作を必要とする機能を一切使用せずに、Analytics でスクリプトを作成します。 アナリティクス スクリプトは、スクリプトの実行に先立ってユーザー入力をできるようにしますが、スクリプトとは異なり、実行中のユーザー操作はサポートしていません。
Analytics スクリプトにテスト入力値を保存するには、スクリプトの先頭で、変数を一時的に作成します。 例:
ASSIGN v_AnalysisTable = "Trans_May"
スクリプトがエラーなしで実行されるまで、スクリプトをテストしてデバッグします。
アナリティクス ヘッダーおよびアナリティクス タグの追加
スクリプトにアナリティクス ヘッダーを追加します。 スクリプトの先頭からアナリティクス ヘッダー デザイナー内の対応するタグへ変数名をコピーします。
アナリティクス ヘッダーの結果タグの例:
//TABLE v_AnalysisTable "Table to classify"
詳細については、アナリティクス ヘッダーを使った作業を参照してください。
アナリティクス スクリプト結果にログを含める
ログは、アナリティクス スクリプトの失敗の原因を診断する重要なツールです。 ログは、アナリティクス スクリプトが成功しても予期しない結果となった場合にも重要となります。 ログは、アナリティクス スクリプトが失敗した場合には自動的に出力されますが、アナリティクス スクリプトが成功した場合は、RESULT アナリティクス タグを指定した場合にのみ出力されます。
アナリティクス ヘッダー デザイナーでは、[ログ ファイルを保持する]をオンにして、アナリティクス スクリプトを実行するときはいつでもログを利用できるようにします。 アナリティクス ヘッダーに対応するタグを加えます。
//RESULT LOG
アナリティクス ヘッダーを検証する
アナリティクス ヘッダーを検証します。 必要とする頻度でアナリティクス ヘッダーを検証することができます。
詳細については、アナリティクス ヘッダーの検証を参照してください。
アナリティクス タグに一時的なテスト値を代入する
特殊な代入演算子(:=)を使用して、ユーザー入力を必要とするすべての分析タグに一時的なテスト値を代入します。 スクリプトの先頭にある一時的な変数代入からテスト値をコピーすることができます。 例:
//TABLE v_AnalysisTable "分類するテーブル" := "Trans_May"
アナリティクス ヘッダー デザイナーを使用して一時的にテスト値を割り当てるには、ユーザーの入力に必要なすべてのアナリティクス タグに対して[テスト値]フィールドに値を入力します。
一時的なテスト値の詳細については、アナリティクス ヘッダーとタグを参照してください。
一時変数を削除する
スクリプトの先頭から一時変数を削除するか、または、それらを再度使用するかもしれない場合は、一時変数をコメントにします。
アナリティクス スクリプトをステップ実行する
実行 をクリックするか、または F10 キーを繰り返し押して、アナリティクス スクリプトをステップ実行します。 ナビゲーターの[変数]タブの内容をよく調べて、アナリティクス ヘッダー内のすべての変数が正しく作成され、テスト値が正しく割り当てられていることを確認します。
アナリティクス スクリプトがエラーなしで実行されるまで、テストしてデバッグします。
メモ
アナリティクス スクリプトが完了する前にそのアナリティクス スクリプトを終了したい場合は、Esc キーを押し、確認プロンプトで[はい]をクリックします。
ヒント
コマンド ラインで DELETE ALL OK と入力することにより、Analytics プロジェクトからすべての格納された変数と変数の代入値を削除することができます。 ステップ実行する前に[変数]タブをクリアすると、アナリティクス スクリプトをクリーンに開始できます。
一時的なテスト値を削除する
テストが完了したら、すべてのアナリティクス タグから、一時的なテスト値と特殊な代入演算子を削除できます。 または、追加のテストが必要な場合があると想定する場合は、これらを維持します。 開発環境ではテスト値は無視されます。
アナリティクス スクリプトの展開
アナリティクス スクリプトをターゲット環境に展開するには、そのスクリプトをロボット アプリにコミット(アップロード)するか、Analytics プロジェクトを AX Server にインポートします。
分析アプリのテストのワークフロー
AX Web Client または分析アプリ ウィンドウでアナリティクス スクリプトを実行する場合は、分析アプリをテストする必要があります。
余分なテーブル レイアウトを削除する
分析アプリのすべてのアナリティクス スクリプトと任意のサブスクリプトがテストおよびデバッグされ、正しく実行されたら、分析アプリに含めないテーブル レイアウトを Analytics プロジェクトから削除します。
余分なテーブル レイアウトがあると、AX Client、AX Web Client、および分析アプリ ウィンドウにおける分析アプリが乱雑になり、エンド ユーザーを混乱させる可能性があります。
分析アプリ ウィンドウで分析アプリを開く
[総覧]タブで Analytics プロジェクト エントリを右クリックし、[分析アプリとして開く]を選択することにより、完成した分析アプリを分析アプリ ウィンドウで開きます。
メモ
分析アプリが開かず、アナリティクス スクリプトに同じ名前が含まれていることを示すエラー メッセージが表示された場合は、エラー メッセージで指定された各アナリティクス スクリプトの ANALYTIC タグで名前の値を調べてください。 アナリティクス スクリプトの名前値は、Analytics プロジェクト内で一意でなければなりません。
アナリティクス スクリプトを実行する
分析アプリ内のすべてのアナリティクス スクリプトを実行して、それらが正しく機能していることを確認します。
ANALYTIC タグで TYPE オプションを使用して、インポート、準備、および分析のアナリティクス スクリプトを作成している場合は、アナリティクス スクリプトを実行する正しい順序に従ってください。
のログを確認する
アナリティクス スクリプトが失敗した場合は、ログ ファイル(アナリティクス名.log)を開いて調べます。 ログには、アナリティクス スクリプトが失敗した理由を示す、赤い X 印 が付けられたエントリが 1 つ含まれています。
- 誤って入力された入力値の場合は、正しく入力された入力値を使って直ちにアナリティクス スクリプトを再実行します。
- スクリプト本文の構文または論理エラーについては、Analytics のエラーを修正してから、分析アプリ ウィンドウで分析アプリをもう一度開きます。
アナリティクス スクリプトは成功しても、結果テーブルに期待していた結果が含まれていないことがあります。 このような場合は、アナリティクス スクリプトが意図したとおりに機能していることを確実にするために、ログ エントリを順々に見直して、アナリティクス スクリプトに渡された入力値をチェックします。
分析アプリのパッケージ化および検証
分析アプリをパッケージ化またはインポートする
分析アプリが目的どおりに機能していると確認できたら、それを配布して分析アプリ ウィンドウで使用する場合はパッケージ化し、AX Client または AX Web Client で使用する場合は AX Server にインポートします。 詳細については、分析アプリのパッケージ化を参照してください。
AX Server 分析アプリを実行する
AX で使用するためのアナリティクス スクリプトを開発している場合は、AX Client と AX Web Client の両方を使用してすべてのアナリティクス スクリプトを実行して、それらが目的どおりに機能していることを確認します。