如何為具有條件的列編寫腳本嗨,
我需要幫助編寫一些條件。我附加了一個樣本數據集和一個帶有條件的word文檔。我能夠做簡單的腳本,但這個超出了我的專業水平:)
謝謝。
Re:如何為具有條件的列編寫腳本這個問題有兩個部分。第一個是“Result1”列。基於“代碼”,“日期”和“循環”列中的信息,對於“代碼”列的每個值,表徵循環內的變化。因此,每當新的“PD”或“HD”週期開始時,第一個月將被計為一個,並且它將在同一周期內的最後一個月來識別差異。基於此,如果在循環的前三個月內,它將重命名Result1“WI”下的行,如果有最後三個,則重命名“WO”。介於兩者之間的任何內容都將重命名為“有效”。但只有在周期(對於特定的“代碼”)和AND之間至少有七個月的差異時才會發生這種情況最後一個行可以歸類為“WI”(前3個月),一僅作為“WO”(最近3個月),和如果有一可以歸類為“有效”(無論是前3個月,也不是循環內的最後3個月)。如果不滿足該條件,則Result1可以標記為“N / A”。
第二部分,結果2,用於識別從“HD”到“PD”和“PD”到HD“的循環切換,這些循環切換發生在”代碼“列的每個值上。此外,確定是否是第一次,第二次,......,切換發生在“代碼”內。
感謝您的幫助,如果此答案澄清了您的問題,請告訴我們。
Re:如何為具有條件的列編寫腳本 @ jenny1 ,
我試著仔細研究你的問題並理解你想要做什麼。
讓我們嘗試概述您想要實現的步驟。最初,您可能希望以一個標誌開頭,其中有“行”,其中“代碼”列在連續2行中發生變化,從“PD”變為“HD”,反之亦然。
Clear Log(); Clear Globals();
dt = Current Data Table();
// Identify rows where 2 consecutive rows change from PD to HD or vice-versa
dt << New Column("Match1",Character,Nominal,Formula(If(Row()==1,0,
If(:Code[Row()-1] == :Code[Row()],
0;
,
1;
)
)
)
);我試過像上面顯示的那樣的東西。如果滿足這些條件,我希望在Match1列中看到連續的 - 但我在樣本數據集中看不到任何內容。這是你想要進入的方向嗎?