Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
fmbrancher
Contributor

IF dentro do SET ANALYSIS

Boa dia pessoal

Estou montando um gráfico de tabela simples onde tenho um set analisys dentro de uma expressão.


Tenho um campo chamado DESC_COLECAO, porem preciso que quando eu selecione em um filtro

DESC_COLECAO = '2018-TROPICAL' me traga resultados da DESC_COLECAO='2017-TROPICAL', quando selecione DESC_COLECAO='2018-INVERNO' traga resultados do '2017-INVERNO' e para '2018-PRIMAVERA' traga resultados da coleção '2017-PRIMAVERA'

Preciso disso para montar uma tabela de comparação entre coleções.

Pensei em algo tipo:

=num(SUM({<

     [DIA]=,

     [MES]=,

     [ANO]=,

     [DES_COLECAO]={"=$if(DESC_COLECAO='2018-TROPICAL'),(DESC_COLECAO='2017-TROPICAL'),

if(DESC_COLECAO='2018-INVERNO'),(DESC_COLECAO='2017-INVERNIO),(DESC_COLECAO='2018-PRIMAVERA'),(DESC_COLECAO='2017-PRIMAVERA')

"}

    >}[VALOR_VENDIDO]),'#.##0,00')

Não sei se estou seguindo a linha correta de raciocinio.


Obrigado.

Tags (1)
1 Solution

Accepted Solutions
thiago_justen
Valued Contributor III

Re: IF dentro do SET ANALYSIS

Uma solução front-end seria essa:

Teste.gif

Expressão usada:

Sum({<DESC_COLECAO={"$(=Left(DESC_COLECAO,4)-1 &'-'& SubField(DESC_COLECAO,'-',2))"}>}QTDE)

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
9 Replies
MCampestrini
Valued Contributor

Re: IF dentro do SET ANALYSIS

Felipe

Você não consegue colocar o ano da coleção como um campo a parte? Se for possível, basta selecionar o ano da coleção - 1 para trazer a informação desejada.

Márcio Rodrigo Campestrini
fmbrancher
Contributor

Re: IF dentro do SET ANALYSIS

Marcio infelizmente eu nao consigo fazer isso porque o 2018, 2017 no nome da coleção são campos que já vem da tabela do banco de dados. Eles já vem com o nome pronto do Ano+nome da coleção.

MCampestrini
Valued Contributor

Re: IF dentro do SET ANALYSIS

Felipe

Se já vem nesse formato (ano+nome) você pode tratar no script de carga:

Load ...

         Mid(nome_colecao, 1, Index(nome_colecao, '-') - 1) As ano_colecao,

         Mid(nome_colecao, Index(nome_colecao, '-') + 1)    As nome_colecao_novo,

         ...

Márcio Rodrigo Campestrini
thiago_justen
Valued Contributor III

Re: IF dentro do SET ANALYSIS

Uma solução front-end seria essa:

Teste.gif

Expressão usada:

Sum({<DESC_COLECAO={"$(=Left(DESC_COLECAO,4)-1 &'-'& SubField(DESC_COLECAO,'-',2))"}>}QTDE)

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
thiago_justen
Valued Contributor III

Re: IF dentro do SET ANALYSIS

Se for tratar no script, além dessa dica do marcio.campestrini‌, pode usar também o SubField:

LOAD

     OUTROS_CAMPOS,

    SubField(DESC_COLECAO,'-',1) AS ANO_COLECAO,

    SubField(DESC_COLECAO,'-',2) AS DESCRICAO_COLECAO

FROM SUA_BASE;

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
fmbrancher
Contributor

Re: IF dentro do SET ANALYSIS

A principio dessa maneira funcionou aqui.

Obrigado Thiago.
Vou fazer mais uns testes com a outra maneira que o Marcio indicou e também com o SUBFIELD

thiago_justen
Valued Contributor III

Re: IF dentro do SET ANALYSIS

Qualquer coisa, "grita" aí.

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago
fmbrancher
Contributor

Re: IF dentro do SET ANALYSIS

thiago.justen aproveitando a questão

Tenho um campo de data_emisssao ='DD/MM/YYYY'

e preciso buscar informações de menos 1 dia e um ano pra trás.

pra atrás de 1 dia eu to fazendo DATA_EMISSAO]={"<=$(=Date(TODAY()-1, 'DD/MM/YYYY'))"}

mas pra 1 dia e 1 ano atrás estou me batendo, podes me ajudar?
Por exemplo hoje é dia 22/02/2018

preciso de informações até dia 21/02/2017


Obrigado

thiago_justen
Valued Contributor III

Re: IF dentro do SET ANALYSIS

Resolveria apenas no seu modificador o seguinte:

Ontem:

DATA_EMISSAO={"$(=TODAY()-1)"}

Ano Anterior:

DATA_EMISSAO={"$(=ADDYEARS(TODAY(),-1))"}

Thiago Justen Teixeira Gonçalves
WhatsApp: 24 98152-1675
Skype: justen.thiago