Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
cristianevpm
New Contributor III

Saldo

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.

5 Replies
otavio_marco
New Contributor III

Re: Saldo

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?

cristianevpm
New Contributor III

Re: Saldo

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)

otavio_marco
New Contributor III

Re: Saldo

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);

--------

pablolabbe
Valued Contributor II

Re: Saldo

Conseguiu resolver sua dúvida ?

cristianevpm
New Contributor III

Re: Saldo

Olá eu já tinha feito isso.

Mas você reforçou o que eu estava em dúvida quanto a solução.

Muito obrigada.