У меня есть набор данных [прикрепленный пример], и я хочу создать 2 таблицы из этого;
+------+------------+-------+-------+-------+--------+
| corp | product | data | Group | sales | market |
+------+------------+-------+-------+-------+--------+
| A | Eli | 43831 | A | 100 | I |
| A | Eli | 43831 | B | 100 | I |
| B | Sut | 43831 | A | 80 | I |
| A | Api | 43831 | C | 50 | C or D |
| A | Api | 43831 | D | 50 | C or D |
| B | Konkurent2 | 43831 | C | 40 | C or D |
+------+------------+-------+-------+-------+--------+
1-я - сумма (продажи) по рынку и исключить дублированные строки, поэтому я хочу закончить с продажами для каждого рынка в указанной c дате гнева (столбец данных), но исключая дублированные - у меня они есть, потому что 1 продукт может быть в более чем 1 группе
Итак, первая таблица, например, для MR CC Я бы выглядел следующим образом:
+--------+-------+-------+
| market | sales | data |
+--------+-------+-------+
| I | 180 | 43831 |
+--------+-------+-------+
Тогда вторую таблицу я бы хотел выглядел выше, но добавить в качестве «словаря» дополнительный столбец с уникальным названием продукта в Market и Date, то есть для MR CC Я бы выглядел так:
+--------+-------+-------+----------------+
| market | sales | data | unique product |
+--------+-------+-------+----------------+
| I | 180 | 43831 | eli |
| I | 180 | 43831 | Sut |
+--------+-------+-------+----------------+
Дело в том, что я не настолько опытен в SQL, и я довольно новичок в DataProcessing, система, в которой я работаю, позволяет мне делать некоторые обработки данных с помощью «визуальных» рецептов или кода SQL, с которым я не очень знаком. И даже меня смущает, что я могу выбрать между 3 SQL СУБД, Impala, Hive, Spark SQL - например, для создания рыночной колонки я использовал Impala, и скрипт выглядит так, и я не уверен, что это «чистая» Impala синтаксис:
SELECT * from
(
-- mrc I --
SELECT *,case when
(`product`="Eli")
or
(`product`="Sut")
THEN "MRCC I"
end as market
FROM x.`y`
)a
where market is not null
Не могли бы вы дать мне несколько советов о структуре кода и, если это вообще возможно?
Спасибо, eM