目次

Search

  1. はじめに
  2. Informatica Data Engineering Integrationについて
  3. マッピング
  4. マッピングの最適化
  5. ソース
  6. ターゲット
  7. トランスフォーメーション
  8. Pythonトランスフォーメーション
  9. データプレビュー
  10. クラスタワークフロー
  11. プロファイル
  12. 監視
  13. 階層データ処理
  14. 階層データ処理設定
  15. スキーマが変更された階層データの処理
  16. インテリジェント構造モデル
  17. ブロックチェーン
  18. ステートフルコンピューティング
  19. 付録 A: 接続リファレンス
  20. 付録 B: データ型リファレンス
  21. 付録 C: 関数リファレンス

ユーザーガイド

ユーザーガイド

GPS pingの例

GPS pingの例

あなたの組織はトリップID、イベントID、およびタイムスタンプを含む車両からのGPS pingを受信します。各ping間の時間差を計算し、前の行との時間差が60秒未満である場合、行にスキップとのフラグを付けようとしています。
イベントを時系列で順序付け、イベントをトリップ別にパーティション化します。前の行のイベント時刻にアクセスするウィンドウ関数を定義し、ADD_TO_DATE関数を使用して、2つのイベント間の時間差を計算します。

ウィンドウ化プロパティ

[ウィンドウイング]タブで、次のウィンドウイングプロパティを定義します。
プロパティ
説明
オーダーキー
_event_id昇順
。イベントIDの昇順で、データを時系列に配置します。
パーティションキー
trip_id
。行をトリップID別にグループ化し、計算が同じトリップからのイベントに基づくようにします。
フレーム
指定されていません。ウィンドウ関数は、オフセット引数に基づいて行にアクセスし、フレーム仕様を無視します。
次の図に、式トランスフォーメーションで設定するウィンドウ化プロパティを示します。
[ウィンドウイング]タブで、_event_idがオーダーキーとして選択されており、trip_idがパーティションキーとして選択されています。フレーム仕様は定義されていません。

ウィンドウ関数

前の行からイベント時刻を取得する次のLAG関数を定義します。
LAG ( _event_time, 1, NULL )
説明:
  • _event_time
    は、前の行からの返される値を含むカラム名です。
  • 1
    がオフセットです。この値は、現在の行の直前の行を表します。
  • NULL
    がデフォルト値です。この関数は、戻り値がパーティションの境界外である場合NULLを返します。
2つの日付間の時間を計算する次のDATE_DIFF関数を定義します。
DATE_DIFF ( _event_time, LAG ( _event_time, 1, NULL ), 'ss' )
DATE_DIFFが60秒未満の場合、または_event_timeがNULLの場合、行にスキップとのフラグを付けます。
IIF ( DATE_DIFF < 60 or ISNULL ( _event_time ), 'Skip', 'Valid' )
次の図に、トランスフォーメーションプロパティで定義する式を示します。
LAG関数、DATE_DIFF関数、IIFフラグは、式トランスフォーメーションの[ポート]タブで定義されます。

アウトプット

トランスフォーメーションは、次の出力を生成します。
Trip ID
Event ID
Event Time
Time Difference
Flag
101
1
2017-05-03 12:00:00
NULL*
Skip
101
2
2017-05-03 12:00:34
34
Skip
101
3
2017-05-03 12:02:00
86
Valid
101
4
2017-05-03 12:02:23
23
Skip
102
1
2017-05-03 12:00:00
NULL*
Skip
102
2
2017-05-03 12:01:56
116
Valid
102
3
2017-05-03 12:02:00
4
Skip
102
4
2017-05-03 13:00:00
3480
Valid
103
1
2017-05-03 12:00:00
NULL*
Skip
103
2
2017-05-03 12:00:12
12
Skip
103
3
2017-05-03 12:01:12
60
Valid
*これらの行の前の行は、パーティションの境界外であるため、トランスフォーメーションはNULL値を生成しました。