
  
  create view "gold_warehouse"."main"."view_ativo_relatorios__dbt_tmp" as (
    

WITH fatos AS (
    SELECT * FROM "gold_warehouse"."main"."fato_balanco_patrimonial"
),
dim_inst AS (
    SELECT * FROM "gold_warehouse"."main"."dim_instituicao"
),
dim_tempo AS (
    SELECT * FROM "gold_warehouse"."main"."dim_tempo"
),
dim_seg AS (
    SELECT * FROM "gold_warehouse"."main"."dim_segmento"
),
dim_loc AS (
    SELECT * FROM "gold_warehouse"."main"."dim_localizacao"
),
dim_cont AS (
    SELECT * FROM "gold_warehouse"."main"."dim_controle"
),
dim_cons AS (
    SELECT * FROM "gold_warehouse"."main"."dim_consolidado"
),
dim_classe AS (
    SELECT * FROM "gold_warehouse"."main"."dim_classe_instituicao"
)

SELECT
    f.id_instituicao,
    f.id_data,
    
    -- Instituição
    i.codigo_origem,
    i.nome as nome_instituicao,
    i.tipo_instituicao,
    i.nome_conglomerado,
    
    -- Tipo do Relatório Filtrado
    i.tipo_relatorio_bcb,
    
    -- Atributos Dimensionais
    s.descricao as segmento,
    l.cidade,
    l.uf,
    l.regiao,
    c.descricao as tipo_de_controle,
    cb.descricao as consolidado_bancario,
    cl.descricao as classe_instituicao,
    
    -- Data
    t.data as data_base,
    
    -- Fatos Ativo
    f.disponibilidades,
    f.aplicacoes_interfinanceiras_liquidez,
    f.tvm_derivativos,
    f.operacoes_de_credito,
    f.provisao_operacoes_de_credito,
    f.operacoes_de_credito_liquidas_provisao,
    f.arrendamento_mercantil_a_receber,
    f.imobilizado_de_arrendamento,
    f.credores_antecipacao_valor_residual,
    f.provisao_arrendamento_mercantil,
    f.arrendamento_mercantil_liquido_de_provisao,
    f.outros_creditos_liquido_de_provisao,
    f.outros_ativos_realizaveis,
    f.permanente_ajustado,
    f.ativo_total_ajustado,
    f.ativo_total

FROM fatos f
LEFT JOIN dim_inst i ON f.id_instituicao = i.id_instituicao
LEFT JOIN dim_tempo t ON f.id_data = t.id_data
LEFT JOIN dim_seg s ON i.id_segmento = s.id_segmento
LEFT JOIN dim_loc l ON i.id_localizacao = l.id_localizacao
LEFT JOIN dim_cont c ON i.id_controle = c.id_controle
LEFT JOIN dim_cons cb ON i.id_consolidado = cb.id_consolidado
LEFT JOIN dim_classe cl ON i.id_classe = cl.id_classe
  );
