タスクの変換
このページの内容
変換タスクについて
変換タスクでは、未加工データを編集および検証して、互換性のある簡素化されたドキュメントに変換できます。データ変換は、パートナーやチームへの送信に適した任意の形式にエクスポートできるよう、データセットを自動的に統一化するのに役立ちます。
ヒント:このタスクは、以前は「基本変換」タスクとして知られていました。
変換タスクの設定
ヒント:このタスクはETLワークフローにのみ対応しています。ETLワークフローに適用される一般的な制限については、ワークフローの制限を参照してください。タスク固有の制限については、このページの情報を参照してください。
変換タスクを設定するには、次の手順に従います。
ヒント:検証ルールによって最終的な出力ファイルから行が除外された場合、タスクは「一部成功」とマークされます。タスクは技術的には成功しましたが、元ファイルから一部の行が削除され、スキップ済みとしてマークされたため、部分的な成功と見なされます。詳細については、ワークフローのステータスを参照してください。
ヒント:変換でエラー(項目の無効なフォーマットなど)が発生した場合、その行の以降の操作はすべてスキップされます。
データ変換
フィールドで利用できる変換操作は、宛先のフィールドタイプによって異なります。
テキスト値、テキストセット、オープンテキストのフィールドでは次の変換を利用できます。
- 接頭辞を追加:各値の先頭にテキストを追加します。
- 接尾辞を追加:各値の末尾にテキストを追加します。
- 連結:複数のフィールドの値を連結します。
- 大文字小文字の形式を設定:フィールド内のすべての値に大文字小文字のある形式(例:UPPERCASE)を適用します。
- マップ値:一致する値に基づいてインプット値を特定のアウトプットにマッピングします。一致しない値についてはオプションでデフォルト値を設定できます。
- 値を置き換え:フィールド内の値を検索して置換します。
- 分割:元のフィールドを区切り文字で分けられた複数のフィールドに分割します。
- 文字数で区切る:先頭または末尾からの文字数を指定して、テキストを2つのフィールドに分割します。
- 部分文字列変換:開始インデックスと終了インデックスを指定して、フィールド内のテキストから部分文字列を作成します。
- 値をトリミング:フィールド内のテキストの先頭、末尾、または両端から指定した文字列または空白を削除します。
複数値のテキストセットフィールドでは、次の変換を利用できます。
- 接頭辞を追加:各値の先頭にテキストを追加します。
- 接尾辞を追加:各値の末尾にテキストを追加します。
- 連結:複数のフィールドの値を連結します。
- 大文字小文字の形式を設定:フィールド内のすべての値に大文字小文字のある形式(例:UPPERCASE)を適用します。
- 値を置き換え:フィールド内の値を検索して置換します。
- 分割:元のフィールドを区切り文字で分けられた複数のフィールドに分割します。
ヒント:複数値テキストセットフィールドの変換は、区切り文字としてカンマを使用するCSVファイルとのみ互換性があります。複数値フィールドにコンマが含まれる場合、正しい形式を維持するためにバックスラッシュ(\)を含める必要があります。例えば、カンマを含むデータフィールドが 2 つある場合(例: Doe, John と Doe, Jane)、 これは 4 つの個別のフィールドとして解釈され、それぞれに変換が追加されます(例: Doe、John、Doe、Jane)。各値のコンマにバックスラッシュを追加することで、データが分割されず、2つのフィールドに変換が追加されます(例: Doe\,John、Doe\,Jane)。
数値と数値セットフィールドでは、次の変換を利用できます。
- 絶対値:フィールドの各数値の絶対値を取得します。
- 加算変換:フィールドの各数値に一定の値を足すか、2つのフィールドを加算します。
- 値の平均:各回答について、選択したフィールドの数値の平均を取ります。
- 除算変換:フィールドの各数値を一定の値で割るか、フィールドを別のフィールドで割ります。
- 整数の除算変換:フィールドの各数値を一定の値で割るか、フィールドを別のフィールドで割ります。返すのは整数(integer)のみです。
- 値の最大値:各回答について、選択したフィールドの最大値を取ります。
- 値の中央値:各回答について、選択したフィールドの中央値を取ります。
- 値の最小値:各回答について、選択したフィールドの最小値を取ります。
- 乗算変換:フィールドの各数値に一定の値を掛けるか、2つのフィールドを掛け合わせます。
- 値を丸める:フィールド内のすべての値を切り上げるか切り捨てます。
- 減算変換:フィールドの各数値から一定の値を引くか、フィールドから別のフィールドを引きます。
- 値の合計:各回答について、選択したフィールドの値の合計を取ります。
日付フィールドでは、次の変換を利用できます。
- 日付計算:現在のソースの日付から別の日付までの経過時間を返します。
- 曜日変換:現在のソースの日付からその曜日を判定します。
- 日付/時刻のオフセット:日付/時刻を、指定した時間の分オフセットする。たとえば、インタラクションから5日後の日付を計算できます。
ヒント:オフセットを使う場合、未来の1日も過去の1日も、今日として扱われます。
ヒント:クアルトリクスのシステムはUTCタイムゾーンを使用します。すべての日付の計算とオフセットはUTCに基づいて行われます。
日付/時刻のカスタム書式を入力する場合、次の書式オプションを利用できます。
- 年:yy、yyyy
- 月M、MM、MMM、MMMM
- 日:d、dd
- 年における曜日:DDD
- 午前/午後の時間:K、KK
- 1日の時間:HH
- 分:m、mm
- 秒:s、ss
- 分数秒:S、SS、SSS
- タイムゾーンオフセット:ZZZZ、ZZ:ZZ(+/-を含むことができる)
- 午前/午後:a
- 曜日:E、EE
- タイムゾーン形式:z
ヒント:1か月は30日として扱われます。
データ検証
検証ルールを追加すると、フィールドのデータが必ず同じ形式となるよう基準や条件を作成することができます。たとえば、無効な電子メールアドレスを持つレコードを削除したいとします。
検証ルール
検証ルールを追加すると、フィールドのデータを条件に従って検証できます。条件構築の詳細については、「条件構築の基礎」を参照してください。
条件付きフィールド
条件付きフィールドは、他のフィールドを使用してフィールドの作成方法を決定するロジック条件を設定することで作成されます。ソースフィールドの右にある3点リーダーメニューから条件フィールドを追加します。条件構築の詳細については、「条件構築の基礎」を参照してください。
条件付きフィールド
条件付きフィールドは、単一のロジック条件に基づいて新しいフィールドを作成します。
例:「このアンケートへの参加に同意しますか?」という質問に対する回答者の回答に基づいて、「同意者」または「非同意者」のフィールドを作成するとします。「はい」が選択された場合、値は「同意者」となる、というロジックで条件付きフィールドを作成できます。
ヒント:指定した値と入力フィールドの両方が数値の場合、「次を含む」演算子は常に「それ以外」の値を生成します。これらの値をテキストとして扱いたい場合は、代わりに高度な条件フィールドを使用してください。
詳細条件付きフィールド
高度な条件付きフィールドは、複数のロジック条件または条件セットに基づいて新しいフィールドを作成します。
例:回答者が10段階の満足度に関する質問にどのように回答したかに基づいて、「推奨者」または「批判者」のフィールドを作成するとします。ロジック「Q2が“8以上”の場合、値は“推奨者”となり、Q2が“5以下”の場合、値は“批判者”となる」を使用して、高度な条件付きフィールドを作成します。
変換後のファイルとレポート
変換タスクでは、変換されたファイルと、変換されたデータセットの理解に役立つ 2 つのレポートが生成されます。ワークフローエディターの[実行履歴]タブで、ワークフロー実行内の変換タスクをクリックすると、右側にファイルが表示されます。これらのファイルは、右側にあるダウンロードアイコンをクリックしてエクスポートすることができます。
- 変換レポート:ソースファイル内のレコードに対して実行されたすべての変換と、その名前、行番号、ステータス、失敗理由などの詳細。
- 変換ファイル:データ変換の結果。すべての変換および検証が適用された、新しいデータセットを含む。
- 検証レポート:実行された検証のレポート。レコードが除外されたかどうか、また不合格だった検証を含みます。
注意: トランスフォーメーションレポートと検証レポートは、ワークフローの for-each ループと互換性がありません。
トラブルシューティング
- ファイルサイズの制限:変換タスクによって生成されたファイルが 1GB を超える場合、ワークフローは失敗します。
- ファイルサイズを増加させる変換:データの変換方法によっては、変換タスクによって ファイルにデータが追加される場合があります。抽出するファイルがすでに 1GB の上限に近い場合は、変換によってファイルのサイズが大きくなりすぎて処理できなくなる可能性があることに注意してください。
- 不足しているアンケート項目:変換タスクの前にアンケートから回答を抽出するタスクでETLを開始した場合、アンケート項目が不足していることがあります。これは、アンケートに新しいフィールドを追加した場合、抽出タスクを再度保存してから変換タスクにフィールドを追加する必要があるためです。これを解決するには:
- アンケートから回答を抽出タスクを開きます。
- アンケートの列で、新しいフィールドを選択します。(「すべてのフィールドをダウンロード」を選択している場合は、タスクを保存する次のステップに進みます。)
- ほかの設定はすべて同じままでタスクを保存します。
- 変換タスクを開きます。
- フィールドが表示されるはずです。
- データ読み込みタスクにこの新しいフィールドが含まれているかどうかも確認してください。
- 「EOF unexpectedly hit:」ワークフローの実行履歴を確認すると、「EOF unexpectedly hit when reading file」というメッセージが表示されることがあります。ファイルにデータを追加するか、データソースからデータを削除してください。」このような場合は、タスクの失敗を自動的に再試行するようにワークフローを設定することをお勧めします。
素晴らしい! フィードバックありがとうございます!
フィードバックありがとうございます!