No seu caso, onde você está lidando com duas fontes de dados que contêm diferentes campos de data (abertura e fechamento), o desafio é garantir que ambas as datas sejam tratadas corretamente no gráfico de barras, com uma coluna para os fatos abertos e outra para os fatos fechados, agrupados por mês. Para isso, você precisa garantir que o relacionamento entre as datas e as somas de fatos sejam feitas de maneira que as duas informações (abertura e fechamento) possam coexistir no gráfico sem conflitos.
Aqui estão algumas dicas que podem ajudar a resolver esse problema no Qlik Sense:
1. Utilizar Tabelas de Calendário Completas
Você já mencionou que está usando uma tabela de calendário, o que é uma boa prática. No entanto, para garantir que ambas as datas (abertura e fechamento) sejam corretamente agrupadas por mês, você precisa criar duas tabelas de datas (ou campos de data) dentro da tabela calendário: uma para data_abertura
e outra para data_fechamento
.
Isso pode ser feito criando dois campos de data em sua tabela de calendário, como mostrado abaixo:
Calendario:
LOAD
Date(DateField, 'YYYY-MM') AS Mes, // Exemplo de formatação do mês
Date(DateField) AS DataCompleta
RESIDENT Fato;
Aqui, DateField
seria o campo de data (tanto para abertura quanto para fechamento) em cada uma das suas tabelas de fato. A função Date(DateField, 'YYYY-MM')
cria um campo para agrupar os dados por mês.
2. Dupla Chave de Relacionamento
Quando você realiza o JOIN
entre suas tabelas de fato, talvez o relacionamento entre as datas precise ser feito com duas chaves diferentes (abertura e fechamento). Isso significa que você pode precisar de duas chaves distintas para associar os dados com a tabela calendário: uma para as aberturas e outra para os fechamentos.
Exemplo de JOIN:
Fato_Completo:
LOAD
DataAbertura,
DataFechamento,
Fato,
// outros campos
FROM FonteDeDados;
JOIN (Calendario)
LOAD
Date(DataAbertura, 'YYYY-MM') AS MesAbertura,
Date(DataFechamento, 'YYYY-MM') AS MesFechamento,
Fato
RESIDENT Fato_Completo;
Neste exemplo, você cria duas colunas de data: uma para a data de abertura (MesAbertura
) e outra para a data de fechamento (MesFechamento
). Isso ajuda a vincular os dados corretamente com as datas na tabela calendário.
3. Medidas Condicionais no Gráfico
Ao criar seu gráfico de barras, utilize expressões condicionais para calcular os valores de soma para fatos abertos e fechados. Por exemplo, ao fazer a soma de fatos abertos e fechados no mês, você pode usar a função if
para fazer essas separações dentro das expressões no gráfico.
Exemplo de medidas no gráfico:
Soma_Abertos:
Sum(If(MesAbertura = Mes, Fato))
Soma_Fechados:
Sum(If(MesFechamento = Mes, Fato))
Com essas expressões, o Qlik Sense calculará a soma dos fatos para cada mês, separando-os entre os que foram abertos e fechados.
4. Ajustar o Eixo X para Mostrar as Duas Métricas
Para o gráfico de barras, ao invés de simplesmente colocar o mês no eixo X, você pode usar um campo calculado para dividir as barras de acordo com o tipo de evento (abertura ou fechamento).
Exemplo de como adicionar as duas barras:
- Eixo X: Mês
- Eixo Y: As duas medidas:
Soma_Abertos
e Soma_Fechados
- Legenda: Diferenciar com uma dimensão adicional ou com uma barra agrupada, onde cada tipo de dado (aberto e fechado) é uma barra separada.
Me diz se resolveu!