使用最接近的日期匹配連接兩個資料集大家好。
我嘗試使用唯一識別碼加上最接近的日期匹配來連接 JMP 中的兩個資料集。我這裡有一些程式碼可以運行並且非常接近我需要的程式碼,但是我在保持多對一匹配時遇到了麻煩。一個唯一識別碼“EMP_ID_UID”可以(或不能)具有多個“交易日期”,並且多個“MED_SCAN_DTIMES”將與一個“交易日期”匹配(因為交易日期是某人上班打卡的日期,繁忙的提供商自然會可能在 12 小時輪班期間服用不只一種藥物)。所以我需要的是加入“EMP_ID_UID”上的第一個匹配,然後將“MED_SCAN_DTIME”與最近的“交易日期”匹配,並允許許多“MED_SCAN_DTIME”符合單一「交易日期」。現在,下面的程式碼與 EMP_ID_UID 匹配,並且它確實允許多個交易日期與一個 EMP_ID_UID 匹配。它還匹配最接近的日期,但它只允許一對一匹配日期。它只保留最接近的匹配。我可以對連接程式碼進行修改來產生我需要的內容嗎?任何想法或幫助將不勝感激!謝謝你!
選擇 *
來自「隨機樣本試驗」t1
LEFT OUTER JOIN「僅限相關單位組織代碼的子集」t2
開啟 t1.EMP_ID_UID = t2.EMP_ID_UID 且 t1.MED_SCAN_DTIME>t2.TransactionDate
其中 t1.MED_SCAN_DTIME > t2.TransactionDate
按 t1.EMP_ID_UID、t1.MED_SCAN_DTIME 分組
有abs(t1.MED_SCAN_DTIME-t2.TransactionDate)=min(abs(t1.MED_SCAN_DTIME-t2.TransactionDate))
按 t1.EMP_ID_UID 排序
;
辭職;
我用它作為程式碼的起點:
https://communities.sas.com/t5/SAS-Data-Management/Merging-two-tables-by-choosing-the-CLOSEST-dates/mp/191428#M3975
回覆:使用最接近的日期匹配連接兩個資料集只是檢查細節。
聽起來你有:
所有提供者的上下班時間表,其中 ID 是唯一識別符
另一個包含 ID 和掃描時間的表格。
最後,您似乎希望能夠查看每個 ID 的每個時脈輸入輸出間隔期間發生了哪些(或多少次)SCAN 時間。
很接近嗎?