11 Replies Latest reply: Jul 18, 2012 3:59 PM by Edson de Souza RSS

    Ordenar grupo cíclico.

    Edson de Souza

      Prezados, boa tarde.

       

      Estou com um problema para ser resolvido e gostaria da ajuda de vocês. É a seguinte situação:

       

      Tenho um gráfico de barras com expressão que soma as vendas de uma empresa cuja dimensão é um grupo cíclico (Estado; Cidade; Ano). Para classificação do grupo escolhi "Valor - Y (Descendente)". Porém, quando o a dimensão do grupo cíclico for o Ano, gostaria que fosse ordenado de forma numérica crescente.

       

      Como faço isso?? Classificando por Expressão tem como??

       

      Grato,

      Edson de Souza.

        • Re: Ordenar grupo cíclico.
          Fernando Tonial

          Olá Edson,

           

          É possivel sim atraves da classificação por expressão. Nesse caso é necessário desmarcar a opção de classifcar por valor-y.

          Tenta fazer assim:

           

          = If(getCurrentField(NomeDoGrupo)='Ano',Ano, Sum(Valor))
          

           

          Infelizmente assim não tem como alterar a forma de classificação, ascendente ou descendente.

           

          Outra forma de fazer isso é fazer a classificação do grupo conforme vc deseja. Assim vc pode colocar a expressão para cada campo do grupo de forma descendente e no caso do Ano colocar por número de forma ascendente.

           

          Espero ter ajudado.

           

          Abraços.

          Tonial.

            • Re: Ordenar grupo cíclico.
              Edson de Souza

              Fernando, e se eu tiver um grupo de expressões?

               

              Tipo 2 expressões agrupadas:

              Sum(Valor)
              Count(Vendas)

               

              Como referenciá-las?

                • Re: Ordenar grupo cíclico.
                  Cesar Accardi

                  Olá Edson,

                   

                  Se você tem um grupo de expressões e marcar a opção de classificação por Valor-Y, valerá para as 2 expressões quando estas forem alternadas. Se você quer diferenciar o critério entre essas expressões, pode definir como critério de classificação "Expressão" e tentar com uma expressão semelhante a essa:

                   

                  if(Column(1) = 'Nome da Expressão 1', sum(Valor), Count(Vendas))

                   

                  Não estou certo de que funcione mas acredito que você consiga referenciar usando a função Column e comparando com o nome da expressão.

                   

                  Abraços,

                  Cesar

                  • Re: Ordenar grupo cíclico.
                    Fernando Tonial

                    Realmente assim nunca fiz, pode tentar colocar na parte de classificar o número da coluna, mas pode ser que não funcione.

                     

                    = If(getCurrentField(NomeDoGrupo)='Ano',Ano, Column(1)))

                     

                    Caso não funcione você pode tentar com as condições de dimensão e expressão do QlikView 11, isso se você estiver utilizando essa versão.

                     

                    Abraços.

                    Tonial.

                • Re: Ordenar grupo cíclico.
                  Edson de Souza

                  Beleza, Fernando e Cesar.

                   

                  Porém, tenho mais uma dúvida.

                   

                  Ao ordenar pela expressão eu escolho se vai ser "Ascendente" ou "Descendente". Nesse caso, eu gostaria de que quando ordenado por "Ano" for "Ascendente" e quando for pela expressão seja "Descendente".

                   

                  Como isso funcionaria utilizando esses IF's??

                   

                  Grato,

                  Edson de Souza.

                    • Re: Ordenar grupo cíclico.
                      Cesar Accardi

                      É Edson, agora complicou... rs. Eu não sei se tem como alterar este critério de ordenação quando se utiliza expressões, você pode escolher Ascendente ou Descendente... Não sei se dá para alternar conforme a expressão.

                        • Re: Ordenar grupo cíclico.
                          Cesar Accardi

                          Tenho uma sugestão... Você pode marcar como Ascendente e no caso do Descendente você teria que simular, supondo que você quer em ordem Ascendente para sum(Valor) e Descendente para Count(Vendas)... poderia ser algo assim:

                           

                          = If(getCurrentField(NomeDoGrupo)='Ano',Ano, if(Column(1) = 'sum(Valor)', sum(Valor), Count(total Vendas)-Count(Vendas))))

                           

                          Fazendo Count(total Vendas) - Count(Vendas), o menor valor se torna o maior e vice-versa.

                          • Re: Ordenar grupo cíclico.
                            Fernando Tonial

                            Edson, você pode tentar pela classificação do Grupo.

                            Para acessar a classificação você deve editar o grupo e classificar conforme o desejado.

                             

                            Configuração Grupo.png

                            E fazer a classificação conforme a tela abaixo:

                             

                            Seguencia de Classificação Grupo.png

                             

                            Assim você pode colocar o If nós campos pode grupo e no ano deixar de forma  numérica. como havia falado anteriormente.

                             

                            Abraços.

                            Tonial.

                        • Re: Ordenar grupo cíclico.
                          Edson de Souza

                          Cesar tentei fazer assim:

                           

                          = If(getCurrentField([MeuGrupo])=Ano,(Ano)*(-1), Column(1))

                           

                          Ai ele traria sempre o Ano menor primeiro, pois ele negativo é maior que os demais. Mas não fucionou.

                           

                          E Fernando, tentei fazer isso ai tbm. Mas não tem a opção de Valor-Y e quando eu habilito nas propriedades do gráfico ele sobrepõe essa configuração feita no grupo.

                           

                          Grato,

                          Edson de Souza.

                          • Re: Ordenar grupo cíclico.
                            Edson de Souza

                            Hum, entendi agora Aderlan, valeu Tonial.

                             

                            Para o Ano funcionou, mas para os demais itens do grupo coloquei para ordenar pela expressão "Column(1)" de forma "Descendente" e não foi refletida.

                             

                            O QlikView consegue identificar de alguma outra forma a "Expressão ativa" do grupo de expressões??

                             

                            Grato,

                            Edson de Souza.