Campaign: FileImport アクティビティがDate+Timeを解析できません
この記事では、FileImport アクティビティがプレビューベースのセットアップ中に入力列を日付+時刻として認識しますが、基になる日付と時刻の区切り文字の設定を完全に初期化しない問題について説明します。 その結果、インポート中に日時の値が正しく解析されず、NULLとして読み込まれる可能性があります。
説明 description
プレビューファイルを使用してFileImport アクティビティを設定する場合、Date+Timeとして自動的に検出される列がUIで正しく設定されているように見えますが、アクティビティ定義では日付と時刻の値に必要な区切り文字の属性が常に入力されるとは限りません。
影響を受けるケースでは、アクティビティメタデータには次のような値が含まれます。
- dateFormat
- dateTimeFormat
- dateTimeSep
- timeFormat
しかし、以下は省略します。
- dateSep
- timeSep
区切り記号の値が見つからないため、処理中に日付時刻文字列(2025/18/06/14:30:00など)が正しく解釈されない場合があります。 これにより、ワークフローログで、日付フィールドの形式が正しくないことを示す警告が表示され、インポートされた日時フィールドがNULLとして保存される可能性があります。
一般的な症状としては、設定インターフェイスで列がDate+Timeとして表示されますが、ランタイム解析はフォーマット定義が不完全であるかのように動作します。
解決策 resolution
回避策
影響を受けるFileImport アクティビティの列設定を開き、次のいずれかの操作を行ってdatetime形式を強制的に再初期化します。
- 列タイプをDate+Timeとして再選択し、アクティビティを保存します。
- 影響を受ける列に対して、自動検出フォーマットを再度使用します。
いずれのアクションでも、アクティビティ定義によって、次のような欠落しているセパレータ属性が設定される可能性があります。
- dateSep=“/”
- timeSep=“:”
これらの値が存在すると、日時フィールドが正しく解析され、有効な日付値を無効にせずにインポートを続行する必要があります。
恒久的な修正
プレビューファイルから列が派生する場合、基礎となる問題はdataSourceColumn初期化ロジックの欠陥として特定されました。 修正は、プレビューベースの初期化の際に、列が日時タイプとして認識されるたびに、dateSepとtimeSepが自動的に設定されるようにすることです。
修正がターゲットビルドでまだ利用できない場合は、ワークフローを実行する前に、上記の回避策を使用してください。