Мое требование - заполнить данные за пропущенные месяцы с помощью запроса 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](https://i.stack.imgur.com/CE6S8.png)
Ожидаемый результат в любой момент времени, мы должны иметь данные за все месяцы.Если какой-либо продукт отсутствует в течение какого-либо месяца, тогда мы должны заполнить продукт нулем «0» в виде единиц данных.Ниже приведен снимок ожидаемого результата.![enter image description here](https://i.stack.imgur.com/xcw79.png)
Данные должны присутствовать, как на картинке выше.
Может кто-нибудь помочь мне с этим?
Заранее спасибо.