需要基於其他列上的選擇性條件的列大家好,
我正在尋找測量過程中失敗的百分比。 我的要求和示例數據如下。
這裡有什麼幫助嗎?
謝謝,
腳本回复:需要一個基於其他列的選擇性條件的列這裡最棘手的部分是定義一個適當的分組列(參見 Avg_Time 並與 Sample --> Group 連接)。
這類似於與 Sample 連接的“計數”。
如果我需要計算要求,我會按照“結果”列中的表格所示進行。 在幕後,它試圖在每一行中找到:屬於同一組的所有行,並在“組中的測量”列中顯示測量點。
詳情請見附表。

回复:需要一個基於其他列的選擇性條件的列嗨,喬治,
在表格列公式中似乎工作正常。 但我無法將其製作成腳本。 在也嘗試了基於 For 循環和不同列的類似方法,但我無法生成測量模式以獲得最終結果。 這是我正在嘗試的腳本 -
/////////////////////////////////////////////////////////////////
dt = Current Data Table();
dt << New Column( "Pattern0",
Expression,
(row_index_lst = {} ; row_Time_A = :Time_A ; row_Sample = :Sample ; threshold = 60 * 15 ;
For Each Row(
If( Abs( :Time_A - row_Time_A ) < threshold & :Sample == row_Sample,
Insert Into( row_index_lst, Row() )
)
));
(:Measurement << get values)[row_index_lst];
);
///////////////////////////////////////////
// similar approach but based on different column and For loop--
//////////////////////////////////////////////////////
dt << New Column( "Pattren",
Expression,
For( i = 1, i <= N Rows( dt ), i++,
Row_List = {};
If(
:Count == Lag( :Count, -1 ) & :Sample == Lag( :Sample, -1 ) | :Count == Lag( :Count, 1 ) &
:Sample == Lag( :Sample, 1 ),
Insert Into( Row_List, Row() )
);
(:Measurement << get values)[Row_List];
)
);
/////////////////////////////////////////////////////////////
兩者都只給出空列。 任何建議如何將您的公式轉換為腳本?
再次感謝。
回复:需要一個基於其他列的選擇性條件的列我不確定你要做什麼。
如果您想將該計算添加到當前數據表中,下面的代碼將起作用。 您需要將該計算放入“Formula()”中。
如果您有一個列並且想要編寫腳本,最好的方法總是從表格的紅色小三角菜單中復製表格腳本。 在那裡您可以獲取並查看腳本,如何通過腳本生成表(或列)。
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "Pattern",
Expression,
"None",
Formula(
(row_index_lst = {} ; row_Time_A = :Time_A ; row_Sample = :Sample ; threshold = 60 * 15 ;
For Each Row(
If( Abs( :Time_A - row_Time_A ) < threshold & :Sample == row_Sample,
Insert Into( row_index_lst, Row() )
)
));
(:Measurement << get values)[row_index_lst];
),
Set Display Width( 232 )
);