как получить данные за 6 месяцев - PullRequest
1 голос
/ 19 сентября 2019

Я выполняю запрос ниже в импале, но получаю ошибку, связанную с unix_timestamp

AnalysisException: Нет функции сопоставления с подписью: unix_timestamp(TIMESTAMP, STRING).

При выполнении одного и того же запроса в оттенке я получаю сообщение об ошибке, связанное с add_months

Error while compiling statement: FAILED: ParseException line 8:28 cannot recognize input near 'select' 'add_months' '(' in expression specification

Если я запускаю отдельный отдельный запрос add_months, указанный ниже, я могу получить результат: -

select add_months(max(period), -6) from ph_com_b_gbl_sales.it_fact_sales

query: -

select 
product.brand as product_group,
sum(equivalent_units) as equivalent_units ,
sales.data_source, 
from_unixtime(unix_timestamp(period,'yyyy-MM-dd'),'yyyy-MM')
from (select sales_line, territory_mapping_key from ph_com_b_gbl_sales.it_territory_mapping where sales_line = 'Linea Cardiometabolica') territory_mapping
inner join
(select territory_mapping_key,equivalent_units, sales_office, product_key, data_source, period from ph_com_b_gbl_sales.it_fact_sales where sales_office = 'ITOS' and data_source like '%DPC%' or data_source like'%Ex Factory%' or data_source like '%Sell-out%') sales
on sales.territory_mapping_key = territory_mapping.territory_mapping_key
inner join
(select brand,product_key from ph_com_b_gbl_sales.it_dim_product where brand like '%ENTRESTO%') product
on sales.product_key = product.product_key
where sales.period between (select add_months(max(period), -6) from ph_com_b_gbl_sales.it_fact_sales) and (select max(period) from ph_com_b_gbl_sales.it_fact_sales)
group by sales.data_source,sales.period,product.brand

Моя цель - получить данные за 6 месяцев, которые не будут являться данными за последние 6 месяцев, мне просто нужно указать диапазон 6 месяцев

...