Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
Tens como postar um exemplo para melhor entendimento?
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!
Marcel. Dá uma olhada neste exemplo e veja se ele te atende.
Abs.
É 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.
Opa! Por nada
Abraço!
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
Bom Marcel, pelo que ví na sua adaptação, está faltando você nomear a tabela (inLine) em que você carrega os dados do QVD.
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.