次の表 1 (特定のイベントを含む時系列、〜 2000 データポイント) と 2 (持続時間と振幅データを含む時系列、〜 1,000,000 データポイント) を 3 のようなテーブルにマージしたいと思います。
1:
| タイムスタンプ | イベント |
| 20:23:56:962 | イベント |
| 20:24:14:964 | Bイベント |
| ... | ... |
2:
時間[秒] | 振幅 |
| 0 | -0.000457764 |
| 0.0000625 | 0.0642700195 |
| ... | ... |
3:
| タイムスタンプ | 時間[秒] | イベント | 振幅 |
| 20:23:56:962 | 0 | イベント | -0.000457764 |
| 20:23:56:962 | 0.0000625 | | 0.0642700195 |
| 20:23:56:962 | 0.000125 | | 0.0927124023 |
| ... | ... | | ... |
| 20:24:14:964 | 18.002 | Bイベント | -0.013092041 |
| ... | ... | ... | ... |
私はあなたの助けにとても感謝しています.
これが役立つかどうかはわかりませんが、タイムスタンプ値を取得するスクリプトを次に示します(定義したタイムスタンプ列は文字列であると想定しています)、それらを数値列に変換します。次に、新しい列を time(s) 列と比較して、データをまとめることができます。

names default to here(1);
// Create the sample data table
dtEvent = New Table( "Events",
Add Rows( 2 ),
New Column( "timestamp",
Character,
"Nominal",
Set Values( {"20:23:56:962", "20:24:14:964"} )
),
New Column( "event",
Character,
"Nominal",
Set Values( {"A event", "B event"} )
)
);
// put in a time delay so one can see the initial data table
wait(5);
// Create a numeric version of the timestamp data
dtEvent << New Column( "Numeric timestamp",
Format(
"Custom",
Formula(
Char( Hour( value ) ) || ":" || Char( Minute( value ) ) || ":" ||
Char( Floor( Second( value ) ) ) || ":" || Word(
2,
Char( Round( Second( value ), 3 ) ),
"."
)
),
20
),
formula(
Num( Word( 1, :timestamp, ":" ) ) * 3600 + Num( Word( 2, :timestamp, ":" ) ) * 60
+Num( Word( 3, :timestamp, ":" ) ) + Num( "." || Word( 4, :timestamp, ":" ) )
)
);表 1 のイベント A を表 2 の期間 0 に関連付けて、2 つの表を同期させたいと思います。
そのため、イベント A のタイム スタンプを表 2 の各行の期間値に単純に追加し、その後のすべてのイベントをそれぞれの「合成された」タイム スタンプに関連付ける必要があります。
ありがとう。 このパスをたどると、列の一致が必要になりますが、2 つのテーブルの時間形式が異なります。1 つはミリ秒 (hh:mm:ss:sss) を含む異常なタイム スタンプで、もう 1 つは秒単位の期間値 (期間特定のタイムスタンプ(イベントなど)で開始します。
私の目標は、すべての期間値のタイム スタンプを持つ列を統合することです。 データの整合性が低下するため、期間の値をミリ秒に丸めるのは避けたいのですが、マイクロ秒を含む奇妙なタイムスタンプ形式を処理する方法がわかりません。 何か提案があれば、よろしくお願いします。