Understand the Test Run tables in Unica Interact Flowchart の翻訳版です。
Unica Interactフローチャートのテスト実行テーブルを理解する
2020年6月3日
著者: Nitin Dhabale / Product Support Lead, Unica
最近、Interact フローチャートのテスト実行に関する問い合わせが多く寄せられました。そのようなケースでは、バックグラウンド・テーブルに挿入されるデータがテーブルのカラム・サイズを超えていたため、フローチャートのテスト実行が停止したことが確認されました。別のシナリオでは、Interact のユーザーは、どの視聴者IDがどのセグメントに該当するかを理解したいと考えていました。この情報を得るために、ユーザーはフローチャート自体に結果を表示するために、テストランでフローチャートを繰り返し実行していました。入力データは膨大で、顧客はそれを減らしたくありませんでした。そのため、フローチャートの実行完了までにかなりの時間がかかっていました。
Unica Interact でフローチャートを設計する際、開発者は一般的にフローチャートをテスト実行して、設定が正しいことを確認します。しかし、フローチャートがエラーで失敗した場合はどうなるのでしょうか?データはどうなるのでしょうか?データはどこに格納されるのでしょうか?これらは、ユーザーが常に答えを求めている共通の問題となっています。そこで、私は、フローチャートが実行されるときにバックグラウンドで作成されるテーブルについてさらに話しているこのブログを書きました。それは、どのようなデータがどこに保存されるかについて話しています。
Interact セッションでフローチャートのテストを実行している間、開発者はどのようにして様々なエラーメッセージを観察するのかについて話しました。これらの情報はすべて、4つの異なるタイプのテーブルに格納されています。Interact ・セッションのフローチャートが実行されると、バックグラウンドで、プロファイル・データベースの TESTATTR_n、TESTCOUNT_n、TESTSEG_n、TESTERROR_n の 4 種類のテーブルが作成されます。この番号(_n)は、同じインタラクティブ・フローチャートの上記のすべてのテーブルで同じである。この場合、Unicaは、TESTATTR_142、TESTCOUNT_142、TESTSEG_142、および TESTERROR_142を生成します。
「フローチャートがテスト実行で失敗したのはなぜか」という質問に対する正しい答えを見つけるためには、「フローチャートがテスト実行で失敗したのはなぜか」という質問に答える必要があります。より良い分析のためには、各テーブルの重要性を理解することが重要です。
フローチャートを実行する前のテストラン
テーブルに格納される情報は、異なる環境、セグメント、オーディエンス、および他の多くの要因によって異なります。例えば、ターゲットオーディエンスのタイプに応じて、オーディエンスIDは変化します。それは、世帯のオーディエンス ID のままでありながら、個人のための顧客 ID にすることができます。最初の表は、オーディエンスに焦点を当てています。
TESTATTR_n テーブルは、対話型フローチャートに従ってプロファイルデータベースの下に作成されます。このテーブルには、画像2に表示されているように、対話型フローチャートのテスト実行の結果が記録されています。このテーブルには、オーディエンス ID のみが記録される。つのオーディエンス ID を持つ複合オーディエンスIDが存在する場合、このテーブルは、その後、2つの列を持つことになる。出力されるオーディエンスIDの最大数は、インタラクション・プロセスで作成された構成に依存します。
テスト実行中に、ユーザーが 1000 件のレコードをすべて表示しようとしないことがあります。そのような場合は、出力を15レコードに制限することができます(下の画像のように)。
フローチャートの構成には、いくつのプロセス・ボックスが関与していましたか?どのプロセス・システムが失敗し、どのセル・コードの下で失敗したか?このような情報はすべてTESTCOUNT_nの下に保存されます。これは、対話型フローチャートごとにプロファイル・データベースの下に作成されます。テーブルには5つの列があります。PROCESSID、CELLID、CELLCOUNT、CELLNAME、CELLCODE。
PROCESSID:列には、インタラクティブ・フローチャートに取り込まれた各プロセス・ボックスのID(数値データ)が含まれています。
CELLID : Decision、Sampleプロセスのような異なるプロセスボックスから複数のセルを作成することができる。この列には、インタラクティブ・フローチャートから作成された各セルのIDが含まれています。Interaction Process (対話プロセス)、Select Process (選択プロセス) は、最大1つの出力セルを作成することができます。サンプルプロセス (Sample Process)、決定プロセス (Decision Process) は、1つ以上の出力セルを作成することができます。スナップショットプロセス (Snapshot Process)、ポピュレートセグプロセス (Populate Seg Process) には、出力セルは含まれません。
CELLCOUNT : この列には、インタラクティブ・フローチャートのテスト実行が行われたときにポップレートされた各セルのカウントが含まれています。
CELLNAME : この列には、インタラクティブ・フローチャートのテスト実行後に作成された各出力セルの名前が含まれます。アウトプット・セル名は、プロセス・ボックスに作成されます。
フローチャートではセグメントを作成します。今回のケースでは、セグメントは男性セグメントと女性セグメントの2つのグループに分かれています。では、どのオーディエンスIDがどのセグメントに属しているか?その情報は TESTSEG_n に保存されます。テーブルには以下の列があります。AUDIENCEID、ASSIGNED_SEGMENTID、ASSIGNED_SEGMENTNAME。
AUDIENCEID : データがオーディエンスIDとしてCustomerIDを含む場合、列の名前はCUSTOMERIDになります。そのデータ型は、HCL Campaignで作成されたオーディエンスIDのデータ型に依存します。
ASSIGNED_SEGMENTID : この列には、オーディエンスIDが該当するスマート戦略セグメントのIDが含まれています。
ASSIGNED_SEGMENTNAME : 列には、オーディエンスIDが該当するスマート戦略セグメントのIDが含まれます。列には、オーディエンスIDが該当するスマート戦略セグメントのNAMEが格納されます。場合には、以下のように
ASSIGNED_SEGMENTID : 列には、オーディエンスIDが該当するスマート戦略セグメントのIDが含まれています。
ASSIGNED_SEGMENTNAME : 列には、オーディエンスIDが該当するスマート戦略セグメントのNAMEが格納されています。視聴者IDがスマート戦略セグメントのいずれにも該当しない場合は、視聴者IDの隣の値はNULLのままです。
潜在的な構成問題を特定するためのエラーの理解
では、フローチャートが失敗したエラーメッセージは何でしょうか?すべてのエラーメッセージの情報は TESTERROR_n テーブルに保存されます。
対話型フローチャートのテスト実行が何らかのエラーメッセージで失敗した場合、それぞれの ERRORMESSAGE、ERRORORCODE、失敗したプロセスボックスの ID がこのテーブルに挿入されます。
PROCESSESID : このカラムは数値データ型を持つ。インタラクティブフローチャートで実行に失敗したプロセスボックスの ID が格納される。
ERRORCODE:この列には、インタラクティブ・フローチャートで実行に失敗したプロセス・ボックスのIDが含まれている。この列には、インタラクティブ・フローチャートのプロセス・ボックスが実行に失敗したエラー・コードが含まれる。
ERRORMESSAGE : この列には、インタラクティブ・フローチャートのプロセス・ボックスの実行に失敗した理由を説明するエラーメッセージの説明が含まれる。
SEQID : これは、テーブルに挿入された各レコードに対してシステムが生成した一意のフィールドです。
問題とトラブルシューティング
しかし、どのようにトラブルシューティングして問題を解決するのでしょうか?私は例からいくつかの助けを得てみましょう。インタラクティブ・フローチャートのテスト実行が、列 "TESTERROR_<>."""ERRORESSAGE" の値が大きすぎるデータベース・エラー (value too large for the column) で失敗した場合。
原因 : インタラクティブ フローチャートは、テーブル TESTERROR_n テーブルのテーブル カラム "ERRORMESSAGE" のサイズよりも大きいエラーメッセージをスローします。デフォルトでは、対話型フローチャートごとに、1つのTESTERROR_n テーブルがプロファイルデータベースに作成されます。このテーブルのカラム ERRORMESSAGE のサイズは 512 バイトであり、エラーメッセージが 512 より大きい場合は、以下のようにデータベースエラーで失敗します。
行[1]でのテスト実行エラー[run id=6u2keu1n90]。
com.unicacorp.interactual.exceptions.DataAccessException. 以下のデータベースクエリを実行する際にエラーが発生しました(ORA-12899: column "UNICAINTERACTTR"... "TESTERROR_3900774″... "ERRORESSAGE" (actual: 1059,maximum: 512) )。INSERT INTO UNICAINTERACTTR.TestError_3900774 (SeqID,ErrorMessage,ErrorCode,ProcessID) VALUES (?,?,?,?)
解決方法
このエラーを解決する最も簡単な方法は、対話型フローチャート用に作成された TESTERROR_n テーブルを ERRORESSAGE のサイズを大きくして変更することです。Interact でフローチャートを設計する際には、最終的な実行前にテストを行うことが不可欠です。これは、設定の早い段階で問題を分析し、修正するのに役立ちます。そのため、次回のテスト実行が失敗した場合は、これらの 4 つのテーブルを参照して、特定の情報を確認してください。
Unica に関するご質問は、いつでもサポートコミュニティに質問してください。
また、HCL のアイデアポータルに登録して、製品のロードマップに影響を与えるチャンスです。