Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
Not applicable

Comparação de datas em formatos diferentes

Boa tarde Srs.

Estou com uma dificuldade pois preciso montar visões com 2 tabelas onde em cada uma há campos de datas em formatos diferentes.

A tabela 1 guarda dados de entrada de mercadoria:

EmpresaProdutoFornecedorData de RecebimentoPeso
MatrizProduto1Fornecedor114/12/201615000
MatrizProduto1Fornecedor215/12/201612000

E uma segunda tabela onde é registrado a cota que foi passada para cada fornecedor no mês:

EmpresaProdutoFornecedorAnoMêsQuota Mensal
MatrizProduto1Fornecedor120151240000
MatrizProduto1Fornecedor120161235000
MatrizProduto1Fornecedor220161220000
MatrizProduto2Fornecedor220161150000

Preciso colocar no gráfico(de barras e linhas por exemplo) a comparação mês a mês de 1 fornecedor mostrando a soma que ele me enviou e do lado a quota daquele mesmo mês, juntamente com a porcentagem do que ele entregou sendo mostrado na linha.

A parte gráfica não terei dificuldades, meu problema é comparar as duas datas da forma que estão, a associação é feita pelos 3 primeiros campos, mas com ano e mês separados está dificultando.

Tags (2)
1 Solution

Accepted Solutions
maiconmello
Contributor III

Re: Comparação de datas em formatos diferentes

Boa tarde,

Faria assim :

LOAD Empresa &'-'& Produto &'-'& Fornecedor &'-'& Ano &'.'& Mês as PK_MERCADORIA,

    Ano,

    Mês,

    [Quota Mensal]

FROM

(ooxml, embedded labels, table is [Cota Mes]);

left join

LOAD Empresa &'-'& Produto &'-'& Fornecedor &'-'& year(date([Data de Recebimento],'DD/MM/YYYY')) &'.'& num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as PK_MERCADORIA,

    Empresa,

    Produto,

    Fornecedor,

    num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as DimensaoMes,

    num(year(date([Data de Recebimento],'DD/MM/YYYY')))      as DimensaoAno,

    date([Data de Recebimento],'DD/MM/YYYY') as Data,

    num(Peso,'#######.###') as Peso

FROM

(ooxml, embedded labels, table is [Entrada Mercadoria]);

Segue o QVW.

7 Replies
maiconmello
Contributor III

Re: Comparação de datas em formatos diferentes

Boa tarde,

Faria assim :

LOAD Empresa &'-'& Produto &'-'& Fornecedor &'-'& Ano &'.'& Mês as PK_MERCADORIA,

    Ano,

    Mês,

    [Quota Mensal]

FROM

(ooxml, embedded labels, table is [Cota Mes]);

left join

LOAD Empresa &'-'& Produto &'-'& Fornecedor &'-'& year(date([Data de Recebimento],'DD/MM/YYYY')) &'.'& num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as PK_MERCADORIA,

    Empresa,

    Produto,

    Fornecedor,

    num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') as DimensaoMes,

    num(year(date([Data de Recebimento],'DD/MM/YYYY')))      as DimensaoAno,

    date([Data de Recebimento],'DD/MM/YYYY') as Data,

    num(Peso,'#######.###') as Peso

FROM

(ooxml, embedded labels, table is [Entrada Mercadoria]);

Segue o QVW.

Not applicable

Re: Comparação de datas em formatos diferentes

Bom dia Maicon,

Funcionou parcialmente dessa forma que me passou.

Não entendi o motivo, mas por exemplo, de 2016 não preencheu com os valores das quotas, e há esses valores na tabela original. Alguns de 2015 também não.

Essa expressão year(date([Data de Recebimento],'DD/MM/YYYY') pega o ano da minha data de recebimento no caso, e esta num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') o mês? Ou entendi errado?

maiconmello
Contributor III

Re: Comparação de datas em formatos diferentes

Ola @Thiago Ramos isso mesmo, expressão pego ano e mês , pelo motivo  que na cota você tem somente o ano e mês.

Ele mostra sim, cria no segundo bloco esse campo.

Ano&'-'& Mês  as Periodo,  ai joga na dimensão e retira o mês.

O que acontece, como a dimensão esta mês, ou seja dezembro de 2015 e dezembro 2016, ele agrupa.

Agora se criar o campo periodo, com ano e mês, ele separa.

Veja na imagem. Capturar.PNG

Not applicable

Re: Comparação de datas em formatos diferentes

Acho que consegui descobrir o motivo Maicon,

O problema é que na tabela de exemplo que te passei, só coloquei meses 11 e 12.

O problema que está acontecendo aqui é porque na tabela1 que tem a data o formato está DD/MM/YYYY

Mas na segunda tabela, os primeiros meses, até setembro estão como 1, 2, 3, etc. Não tenho certeza se é isso, mas se estivesse como 01, 02, 03... Talvez funcionaria.

Já que os meses 10,11 e 12 estão aparecendo.

maiconmello
Contributor III

Re: Comparação de datas em formatos diferentes

Ahhh entendi , você fez com uma massa de dados maior.

Então aonde tem o campo mês faça assim :

num(Month(date([Data de Recebimento],'DD/MM/YYYY')),'00') , formato ele em duas casas e terá o comportamento certo. O que tiver como 1,2,3 passara a ter 01,02,03 ...

Espero ter ajudado.

maiconmello
Contributor III

Re: Comparação de datas em formatos diferentes

Ou num(mes,'00') as Mes

Not applicable

Re: Comparação de datas em formatos diferentes

Fiz dessa segunda forma, obrigado.