/* -----------------------------------------------------------
TEST QUERY: สรุปภาพรวมร้อยละการตรวจซ้ำ (< 90 วัน)
ใช้สำหรับ: view_lab_statistic_Order_List
----------------------------------------------------------- */
SELECT
Sub.[รหัสการตรวจ],
Sub.[ชื่อการตรวจ],
COUNT(Sub.LN) AS [จำนวนตรวจทั้งหมด],
SUM(CASE WHEN Sub.Days_Diff BETWEEN 1 AND 89 THEN 1 ELSE 0 END) AS [จำนวนที่ซ้ำ],
ROUND(
CAST(SUM(CASE WHEN Sub.Days_Diff BETWEEN 1 AND 89 THEN 1 ELSE 0 END) AS FLOAT)
/ NULLIF(COUNT(Sub.LN), 0) * 100, 2
) AS [ร้อยละการตรวจซ้ำ (%)],
CASE
WHEN (CAST(SUM(CASE WHEN Sub.Days_Diff BETWEEN 1 AND 89 THEN 1 ELSE 0 END) AS FLOAT) / NULLIF(COUNT(Sub.LN), 0) * 100) < 5
THEN 'ผ่าน' ELSE 'เกินเป้า'
END AS [สถานะ KPI]
FROM (
SELECT
[REQ ITEM CODE] AS [รหัสการตรวจ],
[REQ ITEM NAME] AS [ชื่อการตรวจ],
LN,
DATEDIFF(day,
LAG([REQ ITEM CHECKIN DATETIME]) OVER (
PARTITION BY HN, [REQ ITEM CODE]
ORDER BY [REQ ITEM CHECKIN DATETIME]
),
[REQ ITEM CHECKIN DATETIME]
) AS Days_Diff
FROM view_lab_statistic_Order_List
WHERE [REQ ITEM CHECKIN DATETIME] BETWEEN '2025-10-01' AND '2026-03-30'
-- AND [REQ ITEM CODE] = 'CH005' เพื่อทดสอบเฉพาะตัวก่อนได้จ้า
) AS Sub
GROUP BY Sub.[รหัสการตรวจ], Sub.[ชื่อการตรวจ]
ORDER BY [ร้อยละการตรวจซ้ำ (%)] DESC;
To embed this project on your website, copy the following code and paste it into your website's HTML: