Проходя через базу данных отгрузок, отправления отправляются из 3 пунктов отгрузки. Я хотел бы настроить скрипт еженедельного подсчета для подсчета уникальных отправлений по дням / дате. Я могу разделить разные сайты по дням. Затем выполните поворот, чтобы выровнять их по горизонтали для чтения. Запуск в субботу вечером автоматизирует неделю доставки Sun-Sat. Моя проблема в том, что каждый тег сканируется на S C несколько раз, поэтому в журнале транзакций есть несколько записей в одном центре в один и тот же день. Поэтому я ищу полный уникальный счетчик отгрузок на каждый день с описанием даты en-US
, и я не достаточно умен, чтобы справиться с этим. Какие-либо предложения? Я получил это далеко - только с dw
, но я не могу узнать, какая дата. Любые идеи для «воскресенья» становится «воскресенье, 10 марта 2020 года» ??
DECLARE @startTime Datetime
SET @startTime = getdate()-6
DECLARE @endTime Datetime
SET @endTime = getdate()+1
SELECT * FROM
(
SELECT site, COUNT (site) as ValidScans, 'Day_of_week'=
(case datepart(dw,EVNT_DAT)
when 1 then 'Sunday'
when 2 then 'Monday'
when 3 then 'Tuesday'
when 4 then 'Wednesday'
when 5 then 'Thursday'
when 6 then 'Friday'
when 7 then 'Saturday'
end)
FROM (
SELECT c.SCANNUM,c.PACK_DESCRP, d.SITE, c.EVNT_DAT,
ROW_NUMBER() OVER
(PARTITION BY c.SCANNUM, datepart(dw,c.EVNT_DAT)
ORDER BY c.SCANNUM) as RowID
from SCAN_LOG c INNER JOIN SHIPPING d on c.SHIP_DESCRP = d.DESCRP
WHERE EVNT_DESCRP like '%Scan%'
AND c.EVNT_DAT BETWEEN
CONVERT(date,@startTime) AND CONVERT(date,@endTime))a
WHERE a.rowID =1
GROUP BY site,
datepart(dw,evnt_dat)
) src
pivot
(
SUM(ValidScans)
FOR Day_of_week in
([Sunday],[Monday],[Tuesday],[Wednesday],[Thursday],[Friday],[Saturday])
)piv
Это дает мне:
Day of Week | Sunday | Monday | Tuesday |
Site 1 | 24 | 412 | 578 |
Site 2 | 66 | 599 | 1264 |
Site 3 | 8 | 252 | 497 |
Я хотел бы:
Day of Week | Sunday, March 22 | Monday, March 23 | Tuesday, March 24
и др c ...