Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
marcelviegas
Creator II
Creator II

duvida qual forma utilizo

Estou montando um grafico que nele eu preciso da seguinte logica

quantos leitos passaram do status de "limpeza" para "interditado"

exemplo:

count(if(tabelaDeMovimentaDeLEito.situacaoLeito = 'interditado' andtabelaDeMovimentaDeLEito.situacaoLeito(Leito anterior com o mesmo id) = 'limpeza',tabelaDeMovimentaDeLEito.idLeito)

tabelaDeMovimentaDeLEito:

tabelaDeMovimentaDeLEito.idLeito

tabelaDeMovimentaDeLEito.situacaoLeito

1 Solution

Accepted Solutions
rphpacheco
Creator III
Creator III

Marcel. Dá uma olhada neste exemplo e veja se ele te atende.

Abs.

View solution in original post

8 Replies
rphpacheco
Creator III
Creator III

Tens como postar um exemplo para melhor entendimento?

marcelviegas
Creator II
Creator II
Author

Estou com duvida na formula que devo utilizar,

existe a tabela de movimentaocaoLeito cada vez que modificado o status do leito ele grava um novo registro exemplo

idLeito | situaçãoLeito

1         |  ocupado

2         |  limpeza

3         |  ocupado

1         | limpeza

2         | interditado

3         | interditado

3         | liberado

2         | liberado

1         | liberado

quero contar quantas vezes o leito trocou do status de ocupado para limpeza,

nesta tabela a cima eu tenho uma vez, existe uma formula que eu busque o registro anterior de um determinado idLeito?

Obrigado pela atenção!

rphpacheco
Creator III
Creator III

Marcel. Dá uma olhada neste exemplo e veja se ele te atende.

Abs.

marcelviegas
Creator II
Creator II
Author

É exatamente isso que procuro porem é uma pequena parque do calculo que compoe o meu grafico esse quantitativo eu devo subtrair do meu gráfico.

Obrigado Raphael após pronto pronto aviso o resultado.

Abração.

rphpacheco
Creator III
Creator III

Opa! Por nada

Abraço!

marcelviegas
Creator II
Creator II
Author

Meu caro, dei uma pequena modificado no script que tu me enviou testei a modificação com a tabela inserida manualmente e funcionou, mas quando eu tento fazer o script com a minha tabela real o script não carrega e diz que a tabela não existe, segue abaixo o script:

LOAD LeitoMovimentacao.ID_LEITO,

     LeitoMovimentacao.ID_SITUACAO_LEITO,

     LeitoMovimentacao.ID_SITUACAO_LEITO as ID_SITUACAO_LEITO,

     Year(  LeitoMovimentacao.CALENDARIO )&Num( Month(  LeitoMovimentacao.CALENDARIO ),'00')&Num( Day(  LeitoMovimentacao.CALENDARIO ), '00' ) as ID_CALENDARIO,

     LeitoMovimentacao.CALENDARIO

FROM

D:\QlikVeiw\HOMOLOGACAO\INTERNACAO\qvd_e\tbe_leito_movimentacao.qvd

(qvd);

//inicio teste script raphael

Auxiliar:

LOAD

  RecNo()         as Sequêncial,

  LeitoMovimentacao.ID_LEITO,

  LeitoMovimentacao.ID_SITUACAO_LEITO

Resident inLine;

  

DROP Table inLine;

Final:

LOAD *,

  If(Peek(LeitoMovimentacao.ID_SITUACAO_LEITO, -1) = '1' and LeitoMovimentacao.ID_SITUACAO_LEITO = '3' or Peek(LeitoMovimentacao.ID_SITUACAO_LEITO, -1) = '3' and LeitoMovimentacao.ID_SITUACAO_LEITO = '1', 'V', 'F')

  as Flag

Resident Auxiliar

Order By

  LeitoMovimentacao.ID_LEITO,

  LeitoMovimentacao.ID_SITUACAO_LEITO;

  

DROP Table Auxiliar;

//fim teste

rphpacheco
Creator III
Creator III

Bom Marcel, pelo que ví na sua adaptação, está faltando você nomear a tabela (inLine) em que você carrega os dados do QVD.

rphpacheco
Creator III
Creator III

Outra coisa. Não é necessário você criar um LOAD da tabela Auxiliar. Eu fiz aquilo no exemplo por que estava realizando uma carga "in line" e precisava criar o número sequencial (com o RecNo()) e isso não é possível em uma tabela in line (pelo menos eu desconheço que isso seja possível).

Sendo assim, você pode criar o campo Sequêncial diretamente na tabela em que você lê os dados de seu QVD.

Depois sim, você terá que criar uma nova tabela Resident para poder utilizar o Order By.