注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
このガイドで作成するパイプラインは、時系列同期の元になる時系列データを生成します。この同期を Carrier、Route、Airport オブジェクトタイプの時系列プロパティに関連付けて、新しい時系列オブジェクトを作成します。このパイプラインでは、時系列ではないデータを計算して時系列データを生成するため、時系列データセットから時系列プロパティへの標準的なマッピングよりも複雑な設定が必要です。パイプラインに関する一般的なガイダンスについては、Pipeline Builder のドキュメントを参照してください。
使用するフライトデータセットには、時系列プロパティの作成に使用する次の列が含まれています。
string | フライトとデータセット内の各行を識別する一意の文字列。date | フライトが運航された日付。string | 到着空港を識別する文字列。string | 航空会社の ID。string | 出発空港の ID。integer | 出発の遅延時間(分)。integer | 到着の遅延時間(分)。string| 路線を識別する一意の文字列。このガイドの最後に完成するパイプラインは、次のようになります。

Flights オブジェクトタイプの元となるフライトデータセットを使い、集計のデータ加工を行って、フライトのメトリクスに基づく時系列データを生成できます。ヒストリアンまたはエッジセンサーから Foundry に時系列データが取り込まれている場合、この手順は不要です。時系列同期の生成に進むことができます。
Carrier および Route オブジェクトタイプにデータ加工を適用するフライトデータセットに対して、以下の手順でデータ加工を適用します。Carrier と Route の両方のオブジェクトタイプに対して行います。
集計のデータ加工を使い、日付とオブジェクトの ID でグループ化して、到着遅延の平均、出発遅延の平均、1日あたりのフライト件数を計算します(ここでは Route オブジェクトタイプの route_id を使用します。Carrier オブジェクトタイプについても、airline_id を使用して同じ処理を別途行う必要があります)。

集計後、データセットのプレビューには次のスキーマが表示されるはずです。
| route_id | date | daily_avg_dep_delay | daily_avg_arr_delay | daily_count_of_flights |
|---|---|---|---|---|
| ATL -> SFO | 2023-06-12 | 33.4545454545450000 | 40.0000000000000000 | 11 |
| ATL -> FLL | 2023-08-24 | 29.7272727272720000 | 19.4090909090909100 | 22 |
| ATL -> TVC | 2023-07-05 | -8.0000000000000000 | -8.0000000000000000 | 1 |
この新しいデータを時系列として使用するには、タイムスタンプ型の列を作成する必要があります。そのためには、型変換のデータ加工を使い、date 列をタイムスタンプ型の列にキャストします。また、この後にアンピボットのデータ加工を適用して、daily_avg_dep_delay、daily_avg_arr_delay、daily_count_of_flights の値を1つの列にまとめます。この関数ではすべての値が同じデータ型である必要があるため、1日あたりのフライト件数のメトリクスも Double 型(遅延の平均のメトリクスと同じデータ型)にキャストする必要があります。

このデータセットには異なる列に時系列データが含まれているため、アンピボットのデータ加工を使って1つの値の列にまとめ、時系列同期に必要な以下のスキーマに合わせる必要があります。
string | 時系列プロパティ(TSP)が参照するタイムスタンプと値のペアの集合を識別するシリーズIDで、時系列プロパティのシリーズIDと一致する必要があります。timestamp または long | 量が測定された時刻です。integer、float、double、string | 測定時点での量の値です。文字列型はカテゴリカル時系列を示します。各カテゴリカル時系列には、最大10,000個の一意の値を含めることができます。以下に示すアンピボットのデータ加工は、daily_avg_dep_delay、daily_avg_arr_delay、daily_count_of_flights の値を同じ series_value 列に配置します。元の列名は新しい series_name 列に出力され、series_id で使用されます。

データセットのスキーマは、次のように表示されるはずです。
| series_name | series_value | route_id | date |
|---|---|---|---|
| daily_avg_dep_delay | 33.4545454545450000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
| daily_avg_arr_delay | 40.0000000000000000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
| daily_count_of_flights | 11.0000000000000000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
次に、文字列連結のデータ加工を使ってシリーズID(関連する時系列の値の識別子)を作成できます。このデータ加工を使い、series_name(各センサーが表すもの)と各オブジェクトの主キーを組み合わせます。

| series_id | series_name | series_value | route_id | date |
|---|---|---|---|---|
| CMH -> IAH_daily_avg_dep_delay | daily_avg_dep_delay | 33.4545454545450000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
| CMH -> IAH_daily_avg_arr_delay | daily_avg_arr_delay | 40.0000000000000000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
| CMH -> IAH_daily_count_of_flights | daily_count_of_flights | 11.0000000000000000 | ATL -> SFO | 2023-06-12T00:00:00.000Z |
列選択のデータ加工を使い、時系列同期に必要な列である series_id、series_value、date のみを保持します。フライトの元データセットには、測定対象にかかわらず、すべてのシリーズの時系列の値が格納されます。(フライトデータセットの)airline_carrier_id 列についても、この処理を繰り返します。

| series_id | series_value | date |
|---|---|---|
| CMH -> IAH_daily_avg_dep_delay | 33.4545454545450000 | 2023-06-12T00:00:00.000Z |
| CMH -> IAH_daily_avg_arr_delay | 40.0000000000000000 | 2023-06-12T00:00:00.000Z |
| CMH -> IAH_daily_count_of_flights | 11.0000000000000000 | 2023-06-12T00:00:00.000Z |
次に、出発空港と到着空港の両方について、集計と型変換のデータ加工の手順を繰り返す必要があります。
集計のデータ加工を使い、date と origin_airport_id でグループ化して、到着時刻と出発時刻の平均を計算します。各グループの行の総数は、路線ごとの1日あたりのフライト件数に相当します。

| date | origin_airport_id | daily_avg_dep_delay | daily_count_of_departing_flights |
|---|---|---|---|
| 2023-07-02 | 10299 | 9.34375000000000000 | 33 |
| 2023-09-06 | 10431 | -2.3333333333333333 | 6 |
| 2023-01-12 | 10620 | -7.0000000000000000 | 2 |
この新しいデータを時系列として使用するには、タイムスタンプ列を作成する必要があります。そのためには、型変換のデータ加工を使い、date 列をタイムスタンプ型の列にキャストします。

結合ボードを使って、到着空港と出発空港のデータを組み合わせる左結合を作成し、空港データの完全な時系列プロパティを作成します。結合には必ず次の設定を行ってください。
origin_airport_id を dest_airport_id と一致させます。
| date | origin_airport_id | daily_avg_dep_delay | daily_count_of_departing_flights | daily_avg_arr_delay | daily_count_of_arriving_flights |
|---|---|---|---|---|---|
| 2023-07-02 | 10299 | 9.34375000000000000 | 33 | 18.5294117647058840 | 34 |
| 2023-09-06 | 10431 | -2.3333333333333333 | 6 | -8.0000000000000000 | 6 |
| 2023-01-12 | 10620 | -7.0000000000000000 | 2 | 56.5000000000000000 | 2 |
出発空港のデータと到着空港のデータを結合したので、すべての空港の到着と出発のメトリクスがそろいました。出発と到着を区別する必要がなくなったため、列名を変更するデータ加工を使って、origin_airport_id を単に airport_id に変更できます。

列名を変更すると、データのプレビューは次のようになります。
| date | airport_id | daily_avg_dep_delay | daily_count_of_departing_flights | daily_avg_arr_delay | daily_count_of_arriving_flights |
|---|---|---|---|---|---|
| 2023-07-02 | 10299 | 9.34375000000000000 | 33 | 18.5294117647058840 | 34 |
| 2023-09-06 | 10431 | -2.3333333333333333 | 6 | -8.0000000000000000 | 6 |
| 2023-01-12 | 10620 | -7.0000000000000000 | 2 | 56.5000000000000000 | 2 |
この後、アンピボットのデータ加工を適用します。この関数では、すべての値が同じデータ型である必要があるため、型変換のデータ加工ボードを再度使って、1日あたりのフライト件数のメトリクスを Double データ型にキャストし、平均遅延時間のメトリクスと同じデータ型にする必要があります。
1日あたりの総フライト件数を計算するには、以下に示すように、数値を加算するデータ加工を使って、1日あたりの到着フライト件数と1日あたりの出発フライト件数を足し合わせます。

| daily_count_of_flights | date | airport_id | daily_avg_dep_delay | daily_count_of_departing_flights | daily_avg_arr_delay | daily_count_of_arriving_flights |
|---|---|---|---|---|---|---|
| 77 | 2023-07-02 | 10299 | 9.34375000000000000 | 33 | 18.5294117647058840 | 34 |
| 12 | 2023-09-06 | 10431 | -2.3333333333333333 | 6 | -8.0000000000000000 | 6 |
| 4 | 2023-01-12 | 10620 | -7.0000000000000000 | 2 | 56.5000000000000000 | 2 |
このデータセットでは時系列データが異なる列に格納されているため、アンピボットのデータ加工を使って1つの値の列にまとめる必要があります。これにより、データを以下の時系列同期に必要なスキーマに合わせることができます。
string | 時系列プロパティが参照するタイムスタンプと値のペアの集合に対応するシリーズIDです。時系列プロパティのシリーズIDと一致する必要があります。timestamp または long | 量が測定された時刻です。integer、float、double、string | 測定時点での量の値です。文字列データ型はカテゴリカル時系列を示します。各カテゴリカル時系列には、最大10,000種類の一意の値を含めることができます。以下に示すアンピボットのデータ加工では、daily_avg_dep_delay、daily_avg_arr_delay、daily_count_of_flights の値を同じ series_value 列に格納します。これらの元の列名は、シリーズIDで使用する新しい series_name 列に出力されます。

データは次のスキーマでプレビューされます。
| series_name | series_value | date | airport_id |
|---|---|---|---|
| daily_count_of_flights | 77 | 2023-07-02T00:00:00.000Z | 10299 |
| daily_avg_dep_delay | 9.34375000000000000 | 2023-07-02T00:00:00.000Z | 10299 |
| daily_avg_arr_delay | 18.5294117647058840 | 2023-07-02T00:00:00.000Z | 10299 |
これで、文字列を連結するデータ加工を使って、シリーズID(関連する時系列値の識別子)を作成できます。このデータ加工を使って、series_name(各センサーが何を表すか)と Airport オブジェクトの主キー(airport_id)を組み合わせます。

| series_id | series_name | series_value | date | airport_id |
|---|---|---|---|---|
| 12099_daily_count_of_flights | daily_count_of_flights | 77 | 2023-07-02T00:00:00.000Z | 10299 |
| 12099_daily_avg_dep_delay | daily_avg_dep_delay | 9.34375000000000000 | 2023-07-02T00:00:00.000Z | 10299 |
| 12099_daily_avg_arr_delay | daily_avg_arr_delay | 18.5294117647058840 | 2023-07-02T00:00:00.000Z | 10299 |
列を選択するデータ加工を使って、時系列同期に必要な列である series_id、series_value、date のみを保持します。フライトの元データセットには、測定対象にかかわらず、すべてのシリーズの時系列値が格納されます。

結果のデータセットは次のようになります。
| series_id | series_value | date |
|---|---|---|
| 12099_daily_count_of_flights | 77 | 2023-07-02T00:00:00.000Z |
| 12099_daily_avg_dep_delay | 9.34375000000000000 | 2023-07-02T00:00:00.000Z |
| 12099_daily_avg_arr_delay | 18.5294117647058840 | 2023-07-02T00:00:00.000Z |
Carrier、Route、Airport の時系列プロパティを表すデータ加工を使用し、種類を名前による和集合に設定して和集合を作成します。


| series_id | series_value | date |
|---|---|---|
| 12099_daily_count_of_flights | 77 | 2023-07-02T00:00:00.000Z |
| 12099_daily_avg_dep_delay | 9.34375000000000000 | 2023-07-02T00:00:00.000Z |
| 12099_daily_avg_arr_delay | 18.5294117647058840 | 2023-07-02T00:00:00.000Z |
| CMH -> IAH_daily_avg_dep_delay | -8.0000000000000000 | 2023-03-21T00:00:00.000Z |
| 20304_daily_avg_arr_delay | 9.12500000000000000 | 2023-08-13T00:00:00.000Z |
生成されたデータセットにフィルターのデータ加工を適用し、すべての null 値を削除します。

次に、画面右側のパイプライン出力セクションから追加を選択して、時系列同期を作成します。その後、タイムシリーズの同期を選択します。次の点を考慮し、新しい時系列同期に必要なデータを入力します。
series_id 列を選択します。date タイムスタンプ列を追加します。series_value を追加します。次に、パイプラインを保存してビルドします。出力はパイプラインと同じフォルダーに作成されます。
時系列同期を含むパイプラインを作成したので、この同期を使用して Route、Carrier、Airport オブジェクトタイプに時系列プロパティを追加する準備ができました。詳しい手順については、オブジェクトタイプへの時系列プロパティの追加に関するドキュメントに進んでください。