Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Duvida Expressão

Pessoal,

Preciso criar um gráfico que me indique ou gráfico tabela, que me indique a o tempo entre a Emissão da NF e a Entrada da NF (data digitação) no sistema, a fim de termos um indicador das áreas que entregam as NF's ao financeiro no período de pagamento.

Sds

Marcos Paulo

19 Replies
rphpacheco
Creator III
Creator III

Bom dia Marcos.

Tens como postar um exemplo de sua aplicação?

Assim fica muito mais fácil ajudar.

Abs.

Anonymous
Not applicable
Author

Tipo, você quer uma explicação do propósito da aplicação ou o exemplo acima já serve. Mas para entendimento só preciso agora da expressão ara calcular o número de dias entra a data de emissão e a data de digitação no sistema.

Sds

Marcos

rphpacheco
Creator III
Creator III

Marcos.

Me refiro a um QVD exemplo para que possamos entender melhor a situação. Ele pode vir com dados fake mesmo.

Anonymous
Not applicable
Author

OK Raphael, vou ver se populo um QVD com dados fakes, pois não posso enviar meu original.

Grato.

Not applicable
Author

Marcos,

Pelo script enviado o link entre as tabelas está sendo feito pelo campo Num_Nota, correto?

Então utilize a função Lookup na carga da Digitação. Para obter a Data de Emissão, carregada anteriormente na tabela de emissão você pode utilizar: Lookup ('D1_EMISSAO', 'Num_Nota', Num_Nota 'Tab_Titulos_Pag') . Aplicando na fórmula que você passou: (D1_DTDIGIT - Lookup ('D1_EMISSAO', 'Num_Nota', Num_Nota 'Tab_Titulos_Pag')) as  Emi_Dig.

Espero ter ajudado!

Anonymous
Not applicable
Author

Está ocorrendo o seguinte erro, não consigo identificar: Quando eu comento :

(Dt_digitacao - Lookup (Dt_Emissao, 'Num_Nota', Num_Nota, 'Tab_Titulos_Pag')) as  Emi_Dig

O Script roda, ele está reclamando de um campo que existe "Dt_digitacao" e já verificado no qvd. Não sei por que não está rodando,

erro.png

Not applicable
Author

Certo, mas pelo script que você passou este campo não existe mesmo. Veja o correto é D1_DTDIGIT que está no QVD.

Olhando mais atentamente seu script, vejo que você carrega o D1_DTDIGIT  assim: Date(Date#(D1_DTDIGIT,'YYYYMMDD'),'DD/MM/YYYY')

Provavelmente por alguma conversão/formatação do arquivo. Pois bem, então tente

(Date(Date#(D1_DTDIGIT,'YYYYMMDD'),'DD/MM/YYYY') - Lookup (Dt_Emissao, 'Num_Nota', Num_Nota, 'Tab_Titulos_Pag')) as  Emi_Dig


Agora acho que vai. QQ coisa estamos ai para ajudar

Anonymous
Not applicable
Author

Video Link : 2169

OK, mas eu tb fiz o tratamento das datas diretamente no campo e substituí, ficando assim: e mesmo assim não funcionou

Tab_Titulos_Pag:

LOAD

//Date(Date#(E2_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY') as [Data de Emissão],

//

// year(     Date(Date#(E2_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY')) as [Ano de EMISSAO], 

// month(    Date(Date#(E2_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY')) as [Mês de EMISSAO], 

// day(      Date(Date#(E2_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY')) as [Dia de EMISSAO], 

// monthname(Date(Date#(E2_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY')) as [Mês Ano de EMISSAO],

Date(Date#(E2_VENCTO,'YYYYMMDD'),'DD/MM/YYYY') as Dt_Vencimento,

  year(     Date(Date#(E2_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY')) as Ano_Vencimento, 

  month(    Date(Date#(E2_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY')) as Mes_Vencimento, 

  day(      Date(Date#(E2_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY')) as Dia_Vencimento, 

  monthname(Date(Date#(E2_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY')) as Mes_Ano_Vencimento,

  E2_FILIAL as Filial,

     E2_FILORIG,

     E2_PREFIXO,

     E2_NUM as Num_Nota,

     E2_PARCELA,

     E2_TIPO,

     E2_VENCTO,

//    E2_EMISSAO    as Emissao,

     E2_SALDO,

     E2_VALOR,

     E2_VALLIQ,

     E2_FORNECE as Fornecedor,

     E2_LOJA,

     E2_HIST,

     E2_PORTADO,

     E2_NATUREZ,

     E2_BAIXA,

   

    Date(Date#(E2_BAIXA,'YYYYMMDD'),'DD/MM/YYYY') as Dt_Baixa,

  year(     Date(Date#(E2_BAIXA,'YYYYMMDD'),'DD/MM/YYYY')) as Ano_Baixa, 

  month(    Date(Date#(E2_BAIXA,'YYYYMMDD'),'DD/MM/YYYY')) as Mes_Baixa, 

  day(      Date(Date#(E2_BAIXA,'YYYYMMDD'),'DD/MM/YYYY')) as Dia_Baixa, 

  monthname(Date(Date#(E2_BAIXA,'YYYYMMDD'),'DD/MM/YYYY')) as Mes_Ano_Baixa,

   

   

     E2_NOMFOR

   

FROM

  $(dirQvdE)SE2010.qvd (qvd);

  store Tab_Titulos_Pag into $(dirQvdT)Tab_Titulos_Pag.qvd(qvd);

//drop table Tab_Titulos_Pag;

Tab_NF_Entrada:

LOAD D1_FILIAL as Filial,

     D1_VALIPI,

     D1_NFORI,

     D1_SERIORI,

     D1_FORNECE as Fornecedor,

     D1_LOJA,

     D1_ITEMORI,

     D1_DTDIGIT,

   

     Date(Date#(D1_DTDIGIT,'YYYYMMDD'),'DD/MM/YYYY') as Dt_digitacao,

  year(     Date(Date#(D1_DTDIGIT,'YYYYMMDD'),'DD/MM/YYYY')) as Ano_digitacao, 

  month(    Date(Date#(D1_DTDIGIT,'YYYYMMDD'),'DD/MM/YYYY')) as Mes_digitacao, 

  day(      Date(Date#(D1_DTDIGIT,'YYYYMMDD'),'DD/MM/YYYY')) as Dia_digitacao, 

  monthname(Date(Date#(D1_DTDIGIT,'YYYYMMDD'),'DD/MM/YYYY')) as Mes_Ano_Digitacao,

 

 

    D1_EMISSAO,

  

    Date(Date#(D1_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY') as Dt_Emissao,

  year(     Date(Date#(D1_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY'))  as Ano_Emissao, 

  month(    Date(Date#(D1_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY'))  as Mes_Emissao, 

  day(      Date(Date#(D1_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY'))  as Dia_Emissao, 

  monthname(Date(Date#(D1_EMISSAO,'YYYYMMDD'),'DD/MM/YYYY'))  as Mes_Ano_Emissao,

   

     D1_CUSTO,

     D1_ITEM,

     D1_DOC as Num_Nota,

     D1_RATEIO,

     D1_SERIE,

     D1_QUANT,

     D1_VUNIT,

     D1_TOTAL,

     D1_ICMSRET,

     D1_VALDESC,

     D1_VALPIS,

     D1_VALCOF,

     D1_VALICM,

     D1_TIPO,

     D1_TES,

     D1_CF,

     D1_DESC,

     D1_LOCAL,

     D1_COD,

     D1_VALFRE,

     D1_DESPESA,

     D1_SEGURO,

     D1_CC,

     D1_ITEMCTA,

     D1_PEDIDO,

     D1_ITEMPC

// (D1_DTDIGIT - Lookup ('D1_EMISSAO', 'Num_Nota', Num_Nota 'Tab_Titulos_Pag')) as  Emi_Dig

   

//(Dt_digitacao - Lookup (Dt_Emissao, 'Num_Nota', Num_Nota, 'Tab_Titulos_Pag')) as  Emi_Dig

   

FROM

  $(dirQvdE)SD1010.qvd (qvd);

  store Tab_NF_Entrada into $(dirQvdT)Tab_NF_Entrada.qvd(qvd);

//drop table Tab_NF_Entrada;

Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada

Have fun, be Qlik

Clever_Anjos
Employee
Employee

Já chegou a uma resposta? Se sim, marque como respondida, por favor

Como obter ajuda? Leia antes de postar