Заполнение данных за будущие месяцы - PullRequest
0 голосов
/ 03 марта 2019

Мое требование - заполнить данные за пропущенные месяцы с помощью запроса amazon-redshift.

Приведенные ниже данные заполняются с использованием приведенного ниже запроса SELECT CASE WHEN data.country = '' THEN 'DEFAULTVALUE' ELSE UPPER(data.country) END AS country_name, product.product_client AS brand, product.product_name, geography.brick, product.product_id, product.period, units FROM rdb.tgt_ims_mktshare_data data INNER JOIN dwh.DMN_GEOGRAPHY geography ON UPPER (data.country) = UPPER (COALESCE (geography.country_name,'DEFAULTVALUE')) AND UPPER (data.study) = UPPER (COALESCE (geography.study,'DEFAULTVALUE')) AND UPPER (COALESCE (data.geo_lowest_level,'DEFAULTVALUE')) = UPPER (COALESCE (geography.brick,'DEFAULTVALUE')) AND UPPER (DECODE (data.Prescription_Origin,'','DEFAULTVALUE',data.Prescription_Origin)) = UPPER (COALESCE (geography.Prescription_Origin,'DEFAULTVALUE')) INNER JOIN dwh.DMN_PRODUCT_EMEA product ON UPPER (data.country) = UPPER (COALESCE (product.country_name,'DEFAULTVALUE')) AND UPPER (product.product_name) = UPPER (COALESCE (data.product,'DEFAULTVALUE')) AND UPPER (COALESCE (NULLIF (product.pack_name,''),'DEFAULTVALUE')) = UPPER (COALESCE (NULLIF (data.pack,''),'DEFAULTVALUE')) LEFT OUTER JOIN dwh.DMN_TIME period ON period.period::DATE = data.period::DATE ORDER BY period DESC

Ниже приведен пример источникаданные:

enter image description here

Ожидаемый результат в любой момент времени, мы должны иметь данные за все месяцы.Если какой-либо продукт отсутствует в течение какого-либо месяца, тогда мы должны заполнить продукт нулем «0» в виде единиц данных.Ниже приведен снимок ожидаемого результата.enter image description here

Данные должны присутствовать, как на картинке выше.

Может кто-нибудь помочь мне с этим?

Заранее спасибо.

...