Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I'm working on a complex example in QlikView in which listboxes will be created from a number of different source tables but they all need to be connected to each other as well as the straight table I'm creating. I've got 3 listboxes generated from 1 table and they are all connected and updating the straight table (and each other) as expected. I've added in another listbox (DevelopmentSite) and I've got it so that it updates the straight table, but it doesn't seem to be connected to the other listboxes (in that the available selections are not changing when something is selected in the DevelopmentSite listbox or vice-versa). What am I doing wrong? I have attached my example.
What you're doing wrong is that you didn't associate the tables with each other. Qlikview associates tables on common field names. Since no table shares a field name with another table all the tables are unconnected. That means selections in a field from one table have no effect on the other tables. The way to fix this is to rename some fields so the tables will be associated correctly. Looks like you'll have to split some fields too. The first part of CONTRACTOR seems to relate to CONTRACTORTP.
Same for HANDLER and TESTERCONFIG. ID seems to relate to PROJECTID so those could be simple named the same.
Try changing the first load statement to this:
LOAD ID,
CONTACTOR,
SubField(CONTACTOR,';',1) AS CONTACTORTP,
TESTERCONFIG,
SubField(TESTERCONFIG,';',1) AS TESTERCONFIGTP,
HANDLER,
SubField(HANDLER,';',1) AS HANDLERID,
DEVELOPMENTSITE,
XWIDTH,
YLENGTH;
SQL SELECT ID,
DECODE(CONTACTOR, NULL, '<NULL>', CONTACTOR) AS CONTACTOR,
DECODE(TESTERCONFIG, NULL, '<NULL>', TESTERCONFIG) AS TESTERCONFIG,
DECODE(HANDLER, NULL, '<NULL>', HANDLER) AS HANDLER,
DECODE(DEVELOPMENTSITE, NULL, '<NULL>', DEVELOPMENTSITE) AS DEVELOPMENTSITE,
DECODE(XWIDTH, NULL, '<NULL>', XWIDTH) AS XWIDTH,
DECODE(YLENGTH, NULL, '<NULL>', YLENGTH) AS YLENGTH
FROM ADI.GETDATAVIEW;
What you're doing wrong is that you didn't associate the tables with each other. Qlikview associates tables on common field names. Since no table shares a field name with another table all the tables are unconnected. That means selections in a field from one table have no effect on the other tables. The way to fix this is to rename some fields so the tables will be associated correctly. Looks like you'll have to split some fields too. The first part of CONTRACTOR seems to relate to CONTRACTORTP.
Same for HANDLER and TESTERCONFIG. ID seems to relate to PROJECTID so those could be simple named the same.
Try changing the first load statement to this:
LOAD ID,
CONTACTOR,
SubField(CONTACTOR,';',1) AS CONTACTORTP,
TESTERCONFIG,
SubField(TESTERCONFIG,';',1) AS TESTERCONFIGTP,
HANDLER,
SubField(HANDLER,';',1) AS HANDLERID,
DEVELOPMENTSITE,
XWIDTH,
YLENGTH;
SQL SELECT ID,
DECODE(CONTACTOR, NULL, '<NULL>', CONTACTOR) AS CONTACTOR,
DECODE(TESTERCONFIG, NULL, '<NULL>', TESTERCONFIG) AS TESTERCONFIG,
DECODE(HANDLER, NULL, '<NULL>', HANDLER) AS HANDLER,
DECODE(DEVELOPMENTSITE, NULL, '<NULL>', DEVELOPMENTSITE) AS DEVELOPMENTSITE,
DECODE(XWIDTH, NULL, '<NULL>', XWIDTH) AS XWIDTH,
DECODE(YLENGTH, NULL, '<NULL>', YLENGTH) AS YLENGTH
FROM ADI.GETDATAVIEW;
And just like that you made my complex work so much more simple!!! Thank you so very much!