Qlik Community

QlikView App Dev

Discussion Board for collaboration related to QlikView App Development.

Announcements
QlikWorld 2022, LIVE in Denver CO., May 16-19, 2022. REGISTER NOW TO RECEIVE EARLY BIRD PRICING
cancel
Showing results for 
Search instead for 
Did you mean: 
ananyaghosh
Creator III
Creator III

is my set analysis is correct? Please help

Hi,

I have a if function with the following conditions:

if((not match([Product Type],'DE','PA','RE','SA','CE','AA','VA','5M','FA') and

[Sales Trn Detail DCIO TRADE IND] =1 and [Trans Trade Class]='S' and not match([Trans Status Code],'D')), sum([Sales Amount USD]))

and I have replaced it with the following set analysis:

sum({$<[Product Type]-= {'DE','PA','RE','SA','CE','AA','VA','5M','FA'},[Sales Trn Detail DCIO TRADE IND]={1},[Trans Trade Class]={'S'},[Trans Status Code] -= {'D'}>}[Sales Amount USD])

and they gives me different result for me.

Please help me if anything is wrong in my set analysis.

Thanks,

Sandip

7 Replies
Anil_Babu_Samineni

Try this?

sum({$<[Product Type]-= {'DE','PA','RE','SA','CE','AA','VA','5M','FA'},[Sales Trn Detail DCIO TRADE IND]={1},[Trans Trade Class]={'S'}>+<[Trans Status Code] -= {'D'}>} [Sales Amount USD])

Before develop something, think If placed (The Right information | To the right people | At the Right time | In the Right place | With the Right context)
avinashelite

Try like this

sum({$<[Product Type]= {"*"}-{'DE','PA','RE','SA','CE','AA','VA','5M','FA'},[Sales Trn Detail DCIO TRADE IND]={1},[Trans Trade Class]={'S'},[Trans Status Code] = {"*"}- {'D'}>}[Sales Amount USD])

Kushal_Chawda

It's always better to create the Flag in script for long conditions to make expression simpler

LOAD *,

if((not match([Product Type],'DE','PA','RE','SA','CE','AA','VA','5M','FA') and

[Sales Trn Detail DCIO TRADE IND] =1 and [Trans Trade Class]='S' and not match([Trans Status Code],'D')), 1) as Flag


Expression:

=Sum({<Flag={1}>} [Sales Amount USD])

antoniotiman
Master III
Master III

Hi Sandip,

may be because Set Analysis is per chart, non per Row.

If() is per Row.

Regards,

Antonio

nsm1234567
Creator II
Creator II

Hi There,

This could be happening for a number of reasons.  Some suggestions:

1)  Are any of your [Product Type] or [Trans Status Code] values (or fields associated with them) nulls ?  -= in Set Analysis will work differently to "not match" in these cases

2)  Are you sure that the Product Type values, for instance, are not repeated in a way you're not anticipating?  I've attached an example of how similar expressions can "go wrong" based on the underlying data.

The particular way in which your result is wrong, or some sample data would be helpful.  Is the Set Analysis returning a lower value than you're expecting?  A higher value?

sunny_talwar

Are there nulls in Product Type or Trans Status Code fields?

sasiparupudi1
Master III
Master III

May be try

sum({1<[Product Type]-= {'DE','PA','RE','SA','CE','AA','VA','5M','FA'},[Sales Trn Detail DCIO TRADE IND]={1},[Trans Trade Class]={'S'},[Trans Status Code] -= {'D'}>}[Sales Amount USD])