IT-MÜCKE

Emnis: komplexer Report soll nur eine Teilmenge zeigen

28.09.2011

Die Report-Funktion in Emnis ist sehr praktisch: komplexe Auswertungen einmal erstellen und dann immer aktuell abrufen. Bei komplexen Auswertungen muss allerdings etwas SQL benutzt werden.

Für eine Auswertung wollte ich die Kontakte ausgeben lassen, die 

  • an einer Kampagne A teilnehmen
  • und nicht an einer Kampagne B

Also eine Mengeoperation wie folgt:

Menge

Um dies zu erreichen muss SQL genutzt werden. Es funktioniert also nicht:

  • „Kampagnenteilnehmer“ „Kampagne (FS)“ „ist“ „Kampagne A“
  • UND
  • „Kampagnenteilnehmer“ „Kampagne (FS)“ „ist nicht“ „Kampagne B“

Falsche Einstellung

Dabei werden alle Teilnehmer von Kampagne A aufgelistet, also auch diejenigen, die an Kampagne B teilnehmen und eigentlich nicht aufgelistet werden sollten.

Um den Filer richtig einzurichten ist wie folgt vorzugehen:

  • „Ansprechpartner“ „ID (PS)“ „SQL-Anweisung“ „field IN (SELECT personid FROM cf_campaign_participants WHERE campaignid = 14 AND personid NOT IN (SELECT personid FROM cf_campaign_participants WHERE campaignid = 17))“
  • UND
  • „Kampagnenteilnehmer“ „Ansprechpartner (FS)„ “SQL-Anweisung“ „field IN (SELECT personid FROM cf_campaign_participants WHERE campaignid = 14 AND personid NOT IN (SELECT personid FROM cf_campaign_participants WHERE campaignid = 17))“
  • UND
  • „Kampagnenteilnehmer“ „Kampagne (FS)“ „ist“ „Kampagne A“
  • Wobei die KampagnenIDs (campaignid) natürlich anzupassen ist. Die ID erhält man, wenn man sich die Kampagnen auflisten lässt in der ersten Spalte: Vertrieb → Kampagnen → Alle.
  • Die SQL-Anweisung in beiden Feldern ist identisch - es reicht also einmal die IDs zu ändern und dann die geänderte Anweisung zu kopieren und einzufügen. 

Richtig

Diese komplizierte SQL-Anweisung muss man sich nicht merken: den Report kann man ja mit einem Klick kopieren. Dann ändert man entsprechend die IDs.

(Quelle: ein Emnis-Mitarbeiter.)


Ähnliche Themen im blog:
emnis


zurück