Ich muss in einem Cognos-Bericht eine Option für die Schlüsselwortsuche bereitstellen. Ich habe 4 Texteingabeaufforderungen für Schlüsselwörter. Ich brauche eine Lösung, bei der ich das Detailfeld anhand von bis zu 4 eingegebenen Keywords filtere. Der Filterausdruck habe ich versucht, ist:Cognos-Berichtsschlüsselwort-Suche
IF (?p_Details1? IS NOT NULL) THEN (IF (?p_Details2? IS NOT NULL) THEN (IF (?p_Details3? IS NOT NULL) THEN (IF (?p_Details4? IS NOT NULL) THEN (UPPER([DETAILS]) CONTAINS (UPPER(?p_Details1?)) OR UPPER([DETAILS]) CONTAINS (UPPER(?p_Details2?)) OR UPPER([DETAILS]) CONTAINS (UPPER(?p_Details3?)) OR UPPER([DETAILS]) CONTAINS (UPPER(?p_Details4?))) ELSE (UPPER([DETAILS]) CONTAINS (UPPER(?p_Details1?)) OR UPPER([DETAILS]) CONTAINS (UPPER(?p_Details2?)) OR UPPER([DETAILS]) CONTAINS (UPPER(?p_Details3?)))) ELSE (UPPER([DETAILS]) CONTAINS (UPPER(?p_Details1?)) OR UPPER([DETAILS]) CONTAINS (UPPER(?p_Details2?)))) ELSE (UPPER([DETAILS]) CONTAINS (UPPER(?p_Details1?)))) ELSE (1=1)
Wenn einer der Textfeld aufgefordert ist null der Bericht alle Datensätze zurückgibt. So scheint es zu sein, ignoriert meine if-Aussagen. Funktioniert, wenn alle Eingabeaufforderungen für Textfelder Daten enthalten.
Prost.