Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I have the following question,
I want to load all the numbers in a field that are equal to a key in a different field. But i cant seem to get my if statement to work.
=IF(PK_R_RELATIONGROUP = FK_MAINRELATIONGROUP ,DESCRIPTION) this is what im using so far. This doesnt seem to work at all.
When i munual insert a number like =IF(PK_R_RELATIONGROUP = 1417 ,DESCRIPTION) It works perfect, however i want it to compare all the rows in the FK_Mainrelationgroup table.
Regards Luuk
After a bit of tweeking i made it like this. Not sure if this is the right way to do it but it does work.
ODBC CONNECT TO [IQ live];
Test:
QUALIFY*;
LOAD DESCRIPTION,
PK_R_RELATIONGROUP,
DATECREATED,
DATECHANGED,
FK_MAINRELATIONGROUP,
CREATOR,
USERCHANGED,
FK_WORKFLOWSTATE,
EXTERNALKEY,
CODE;
SQL SELECT *
FROM RampRiq.dbo."R_RELATIONGROUP";
Henk:
QUALIFY*;
UNQUALIFY Test.FK_MAINRELATIONGROUP;
INNER JOIN(Test)
LOAD
FK_MAINRELATIONGROUP,
PK_R_RELATIONGROUP,
DESCRIPTION,
IF(isnull(FK_MAINRELATIONGROUP), PK_R_RELATIONGROUP) AS Test.FK_MAINRELATIONGROUP,
IF(isnull(FK_MAINRELATIONGROUP), DESCRIPTION) AS Test ;
SQL SELECT *
FROM RampRiq.dbo."R_RELATIONGROUP";
your first if statement didn't work because FK_MAINRELATIONGROUP contains different values
unlike the second one, you used a specific value so qlikview processed it successfully..
maybe you can edit your load/select statement and put a where clause and join the two tables.
Thank you for your quick respond,
The only problem i have is that FK_MAINRELATIONGROUP redirects to the same table primary key.
The FK_MAINRELATIONGROUP gives a number to a record placing it in a group. The name of the group is a
record within the sametable where the PK_RELATIONGROUP = FK_MAINRELATIONGROUP only at this record FK_Mainrelationgroup = null.
Im now trying to get a list that will show me all groups and then drill downs to the different mainrelationgroups.
But so far im not getting anywhere
Regards Luuk
After a bit of tweeking i made it like this. Not sure if this is the right way to do it but it does work.
ODBC CONNECT TO [IQ live];
Test:
QUALIFY*;
LOAD DESCRIPTION,
PK_R_RELATIONGROUP,
DATECREATED,
DATECHANGED,
FK_MAINRELATIONGROUP,
CREATOR,
USERCHANGED,
FK_WORKFLOWSTATE,
EXTERNALKEY,
CODE;
SQL SELECT *
FROM RampRiq.dbo."R_RELATIONGROUP";
Henk:
QUALIFY*;
UNQUALIFY Test.FK_MAINRELATIONGROUP;
INNER JOIN(Test)
LOAD
FK_MAINRELATIONGROUP,
PK_R_RELATIONGROUP,
DESCRIPTION,
IF(isnull(FK_MAINRELATIONGROUP), PK_R_RELATIONGROUP) AS Test.FK_MAINRELATIONGROUP,
IF(isnull(FK_MAINRELATIONGROUP), DESCRIPTION) AS Test ;
SQL SELECT *
FROM RampRiq.dbo."R_RELATIONGROUP";