目的
開始イベントと終了イベントの間の時間差(つまりDELTA_T)を計算します。計算は、時間順時系列データセットに対して実行されます。
DELTA_T関数を呼び出すには、GROUP BY TIME句を使用します。
構文
構文要素
- starting_sql_condition
- 検索する期間の開始を定義する、サポートされているWHERE句。
- ending_sql_condition
- 検索する期間の終了を定義する、サポートされているWHERE句。
戻り値
DELTA_Tは、各開始-終了ペアの開始と終了のタイムコードで構成されるPERIOD(TIMESTAMP WITH TIME ZONE)型を返します。
<Teradata Vantage™ SQL日付と時刻関数および式、B035-1211>の「期間関数および演算子」で説明されているように、PERIOD DATA TYPES関数を使用して結果を検査します。
- 現在のソース データが開始条件を満たしている場合、現在のタイムコードが開始時刻として保存されます。
- 現在のソース データが終了条件を満たしていて、保存された開始タイムコードがすでに存在する場合、開始タイムコードは結果ペアとして検出された終了タイムコードとともに保存されます。
処理アルゴリズムは、複数の結果が各グループに見つかる可能性があることを意味します。
開始/終了のペアがない場合、結果行は返されません。
< 1マイクロ秒のデルタを持つDELTA_Tの結果(単一の時点からの結果の場合は0のデルタを含む)は、自動的に1マイクロ秒に丸められます。これは、Periodデータ型の開始と終了の境界が等価ではない可能性があることを示すPeriodデータ型のセマンティクスと一致するように厳密に適用されます。Teradataでサポートされている最小粒度はマイクロ秒なので、これらの結果はそれに従って丸められます。
使用上の注意
SELECTリストでDELTA_Tを明示的に指定できるのは1回だけですが、SELECTリスト、ORDER BY、HAVING句では、さらにDELTA_Tを別名で指定できます。
- ユーザーが顧客サービス ラインを呼び出し、顧客サービス担当者につながるまでの時間。
- 最小の結果と最大の結果の間の時間(温度、風速、塩分濃度など)。
- ソフトウェアの欠陥とその解決を報告するまでの時間。
顧客がサービス担当者に問合わせをするときに1日のどの時間にどの程度待たされるか、または週のどの曜日にどの程度待たされるかを把握することは、企業が実際のニーズに応じて顧客サービス部門の人員を配置するのに役立ちます。会社はより効率的に資金を用い、顧客により良いサービスを提供できるようになります。
DELTA_T関数を他の関数と組み合わせることはできません。
DELTA_TはGROUP BY TIME(*)とともに使用される唯一の集約関数です。
- $TD_GROUP_BY_TIME: タイムバケットが1つしかないため、常に1の値を持ちます。
- $TD_TIMECODE_RANGE: グループに対して読み取られる最初と最後のタイムコード値で構成されます。
WHERE句で評価されるデータ(例えば、最小温度と最大温度の結果)は、同じデータ行に存在するタイムコード値に属している必要があることに注意してください。これは予想される動作です。ただしこの想定は、一緒に複数のテーブルに参加するときには違反となる可能性があります。結合の結果によって特定のデータ ポイント(例えば、温度の読み取り)がデータ行に存在するようになるものの、そのデータ ポイントが発生したタイミングを示すタイムコードはないというクエリーを構築できます。このようなシナリオでは、結果が予想どおりでないか、または誤りとなる可能性が高くなります。Teradata Databaseはこれらのタイプのクエリーを検出しないため、データ ポイントとタイムコードの間に確実に相関を保持する必要があります。