6 Replies Latest reply: Nov 4, 2014 6:32 AM by Fernando Tonial RSS

    Valores Nulos no SetAnalyses

    Antonio Mercadante

      Sr(as). Boa tarde!

       

      Alguém sabe dizer o que esta de errado neste set analysis?

       

      =count({$<Identificador = {'C'},DATA_HABILITACAO_PONTO = {''}, DATA_PEDIDO_CANC_PONTO = - {''}, DATA_CANCELAMENTO_PONTO = - {''} >} Identificador)

       

      O Problema esta com DATA_HABILITACAO_PONTO = {''}, ele não esta reconhecendo o campo como nulo.

       

      Para garantir que o campo seja nulo inclui a seguinte condição na carga do painel

       

      if(isnull(DATA_HABILITACAO_PONTO),NULL(),DATA_HABILITACAO_PONTO)

       

      Mesmo assim não funcionou.

       

      Se eu trocar o null por qualquer outro campo funciona, porem é inviável pois utilizo esse campo em vários cálculos. Teria que alterar um por um.

       

      Obrigado!

        • Re: Valores Nulos no SetAnalyses
          Alessandro Saccone

          I think that DATA_HABILITACAO_PONTO is a dimension so togheter with

           

          if(isnull(DATA_HABILITACAO_PONTO),NULL(),DATA_HABILITACAO_PONTO)


          you have to check (in the dimension page) the box "suppress when value is null"


          Set analysis cannot manage null values but you are garanted that null do not exists by the upper condition


          Let me know

          • Re: Valores Nulos no SetAnalyses
            Manish Kachhia

            Mude o seu script como abaixo

            Temp:

            CARGA Identificador ,

                 Se ( IsNull ( DATA_HABILITACAO_PONTO ) , nulo ( ) , DATA_HABILITACAO_PONTO ) como DATA_HABILITACAO_PONTO ,

                 Se ( IsNull ( DATA_PEDIDO_CANC_PONTO ) , nulo ( ) , DATA_PEDIDO_CANC_PONTO ) como DATA_PEDIDO_CANC_PONTO ,

                 Se ( IsNull ( DATA_CANCELAMENTO_PONTO ) , nulo ( ) , DATA_CANCELAMENTO_PONTO ) como DATA_CANCELAMENTO_PONTO

            DE

            [ Fórmula - Help.xlsx ]

            ( OOXML , rótulos embutidos , mesa é Sheet1 );

             

            Now use

            =COUNT({<Identificador = {'A'}, DATA_HABILITACAO_PONTO = {'*'}, DATA_CANCELAMENTO_PONTO = {"=Not IsNull(DATA_CANCELAMENTO_PONTO)"}, DATA_PEDIDO_CANC_PONTO = {"=Not IsNull(DATA_PEDIDO_CANC_PONTO)"}>}Identificador)

             

            ===================

            Change your script as below

            Temp:

            LOAD Identificador,

                 If(IsNull(DATA_HABILITACAO_PONTO),Null(),DATA_HABILITACAO_PONTO) as DATA_HABILITACAO_PONTO,

                 If(IsNull(DATA_PEDIDO_CANC_PONTO),Null(),DATA_PEDIDO_CANC_PONTO) as DATA_PEDIDO_CANC_PONTO,

                 If(IsNull(DATA_CANCELAMENTO_PONTO),Null(),DATA_CANCELAMENTO_PONTO) as DATA_CANCELAMENTO_PONTO

            FROM

            [Formula-Help.xlsx]

            (ooxml, embedded labels, table is Sheet1);

             

            use below expression

            =COUNT({<Identificador = {'A'}, DATA_HABILITACAO_PONTO = {'*'}, DATA_CANCELAMENTO_PONTO = {"=Not IsNull(DATA_CANCELAMENTO_PONTO)"}, DATA_PEDIDO_CANC_PONTO = {"=Not IsNull(DATA_PEDIDO_CANC_PONTO)"}>}Identificador)

            • Re: Valores Nulos no SetAnalyses
              Fernando Tonial

              Olá Antonio,

               

              O problema de trabalhar com nulo é que você não consegue selecionar o valor no QlikView e como você esta utilizando o Set Analysis fica mais complicado, pois o Set Analysis é similar a uma seleção em um determinado campo e assim como você não pode selecionar o nulo o Ser Analysis também não consegue.

               

              Recomendo você criar um campo Flag para cada umas das datas.

               

              if(isnull(DATA_HABILITACAO_PONTO),1,0) AS _Flag_Nulo_DATA_HABILITACAO_PONTO

              if(isnull(DATA_PEDIDO_CANC_PONTO),1,0) AS _Flag_Nulo_DATA_PEDIDO_CANC_PONTO

              if(isnull(DATA_CANCELAMENTO_PONTO),1,0) AS _Flag_Nulo_DATA_CANCELAMENTO_PONTO


              faça a expressão assim:


              =count({$<Identificador = {'C'},_Flag_Nulo_DATA_HABILITACAO_PONTO= {1}, _Flag_Nulo_DATA_PEDIDO_CANC_PONTO= {0}, _Flag_Nulo_DATA_CANCELAMENTO_PONTO= {0} >} Identificador)


              Qlikfique-se.

              Tonial.