Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. 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.