Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa Tarde,
Tenho a seguinte situação tenho um gráfico, e nele um grupo cíclico, em uma desses itens do grupo, o calculo para informação é diferente, ou seja se selecionar no grupo fabricante,linha, etc ... calcula a + b, porém quando seleciono canal no grupo o calculo deve ser a + b - c.
Porém não estou conseguindo fazer isso.
if
(((
(GetCurrentSelections(DetColResumo)='Canal Venda' orObrigado!
Vilmar, sua lógica me parece estar correta, só nao entendi porque tantos parentes abrindo e fechando, voce pode suprimi-los pois tem somente um IF com várias condições dentro da mesma estrutura.
O que não deu certo? o valor não bate? Experimente usar a função GetCurrentField ao invés da GetCurrentSelections...
Abraço,
Vilmar, sua lógica me parece estar correta, só nao entendi porque tantos parentes abrindo e fechando, voce pode suprimi-los pois tem somente um IF com várias condições dentro da mesma estrutura.
O que não deu certo? o valor não bate? Experimente usar a função GetCurrentField ao invés da GetCurrentSelections...
Abraço,
obrigado, utilizando a função getcurrentfield funcionou.
Bom dia Vilmar,
Procure utilizar o recurso do Set Analysis no lugar dos "if", além de ter uma performance melhor, a informação é exibida de forma mais coerente nos subtotais.
A sua expressão poderia ser assim:
count({<DetColResumo={'Canal Venda','Ciclo','Fabricante','Canal Cliente'}>} distinct(LEFT(DMHISARTCLI.CDARTVAR,4)))
+
sum({$-1<DetColResumo={'Canal Venda','Ciclo','Fabricante','Canal Cliente'},DMPLAHIS.INATIVO={'I'}>} DMPLAHIS.QTARTMOD)
A primeira parte filtra a dimensão DetColResumo pelos valores no conjunto
e a segunda filtra os valores diferentes do conjunto onde o campo "DMPLAHIS.INATIVO" for 'I', ou seja, o contrário do 'A'.
Espero que isso te ajude. Eu sei que a sintaxe do Set Analysis pode parecer meio confusa de início, porém você consegue fazer inúmeras expressões com esse recurso.
Abraços
ok, porém minha dúvida é a seguinte ... com o IF tenho a condição e o ELSE, pelo que entendi no seu exemplo ele faz ambos ... e preciso q seja exebido um ou outro.
depende da seleção dos filtros.
No exemplo que mostrei, as condições do "then" e do "else" estão separadas. Eu coloquei um sinal de adição (+) caso você deseja trazer o resultado de ambas na mesma expressão, cada cálculo será feito respeitando o filtro, se quizer separar é só colocar em expressões diferentes.
Abraços
desculpe mas não compreendi como fazer, poderias me passar um exemplo? tendo um "else"
Vilmar,
quando você utiliza o Set Analysis, está trabalhando com conjuntos. No exemplo que postei:
count({<DetColResumo={'Canal Venda','Ciclo','Fabricante','Canal Cliente'}>} distinct(LEFT(DMHISARTCLI.CDARTVAR,4)))
+
sum({$-1<DetColResumo={'Canal Venda','Ciclo','Fabricante','Canal Cliente'},DMPLAHIS.INATIVO={'I'}>} DMPLAHIS.QTARTMOD)
eu separei as dimensões onde o resultado é comum, A segunda expressão que está sendo adicionada está com os operadores: $-1 que seria tudo que não está nos conjuntos DetColResumo={'Canal Venda','Ciclo','Fabricante','Canal Cliente'} e DMPLAHIS.INATIVO={'I'}>},
seria o "ELSE" que você está querendo.
Se ainda estiver com dúvida, consulte o material da Toccato sobre os operadores e a sintaxe em geral do Set Analysis:
[View:http://community.qlik.com/cfs-file.ashx/__key/CommunityServer.Discussions.Components.Files/97/0385.An_E100_lise-de-Conjunto.pdf:550:0]
Abraços