Qlikview считает все продукты за последние 12 часов - PullRequest
0 голосов
/ 26 октября 2018

Учитывая, что у меня есть следующие данные:

enter image description here

Я хочу подсчитать количество проданных отдельных товаров за прошедшие 8 часов. Предположим, чтовремя сейчас 26/10/2018 23:35:00.

Ожидаемый результат должен быть следующим:

enter image description here

Я работаю в qlikview.Я не знаю, как сделать выражение, чтобы получить то, что я хочу, особенно когда это касается даты и времени.я должен использовать aggreegate или count?

Заранее спасибо за ответ!

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Я бы порекомендовал определить флаг для каждой записи в скрипте, чтобы избежать сложного и сложного анализа множеств, который может легко сломаться.

Если предположить, что вы где-то ЗАГРУЗИТЕ Datetime, я бы добавил:

LOAD
...
Datetime,
If(Datetime > Today() - 8 / 24, 'Y', 'N') as SoldInLast8Hours
....

Наличие этого нового измерения позволит вам использовать простой анализ множеств, например:

Sum({<SoldInLast8Hours = {'Y'}>} 1)

или

Count({<SoldInLast8Hours = {'Y'}>} DISTINCT EntryId)

Если у вас есть уникальный идентификатор для каждой строки транзакции.

0 голосов
/ 26 октября 2018
Kindly try this for required output 
    DECLARE @CURR_DATE DATETIME
SET @CURR_DATE=DATEADD(hour,0,'10/26/2018 23:30')

SELECT Product, count(category)
  FROM  Table_1 
where 
  AddedDate between  DATEADD(hour,-1,@CURR_DATE) and @CURR_DATE  
  GROUP BY Product,category,(DATEPART(hh, AddedDate))
...