Неофициальный форум пользователей Qlik Sense & Qlikview

Для разработчиков => Вопросы по Qlik Sense & QlikView => Тема начата: Наташа от 16 мая 2018, 04:51:44

Название: Последние три записи
Отправлено: Наташа от 16 мая 2018, 04:51:44
Здравствуйте!
Подскажите, пожалуйста, как можно решить такую задачу.
Есть товар, на который с 2017 года сделано 6 установок цен.
Мне необходимо вывести только три последние.
Отобразить необходимо в разных колонках.

Например: Есть товар А с установками цен на 10 руб, 9 руб, 8 руб, 9 руб, 10 руб, 2 руб

Необходимо, чтобы отчет имел вид

Товар Цена 1 Цена 2 Цена 3
А        9           10        2
Название: Re: Последние три записи
Отправлено: admin от 17 мая 2018, 07:17:49
Привет.
Можно ввести поле с признаком порядка цены. Вариант с полями для каждой цены тоже возможен, но с одним, "флаговым" полем лучше  :).


Цены:
LOAD 'Товар 1' As Товар,* INLINE [
    Дата, Цена
    01.01.2017, 100
    01.03.2017, 300
    01.05.2017, 200
    01.07.2017, 500
    01.09.2017, 50
    01.11.2017, 90
    01.01.2018, 600
    01.03.2018, 150
    01.05.2018, 250
];

реестр:
LOAD Товар, date(max(Дата,1)) as Дата, 'Цена 1' as ФлагЦены Resident Цены Group by Товар;
LOAD Товар, date(max(Дата,2)) as Дата, 'Цена 2' as ФлагЦены Resident Цены Group by Товар;
LOAD Товар, date(max(Дата,3)) as Дата, 'Цена 3' as ФлагЦены Resident Цены Group by Товар;


Left join (реестр) LOAD * Resident Цены;
DROP Table Цены;