Резидентная загрузка

Автор HalLex, 02 мая 2018, 11:25:41

« назад - далее »

HalLex

Здравствуйте,

Есть такая таблица

Таблица1

  Дата        Наименование         Цена

01.01.2018      Апельсины           100
02.01.2018      Апельсины           110
03.01.2018      Апельсины           115
04.01.2018      Апельсины           110
01.01.2018       Бананы               100
02.01.2018       Бананы               110
03.01.2018       Бананы               115
04.01.2018       Бананы               110

Необходимо загрузить ее таким образом

    Наименование    ПерваяПокупка   Цена1   ПоследняяПокупка  Цена2
       Апельсины         01.01.2018        100             04.01.2018        110
         Бананы            01.01.2018        100             04.01.2018        110


Сделать это нужно в скрипте загрузки.
Что то не могу сообразить, какими средствами.

admin

#1
Привет, все просто:

Пример для половины таблицы, дальше по подобию. Главное - уловить суть преобразований.

t1:
LOAD * INLINE [
    Дата,        Наименование,         Цена
    01.01.2018,      Апельсины,          100
    02.01.2018,      Апельсины,          110
    03.01.2018,      Апельсины,           115
    04.01.2018,      Апельсины,           110
    01.01.2018,       Бананы,               100
    02.01.2018,       Бананы,              110
    03.01.2018,       Бананы,               115
    04.01.2018 ,      Бананы,               110
];

t2:
load Наименование,
date(Min(Дата)) as ПерваяДата
Resident t1
Group by Наименование;

left Join (t2)
load Наименование,
Дата as ПерваяДата,
Цена as ЦенаПервойДаты
Resident t1;


Следует учесть, что может быть несколько цен на одну дату, тогда следует определиться с вариантом по цене (мин, макс, сред и т.д.)

HalLex

Доброго дня,
Спасибо!!!

Да, когда знаешь, все просто)
Я изначально пошел не верным путем, замучился и решил уже идти за помощью.
Теперь все ок!

Цена на дату предполагается одна.
Есть другой нюанс.
Таблица фактов (t1) может иметь дату и наименование, но не иметь цены. Это значит, что в эту дату наименование не закупалось. Таблица подтягивается из эксель, является шаблонной.
Получается, при загрузке, первая цена будет "-", если товар не закупался в первую дату, то же самое, может быть и в последнюю.
Тут как быть? При загрузке фактов, выполнять проверку наличия цены и если пусто, то не загружать эту дату?

LoryMax


Яндекс.Метрика