行間の時間差を見つけるこんにちは、
スクリプトの設定に取り組んでいます。手順の 1 つは、UCN の順序で、'Timestamp' が上または下の行から 30 分以内であるかどうかを判断することです。当然、これには日付と時刻を含める必要があります。以下は私が使用しているスクリプト/数式です。ただし、これを実行すると、時間のみを参照し、UCN や日付は考慮されません。'30 分' 列を見ると、正しく識別されていないことがわかります。
これは、UCN が互いに 5 桁以内になるように設定されています。ただし、それらの UCN のタイムスタンプが、5 桁以内の UCN のタイムスタンプから 30 分以内であるかどうかを判断する必要があります。うまくいけば意味が通じるでしょう。したがって、行 12 と 13 を見ると、タイムスタンプに基づいて一致していると表示されますが、センター コードが異なり、UCN が 5 桁離れていないため一致しません。行 11 と 12 は UCN が 5 桁以内ですが、時間が 30 分以上離れているため、「30 分以内の時間」列で「1」/赤として識別されるべきではありません。
// New column: Time within 30
Data Table("Time within 30 minutes") << New Column("Time within 30",
Numeric,
"Continuous",
Format("Best", 12),
Formula(
If(
Dif(Num(:Unit Entry Timestamp), 1) <= 30 | Abs(Dif(Num(:Unit Entry Timestamp), -1))
<= 30,
1,
0
)
)
) << Move Selected Columns({:Time within 30}, after(:Positive or Negative));
// Change column info: Time within 30
Data Table("Time within 30 minutes"):Time within 30 <<
Set Property("Value Colors", {0 = 2, 1 = 3}) << Color Cell by Value(1);
自動化とスクリプトデータの探索と視覚化ウィンドウズRe: 行間の時間差を見つける日付と時刻 (日付 + 時刻) を組み合わせた新しい列を作成し、 Pos UCN が数値の場合は数値に固定します。その後、Pos UCNと新しいタイムスタンプ列との時間比較に同様のアイデアを使用できるはずです。
Re: 行間の時間差を見つけるまた、JMP では時間の処理に秒単位を使用するので、比較は秒単位で行うことを忘れないでください。たとえば、In Minutes(30) を使用して 30 分を秒に変換できます (または単に 30*6 を使用します)。
Re: 行間の時間差を見つける先頭の 0 が必要なので、文字値のままにしておく必要があります。
Re: 行間の時間差を見つけるその場合は、新しい数値列を作成するか、Num を使用して変換します (もちろん、5 桁の差は、それらの数値の差以外の意味を持つこともあります)。
重要度順にすべてのルールを教えていただけますか。たとえば、センター コードがこれとどのように関連しているかわかりません (センター コードについては言及されています)
- UNC 値の最大差が 5 である行を検索します (5 桁異なるという意味だと思います)
- 次に、ルール1を満たすときに、最大30分間隔の値を求めます。
- センターコード?
- 他に何か?
Re: 行間の時間差を見つけるあなたが設定したルールはかなり正確です。センター コードは、各センターの識別子にすぎません。センター コードは、UCN の最初の 3 桁です。参考になれば幸いです。スクリプトとメイン ファイル (非常に大きい) に、約 12,000 行からこの 120 行に絞り込むためのコードがすでに含まれています。このコードでは、5 桁以内の UCN が処理されます。
次のステップは、類似の UCN のタイムスタンプが互いに 30 分以内 (同じセンターで UCN の 5 桁以内) であるかどうかを判断することです。これが私が実行方法を見つけようとしていることです。現在使用していて機能していない数式は、以前にアップロードした表の列数式オプションにリストされているはずです。
Re: 行間の時間差を見つけるこの式が正しいかどうかはわかりません。あなたの式とはかなり矛盾しているからです。
Current Data Table() << New Column("R", Numeric, Nominal, Formula(
If(:Center Code == Lag(:Center Code) | :Center Code == Lag(:Center Code , -1),
If(Min(Abs(Dif(Num(:Pos UCN))), Abs(Dif(Num(:Pos UCN), -1))) <= 5,
Min(Abs(Dif(:Unit Entry Timestamp)), Abs(Dif(:Unit Entry Timestamp, -1))) <= In Minutes(30)
,
0
)
,
0
);
));

Re: 行間の時間差を見つけるこれは5列以内を取得するための式です
If( Dif( Num( :Pos UCN ), 1 ) <= 5 | Abs( Dif( Num( :Pos UCN ), -1 ) ) <= 5,
1、
0
)
Re: 行間の時間差を見つける最初の質問にその列を含めていなかったことに気付きました。
Re: 行間の時間差を見つけるこのフォーミュラはまさに私が必要としていたものです!!!!! ありがとうございます!!!