Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
emmanueld
Partner - Creator
Partner - Creator

Reload only one field in script table?

Hello,

I'm looking for a way, in the script, to reload only one field of a table that has already been alimented.

Example:

I want to have all the rows from SOURCE1 and from SOURCE2, and match them if possible (if not, leave the field Batch_Type or Batch_Ext_Code empty).

BATCH:

LOAD

     Batch_Id,

     Batch_Type

from SOURCE1;

OUTER JOIN

LOAD

     Batch_Id,

     Batch_Ext_Code

from SOURCE2;

After that load, I would like to replace the null values in Batch_Type field by 'Not Defined', without having to reload the entire content of the table into another table.

Is there a way to do so?

If you want more details, it's because I need afterwards to remove some rows in some parts of the UI thanks to set analyses based on some values of Batch_Type (Batch_Type -= {xxx}), and unfortunately this also removes the rows with null values.

Many thanks in advance

Emmanuel

1 Solution
4 Replies
emmanueld
Partner - Creator
Partner - Creator
Author

Thank you Marcus. Is that the only way to do it? It is quite similar to what I did (except I used If(IsNull(FieldName), DefaultValue, FieldName) instead of using the 'MAP' statements).

Even though it's the only thing I could think of, reloading the table twice by making a copy seemed odd to me, so I was thinking there might be another way (I'm quite new to Qlikview so I may not have all the reflexes!).

marcus_sommer

Most more efficient then:

If(IsNull(FieldName), DefaultValue, FieldName) will be If(len(trim(FieldName))=0, DefaultValue, FieldName)

and it's easy to use but you will need to know where NULL could be happen and apply it to each single field. Another method by merging tables might be to use mapping with applymap() which avoids potential problems of join-approaches and which could have a default-value by no matchings - but it won't cover the duplication/reduction of records from inner/outer-joins which are more uncommon.

Further approaches to handle NULL are the use of variables like NullAsValue, NullDisplay and NullValue. The best overview to all these methods could you find here: NULL handling in QlikView.

- Marcus

emmanueld
Partner - Creator
Partner - Creator
Author

Thank you very much Marcus, I will do with these solutions