Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Olá Comunidade!
Preciso calcular o Saldo, Entrada e Saida no gráfico Qlikview por semana. Exemplo abaixo: Ano=2015 e Semana=1.
Regras:
Entrada: DataEntrada >=01/01/2015 and <=03/01/2015
Saída: DataSaida >=01/01/2015 and <=03/01/2015
Saldo: DataEntrada>=01/01/2012 and <=03/01/2015 and DataSaida: >03/01/2015 or ISNULL(DataSaida)
Minha dúvida é qual campo uso na dimensão do gráfico para AGRUPAR por ano semana.
Olá Cristiane.
Não entendi exatamente o que você precisa. Pode detalhar um pouco mais? Nos teus arquivos você tem apenas datas e Ids.
Você precisa mostrar em um dia específico a quantidade que entrou e a quantidade que saiu?
Preciso mostrar ENTRADA, SAIDA E SALDO numa semana específica.
REGRAS:
Count(ID_Entrada): DataEntrada >=01/01/2015 and <=03/01/2015
Count(ID_Saída): DataSaida >=01/01/2015 and <=03/01/2015
Count(ID_Saldo): DataEntrada>=01/01/2012 and <=03/01/2015 and DataSaida: >03/01/2015 or ISNULL(DataSaida)
Acho que entendi.
Nesse caso você vai precisar usar uma técnica chamada Data Canônica ou Data Ponte.
A ideia é bem simples: você vai ter uma tabela contendo todas as datas possíveis da sua aplicação, sendo essa o centro do modelo de dados. As tabelas Saldo, Entrada e Saída estarão relacionadas com essa Tabela através do campo data.
Assim você poderá fazer usar um campo apenas para fazer a filtragem conforme precisa.
Segue script possível.
--------
ENTRADA:
LOAD
[Data Entrada]
,[ID Entrada]
FROM [ENTRADA.xlsx]
(ooxml, embedded labels, table is TB07_20180530_122855);
SAIDA:
LOAD
[Data Saida]
,[ID Saida]
FROM [SAIDA.xlsx]
(ooxml, embedded labels, table is TB08_20180530_122953);
SALDO:
LOAD
[Data Entrada] as [Data Saldo]
,[ID Saldo]
FROM [SALDO.xlsx]
(ooxml, embedded labels, table is TB07_20180530_123734);
CANONICA:
LOAD Distinct
[Data Entrada]
,[Data Entrada] as data
Resident ENTRADA;
Concatenate(CANONICA)
LOAD Distinct
[Data Saida]
,[Data Saida] as data
Resident SAIDA;
Concatenate(CANONICA)
LOAD Distinct
[Data Saldo]
,[Data Saldo] as data
Resident SALDO;
--------
Outro método, dependendo da quantidade de dados que você irá ter, é juntar tudo numa tabela só e criar um tipificador. Como o script abaixo:
--------
DADOS:
LOAD
[Data Entrada] as data
,[ID Entrada] as id
,'Entrada' as tipo_registro
FROM [ENTRADA.xlsx]
(ooxml, embedded labels, table is TB07_20180530_122855);
Concatenate(DADOS)
LOAD
[Data Saida] as data
,[ID Saida] as id
,'Saida' as tipo_registro
FROM [SAIDA.xlsx]
(ooxml, embedded labels, table is TB08_20180530_122953);
Concatenate(DADOS)
LOAD
[Data Entrada] as data
,[ID Saldo] as id
,'Saldo' as tipo_registro
FROM [SALDO.xlsx]
(ooxml, embedded labels, table is TB07_20180530_123734);
--------
Conseguiu resolver sua dúvida ?
Olá eu já tinha feito isso.
Mas você reforçou o que eu estava em dúvida quanto a solução.
Muito obrigada.