8 Replies Latest reply: Aug 8, 2014 3:53 PM by Raphael Pacheco RSS

    duvida qual forma utilizo

    marcel viegas

      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

        • Re: duvida qual forma utilizo
          Raphael Pacheco

          Tens como postar um exemplo para melhor entendimento?

            • Re: duvida qual forma utilizo
              marcel viegas

              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!

                • Re: Re: duvida qual forma utilizo
                  Raphael Pacheco

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

                   

                  Abs.

                    • Re: duvida qual forma utilizo
                      marcel viegas

                      É 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.

                        • Re: duvida qual forma utilizo
                          Raphael Pacheco

                          Opa! Por nada

                           

                          Abraço!

                            • Re: duvida qual forma utilizo
                              marcel viegas

                              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

                                • Re: duvida qual forma utilizo
                                  Raphael Pacheco

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

                                    • Re: duvida qual forma utilizo
                                      Raphael Pacheco

                                      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.