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

Announcements
Join us to spark ideas for how to put the latest capabilities into action. Register here!
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!