Spaces:
Running
Running
with source as ( | |
select * from {{ source('public', 'raw_ipc') }} | |
), | |
renamed as ( | |
select | |
{{ adapter.quote("Clases") }} as class, | |
{{ adapter.quote("Tipo de dato") }} as type, | |
{{ adapter.quote("Periodo") }} as date, | |
{{ adapter.quote("Total") }} as value | |
from source | |
), | |
parsed as ( | |
select | |
cast(strptime(REPLACE(date, 'M', '-'), '%Y-%m') as date) AS date, | |
class, | |
type, | |
try_cast(replace(value, ',', '.') AS FLOAT) AS value, | |
from renamed | |
), | |
cleaned as ( | |
select | |
date, | |
case | |
when class != 'Índice general' then split_part(class, ' ', 1) | |
else '0000' | |
end as class_id, | |
case | |
when class != 'Índice general' then substring(class from position(' ' in class) + 1) | |
else 'Índice general' | |
end as class_name, | |
value | |
from parsed | |
where type = 'Índice' | |
order by date desc | |
) | |
select * from cleaned order by date desc | |