Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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.
Fernando, e se eu tiver um grupo de expressões?
Tipo 2 expressões agrupadas:
Sum(Valor)
Count(Vendas)
Como referenciá-las?
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
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.
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.
É 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.
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.
Edson, você pode tentar pela classificação do Grupo.
Para acessar a classificação você deve editar o grupo e classificar conforme o desejado.
E fazer a classificação conforme a tela abaixo:
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.
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.