Do you mind explaining to me how would you load the if statement in the back end? would they be going to be on the same table? or would they just be on a separate load inline table? My apology if I am asking really newbie/stupid questions with newbie concepts of qlik...
Thanks, Martin, Agree with you on that! Given that each unique user may be qualified for multiple segment, how would you go after using the if statements with the end goal that they will be under the same "column"?
Given the fact your customers fall into multiple segments there is no way around creating a synthetic hierarchy which you impressively worked out yourself how to do in the load script.
Ideally in a perfect world, the segmentation is provided to you upstream e.g. in a DB because you run the risk of maintaining too much logic in your Qlik script (which only you are able to understand ).
Two tiny suggestions to improve your loading performance & RAM footprint
1) If your load script takes ages, try storing your interim tables into QVD files and then loading from those directly rather than using Resident load. Controversially, resident loads are a tiny bit slower (preceding loads are the worst).
2) In your example I assume EmailAddress is used as your key to your fact table. If you are not using the EmailAddress anywhere else, you might consider creating numeric IDs to link the tables using AutoNumber(EmailAddress) for example. They have a significantly lower RAM footprint. This only becomes relevant if you have millions of rows.