Analytics およびロボットにおける ACL スクリプトの開発ワークフロー

アナリティクス スクリプト(ACL スクリプト)のオーサリングが Analytics アプリで実施されます。Analytics でアナリティクス スクリプトを作成し、必要に応じて Analytics で更新します。

Analytics からロボット アプリにアナリティクス スクリプトをアップロードする準備ができたら、特定の ACL ロボットにスクリプトをコミットします。詳細については、ロボットへの ACL スクリプトのコミット (アップロード)を参照してください。

スクリプトをコミットする際に、新バージョンのスクリプトが ACL ロボットに追加され、そのバージョンは開発モードでアクセスできます。新しいバージョンには、コミットするスクリプトの正確な内容が含まれます。バージョンは自己完結型で、前のバージョンのスクリプトとマージされません。Analytics でスクリプトを削除した場合、ロボットでは新しいバージョンのスクリプトは使用できません。

開発モードでスクリプトバージョンが正常に動作していることを確認できたら、本番モードで使用するためにアクティブ化できます。

反復ワークフロー

1 つ以上のスクリプトを編集し、ロボットに再コミットできます。スクリプトを再びコミットするたびに、新バージョンのスクリプトを作成します。これらの方法のいずれかを使用して、スクリプトの編集および再コミットができます。

  • ロボットに関連付けられた Analytics プロジェクトで既存のスクリプトを編集し、もう一度スクリプトをコミットします。
  • ロボットから Analytics にスクリプトをダウンロードし、1 つ以上のスクリプトを編集し、スクリプトをコミットします。

スクリプト バージョンの仕組み

  • バージョンは連続して採番される

    1 つ以上のスクリプトを同じロボットにコミットするたびに、新しい、連番のバージョンのスクリプト(バージョン 1、バージョン 2 など)が作成されます。

    連続したスクリプトのバージョンを保存することで、ロボット アプリは、スクリプト作業が一切失われないことを保証し、必要に応じて、古いバージョンに簡単にアクセスすることができます。

  • バージョンは自己完結している

    各コミットされたバージョンは、完全に自己完結しています。前のバージョンのスクリプトは上書きされませんが、スクリプトがバージョン間でマージされることはありません。

    プロジェクトからスクリプトを削除すると、コミットする後続のすべてのバージョンにはスクリプトが含まれません。

  • バージョンにはすべてのスクリプトが含まれる

    バージョンは、スクリプトをロボットにコミットするときに、プロジェクトにあるすべてのスクリプト(すべてのアナリティクス スクリプト、およびすべての補助スクリプト)を含みます。プロジェクトからスクリプトを選択してコミットすることはできません。

  • バージョン変更が記録されます

    開発モードの[スクリプト バージョン]タブでは、スクリプト バージョンを選択し、そのバージョンの個別のスクリプトの名前とカテゴリを表示できます。新規追加、削除、または修正されたスクリプトの名前はハイライト表示されます。

スクリプト バージョンの例

シナリオ

現在、部署で隔週の給与ファイルに対して手動で実行する分析テストのセットを自動化したいと考えています。テストは、従業員が正しく支払われていること、適切な給与控除が行われていること、存在しない従業員に支払われていないことなどを確認します。

スクリプト開発ワークフロー

  • Analytics で、給与ファイルをインポートし、一部の事前データ準備タスクを実行してから、すべての分析テストを実行するスクリプトを開発します。
  • スクリプトをロボットにコミットします。ロボットでは、開発モードで、実際のデータのコピーに対してスクリプトを実行し、正常に動作することを確認します。
  • スクリプトが正常に動作したら、本番モードで使用するためにアクティブ化し、2 週間ごとに自動実行されるようにスケジュールします。
Analytics アクション/結果 ロボット

スクリプトのコミット >>

  • コミット スクリプト 1 をコミットします。これは、隔週の給与データをインポート、準備、分析します。
  • テスト ロボット開発モードでスクリプト 1 をテストします。正常に動作しているように思われます。
  • 問題 スクリプト 1 に含まれている機能が多すぎるため、他の人が簡単に理解したり編集したりすることが難しいかもしれないということに気付きました。

>> バージョン 1

スクリプトのコミット >>

  • 編集 スクリプト 1 を3 つの個別のスクリプト(2、3、4)に分割します。それぞれ、インポート、準備、分析フェーズです。スクリプト 1 を削除します。
  • コミット プロジェクトでスクリプトをコミットします。
  • テスト 3 つのスクリプトをテストします。出力に結果の一部が含まれていないことに気付きました。
  • 問題 スクリプト 3 によって実行されるデータ クレンジングが十分に包括的でないため、一部の結果が出力されません。

>> バージョン 2

スクリプトのコミット >>

  • 編集 スクリプト 3 で、Analytics 機能を使用して、追加のデータ クレンジングを実行する演算フィールドを作成します。スクリプト 2 および 4 は変更しません。
  • コミット プロジェクトでスクリプトをコミットします。
  • テスト 3 つのスクリプトをテストします。出力にすべての結果が含まれています。
  • 成功 すべての 3 つのスクリプトとプロセス全体が正常に動作しています。本番モードで使用するために、スクリプトのバージョン 3 をアクティブ化します。

>> バージョン 3

編集されたスクリプト      変更されていないスクリプト

スクリプトを編集、コミットする際のベスト プラクティス

ロボットのスクリプトをマスター バージョンとして取り扱う

スクリプトはいったんロボットにコミットされると、変更されないよう保護されます。ベスト プラクティスとして、ロボットのスクリプトをマスター バージョンとして取り扱う必要があります。スクリプトを編集する場合は、ローカルで保存されたコピーを使用するのではなく、ロボットからスクリプトをまずダウンロードする必要があります。

ロボットの最新バージョンのスクリプトのダウンロードに制限されていません。作業する任意のバージョンのスクリプトをダウンロードできます。

ローカル コピーを使用して作業を始めるリスク

スクリプトのローカル コピーを使って作業の編集を始めるリスクは、そのコピーがロボットのバージョンと一致しない場合があることです。

  • ローカル コピーを不注意に変更してしまった、またはそれを変更したことを忘れてしまった
  • 自分がスクリプトを最後にコミットした後に、誰かがスクリプトのバージョンをロボットにコミットした

ダウンロードをスキップしても安全なのはいつか?

スクリプト バージョンをダウンロードした後の、単一のスクリプト作成セッション中に、反復間でダウンロードせずに、Analytics プロジェクトから直接スクリプトの反復バージョンをコミットすることが一般的に安全です。

他の誰かが自分と同時にスクリプトで作業をしている可能性がある場合は、反復間でダウンロードします。一度に一人のみがスクリプト バージョンで作業することが推奨されます。

スケジュール済みタスクの一部である編集されたスクリプトをテストする

編集されたスクリプト、またはロボットのスケジュール済みタスクの一部であるスクリプトを常にテストし、編集でタスクが破壊されていないことを確認する必要があります。

たとえば、スクリプトのアナリティクス ヘッダーに次の編集を行うと、関連タスクが破壊される場合があり、タスクを再び作成する必要があります。

  • 入力パラメーターの追加または削除
  • 入力ファイル、テーブル、またはフィールドの追加または削除
  • ハードコーディングされた入力ファイル、テーブル、またはフィールド名の変更

構文検証

スクリプトをロボットにコミットするたびに、Analytics は自動的に 2 つのタイプの構文検証または確認を実行します。

  • アナリティクス ヘッダー検証
  • スクリプト構文確認

スクリプトが検証または確認を渡さない場合は、スクリプトをコミットできず、問題の場所を示すメッセージが表示されます。

アナリティクス ヘッダー検証

アナリティクス スクリプトのアナリティクス ヘッダーは特定の要件に適合する必要があります。適合しない場合は、実行時にアナリティクス スクリプトが失敗します。

アナリティクス ヘッダー検証は無効にできません。

詳細については、アナリティクス ヘッダーの操作を参照してください。

スクリプト構文確認

ランタイム ユーザー対話コマンドや絶対ファイル パスなどのアナリティクス スクリプトの特定の要素はサポートされないか、推奨されません。

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

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