如何建立具有自訂日期/班次的公式列?我正在研究與輪班結構相關的分析。我們每班工作 12 小時。這意味著我們的工作時間為上午 7 點至晚上 7 點(白班,D)和晚上 7 點至早上 7 點(夜班,N)。
目前我有一個公式列腳本如下:
"WW" || Char (Week of Year (:date)) || "." || Char (Day of week (:date) - 1) ||
If (Hour (:date) <= 19 & Hour(:date) >= 7, "D", "N")
看起來它並沒有按照我期望的基於此腳本的 bcs 方式工作,每當時間到達凌晨 12 點時,它就會更改為新的一天。
例如:
腳本會將 12/01/2020 5:49:47 AM 轉換為 WW49.2N。應該是WW49.1N。 WW49.2D 在日期和時間為 12/01/2020 7:00:00 AM 時開始 這是因為夜班時間為晚上 7 點至上午 7 點。有人可以建議或建議創建腳本的替代方法嗎?
進階統計建模自動化和腳本編寫消費者與市場研究實驗設計回复:如何創建具有自定義日期/班次的公式列?您的輪班時間為東部時間上午 7 點至晚上 7 點和北部時間晚上 7 點至上午 7 點。如果第 2 天夜班的時間超過午夜 12 點,JMP 將返回 Day(:date) 將返回第 3 天,因為 JMP 根據午夜測量天數。但是,如果為了計算,我們將 :date 值向後移 7 小時,這意味著夜班將從中午到午夜,並且永遠不會跨越 JMP 日邊界。
回复:如何創建具有自定義日期/班次的公式列?我看到 jmp 總是會在幾秒鐘內計算。順便提一句@txnelson您能解釋一下為什麼我們需要從實際時間中減去 7 小時(25,200 秒)嗎?
腳本條件說中午 12 點到中午 12 點之間的任何時間都是日 ("D")
回复:如何創建具有自定義日期/班次的公式列?它從當前行的日期列的指定值中減去 25200 秒。
25200 = 60 秒/分鐘 X 60 分鐘/小時 X 7 小時
另外,我在公式中犯了一個小錯誤。If() 比較應該對第二個元素進行“<”比較,而不是“<=”
correctedDate = :date - In Hours( 7 );
"WW" || Char( Week Of Year( correctedDate ) ) || "." || Char( Day Of Week( correctedDate ) - 1 ) ||
If( Hour( correctedDate ) >= 0 & Hour( correctedDate ) < 12,
"D",
"N"
);
回复:如何創建具有自定義日期/班次的公式列?只是想確認,當你說 -小時內( 7 )這是否意味著襯底 7 小時?
回复:如何創建具有自定義日期/班次的公式列?我認為處理此問題的最佳方法是通過減去 7 小時來更正日期時間值,這使得班次與日期值一致
correctedDate = :date - In Hours( 7 );
"WW" || Char( Week Of Year( correctedDate ) ) || "." || Char( Day Of Week( correctedDate ) - 1 ) ||
If( Hour( correctedDate ) >= 0 & Hour( correctedDate ) <= 12,
"D",
"N"
);
回覆:如何建立具有自訂日期/班次的公式列?這很有趣,因為您可以交換公式中 >= 和 < 的位置:
correctedDate = :date - In Hours( 7 );
"WW" || Char( Week Of Year( correctedDate ) ) || "." || Char( Day Of Week( correctedDate ) - 1 ) ||
If( 0 < Hour( correctedDate ) <= 12,
"D",
"N"
);
我正在處理一個類似的問題,夜班和白班的分配略有不同,這取決於 < 和 <= 符號在 if 語句中的相對位置。如果能在 if 公式中直接使用時間戳就好了(例如,如果時間 > 12:00:00 ...)。也許是這樣,我研究得還不夠。
但是,我的主要問題是:您如何決定將 < 和 <= 符號放在哪裡?當然,每班次平均分配 12 小時很重要,但這可以透過兩種配置來實現(< 在 <= 之前,並且 <= 在 < 之前)。
回覆:如何建立具有自訂日期/班次的公式列?晚上 7 點是新班次的開始時間,即 hour() 19。由於我們採用 7 小時的偏移量,因此開始夜班的 Hour() 值是 19-7,即 12。如果比較結果為 <=,則恰好為 12 的時間值將被視為白班。
回覆:如何建立具有自訂日期/班次的公式列?謝謝,我後來在修改自己的文件時才意識到這一點——當然,是在我發了那個不太深思熟慮的問題之後。謝謝你的耐心。