I am facing an issue in QlikSense script environment with Left Keep function, summarizing the issue below.
1. I have 2 tables with 1 fact & 1 dimension (spreadsheet attached),
2. In fact table I have a column "LocID" with no values in that and dimension table has the data with LocID.
3. Loaded data on sequence of Fact followed by Dimension table
4. Added "Left Keep (Fact)" to the dimension table load.
If fact table column (LocID) is completely null and when dimension table has association by "LocID" with fact table & dimension table preceded with "Left Keep" function, reload is not successful.
Reload progress window shows tables loaded with number of records but at the end it is showing as "Data load failed" (Error screenshot attached).
Data load successful on below scenarios:
Tested by adding a value for LocID in fact table and it is loaded successfully.
Tested with "Where Exists" function instead of "Left Keep" - Works fine
Tested by commenting "Left Keep" - Works fine
In general (as per Qlikview) "Left Keep" should only filter data in dimension table based on the fact(or any other table) table irrespective of column values are null or not. This seems to be not happening in QlikSense.
I have attached a sample worksheet with .qvf file for your reference check and solution on the same.
Please let me know if it is known issue or I am missing something in the script.
I have had the same issue with Left Keep, only my fact table column is not completely NULL. There are no matches between the fact table column and the dimension table column, I think that is what caused the issue.