Здравствуйте,
Есть такая таблица
Таблица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
Сделать это нужно в скрипте загрузки.
Что то не могу сообразить, какими средствами.
Привет, все просто:
Пример для половины таблицы, дальше по подобию. Главное - уловить суть преобразований.
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;
Следует учесть, что может быть несколько цен на одну дату, тогда следует определиться с вариантом по цене (мин, макс, сред и т.д.)
Доброго дня,
Спасибо!!!
Да, когда знаешь, все просто)
Я изначально пошел не верным путем, замучился и решил уже идти за помощью.
Теперь все ок!
Цена на дату предполагается одна.
Есть другой нюанс.
Таблица фактов (t1) может иметь дату и наименование, но не иметь цены. Это значит, что в эту дату наименование не закупалось. Таблица подтягивается из эксель, является шаблонной.
Получается, при загрузке, первая цена будет "-", если товар не закупался в первую дату, то же самое, может быть и в последнюю.
Тут как быть? При загрузке фактов, выполнять проверку наличия цены и если пусто, то не загружать эту дату?
все верно.