嗨 - 我需要幫助來放置一個公式來根據條件查找最近的行並檢索不同的列值/在兩個行參數(DateTime)之間執行計算。
下面的數據表(也附上)有:資產、日期時間、離散和操作列。
數據先按 Asset 後 DateTime 排序(升序)
還有一個表變量 days_threshold = 4。
Action(Desired) 是當前公式所需的 Action 形式

需要修改。
任何獲得一個離散的= 1(通常由此處跳過的公式規則確定,而是提供的樣本值),行動需要開始查看它自己之前的行(在約會時間降序形式)。 該搜索中的兩個條件是:
1-尋找相同的資產為此離散的=1(即 XY01 或 XY02)
2-查看直到最近的值行動 = 1被發現。
計算上次 Action 為 1 與當前行的 DateTime 之間的天數。
如果差異(以天為單位)>= days_threshold = 4 ---> 那麼當前行的操作 = 1
否則,如果差異(以天為單位)< days_threshold ---> 那麼當前行的操作 = 0
只對查找 Action 為“1”的最近時間感興趣... 一旦找到該單個值(如果存在),搜索就可以在該點停止。 搜索的限制是直到第一次出現該資產(即最舊的記錄)。 如果之前從未將 Action 設置為“1”,則可以將當前行的 Action 設置為“1”
例如,第 2 行是 XY01 第一次獲得 Action =1(基於離散,它本身與一些規則相關,在本例中僅顯示 w/ 值)。
接下來在第 3 行,Discrete 再次設置為 1,但這次 Action 需要為 0,因為先前行和當前行之間的天數差異為 0 (< days_threshold)。
同樣,對於第 5 行,Action 仍然保持為 0,因為距離上次 Action 為 1 僅過去了 3 天。
最後 Action 在第 6 行設置為“1”。
按照這個想法提供了兩個資產 - 將所需的值設置為 Action(Desired)。
我更喜歡這是一個公式而不是腳本。
在此先感謝 JMP 團隊。
阿爾圖·拜拉姆
