Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Condição de Campos Diferentes no Set Analysis

Boa noites amigos e amigas

Estou precisando da vossa ajuda,

Preciso comparar dois campos um chama-se DUD_FILORI e o outro DUD_FILDCA, eu preciso que o calculo só aconteça quando os valores destes campos forem diferentes,

A minha expressão é a seguinte:

= AVG({1< Z24_LHUB ={'S'},DT6_EMIANO = {'$(=Year(Today()))'},DT6_FILDOC={'01040', '01190', '01010'} >} Z24_THUB)

Eu preciso incluir mais esta condição , já tentei

  • AVG({1< Z24_LHUB ={'S'},DT6_EMIANO = {'$(=Year(Today()))'},DT6_FILDOC={'01040', '01190', '01010'},DUD_FILORI<>{$(<>DUD_FILDCA)} >} Z24_THUB)

  • AVG({1< Z24_LHUB ={'S'},DT6_EMIANO = {'$(=Year(Today()))'},DT6_FILDOC={'01040', '01190', '01010'},DUD_FILORI<>{DUD_FILDCA} >} Z24_THUB)

Não tive resultado em nenhuma delas,

Por gentileza, poderiam me ajudar ?

Obrigado

1 Solution

Accepted Solutions
afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Eduardo,

  • AVG({1< Z24_LHUB ={'S'},DT6_EMIANO = {'$(=Year(Today()))'},DT6_FILDOC={'01040', '01190', '01010'}>}  if ( DUD_FILORI <> DUD_FILDCA, Z24_THUB))


não sou muito favorável ao if dentro da expressão, mas ve como fica a performance.  Se o calculo for rápido, seria uma forma mais simples.

(não sei aonde estão estes campos nas tabelas....se na mesma ou em outras, o que ai sim ficaria MAIS LENTO o calculo da expressão)


Embora criar no script a flag como sugerido pelo digao_sds‌ faça tudo o sentido.

furtado@farolbi.com.br

View solution in original post

4 Replies
Not applicable
Author

Eduardo, eu tenho a impressão que o set analisys não faz a avaliação linha a linha. Nunca vi um desta forma.

O que você pode fazer é gerar um flag no script e usar no set : Flag={1}

if(DUD_FILORI<>DUD_FILDCA,1) as Flag,

Se você esta usando esse set analisys em uma granularidade 1 X 1 vc pode usar o only DUD_FILORI={"<>$(=only(DUD_FILDCA))"}

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Eduardo,

  • AVG({1< Z24_LHUB ={'S'},DT6_EMIANO = {'$(=Year(Today()))'},DT6_FILDOC={'01040', '01190', '01010'}>}  if ( DUD_FILORI <> DUD_FILDCA, Z24_THUB))


não sou muito favorável ao if dentro da expressão, mas ve como fica a performance.  Se o calculo for rápido, seria uma forma mais simples.

(não sei aonde estão estes campos nas tabelas....se na mesma ou em outras, o que ai sim ficaria MAIS LENTO o calculo da expressão)


Embora criar no script a flag como sugerido pelo digao_sds‌ faça tudo o sentido.

furtado@farolbi.com.br
Anonymous
Not applicable
Author

Alessandro,

Utilizei conforme descrito e deu certo, porem mexeu na performance, ficou bem lento.

Vou criar a flag,e vamos ver como fica a performance.

Muito obrigado por sua atenção.

Abs

Anonymous
Not applicable
Author

Rodrigo

Utilizei a sugestão do Alessandro e deu certo, porem ficou lento.

Vou utilizar a flag e vamos ver como vai ficar a performance.

Muito obrigado