Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
See why IDC MarketScape names Qlik a 2025 Leader! Read more
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Joins and If condition not working

Hi All,

I have the following code and I am not sure on why the if condition is not working here.

Temp:

Load ID,

"Doc Number" as DocNumber,

" Number" as PNumber,

"Priority Date" as PriorityDate,

"Country" as Country,

"Issue Date" as IssueDate,

"Review Group" as ReviewGRoup,

"Title" as Title,

PAD_INVENTION_ID as P_invention,

"Status" as Status

RESIDENT Table2;

Left Join(Temp)

Load "GenericReviews.Highest In Value" as InValue,

"GenericReviews.P Value" as PValue,

ID

RESIDENT GenericReviews;

Left Join(Temp)

Load "CompanyReviews.Depth of Analysis" as DFAnalysis,

          "CompanyReviews.Infringement Score" as IFSCORE,

          ID,

          CompanyReviews.COMPANY_NAME as Company

          Resident CompanyReviews;

Left Join(Temp)

lOAD ID,

Tags.TAG_NAME as Tag

Resident Tags;

LEFT JOIN(Temp)

lOAD Family as Family,

PAD_INVENTION_ID as P_invention

Resident Inventions;

Left Join(Table1)

Load if((wildmatch(Country,'United States of America','China','Taiwan','Germany (Federal Republic of)', 'Netherlands')>0 )AND match(Status,'Allowed','Granted')

                    AND Company='Apple' AND  DFAnalysis='low' AND  IFSCORE >= 3 and NOT Tag LIKE '*Apple_Tabled*', 'Low',

                    if((wildmatch(Country,'United States of America','China','Taiwan','Germany (Federal Republic of)', 'Netherlands')>0 )AND match(Status,'Allowed','Granted')

                    AND Company='Apple' AND  DFAnalysis='high' AND  IFSCORE >= 3 and NOT Tag LIKE '*Apple_Tabled*','High',

                    if((wildmatch(Country,'United States of America','China','Taiwan','Germany (Federal Republic of)', 'Netherlands')>0 )AND match(Status,'Allowed','Granted')

                    AND Company='Apple' AND  DFAnalysis='medium' AND  IFSCORE >= 3 ,'Medium', 'N/A'

                     )))

            as Test.VettingStage,

         ID

                    Resident Temp;

Sorry for posting a long code here. My joins are working fine here , but the only issue is with the if condition above.

Thanks and any help would be highly apprecaited.

2 Replies
Jason_Michaelides
Partner - Master II
Partner - Master II

Wow. That's one he'll of an IF statement! Are you sure there's no better way, maybe using some composite keys and ApplyMap()?

If not, try a round of tests gradually building the statement up from it's parts.

Jason

Not applicable
Author

Hi,

thanks for your reply. I don't think there is any other way to do this. I tried building the statements by putting condition one at a time. so,

(wildmatch(Country,'United States of America','China','Taiwan','Germany (Federal Republic of)', 'Netherlands')>0 )AND match(Status,'Allowed','Granted')

these conditons worked...but the simple conditions

like Company='Apple' and IFSCORE>=3  is not working.

I tried everythign but not sure on what could be the reasons of this.

Thanks!