CRMAF_ durchreichen in Unterabfrage

24. Februar 2014 13:26

Guten Tag,
ich bastel an einem Report, der verfügbare Kontakte anzeigen soll welche sich nicht für ein Event an einem bestimmten Datum angemeldet haben.
Das "Datum des Events" soll per CRM_AF aus dem in CRM geöffneten Event übertragen werden und in der Unterabfrage verglichen werden.
Die Abfrage ansich bringt keinen Fehler und zeigt auch Kontakte an, allerdings scheint das Datum des Events nicht durchgereicht zu werden.
Im Report-Ergebnis tauchen leider auch Kontakte auf, die ein Element für das Datum des vorangegangenen Events zugeordnet haben.

Es wäre sehr hilfreich für mich, wenn mir jemand sagen könnte ob die Abfrage technisch so funktionieren kann. Im Anhang noch eine PowerPoint die den Business Case veranschaulicht.

(im u.g. Statement wird Event als "Disposition" und die Event-Teilnahme als "Dispositionselement" ausgedrückt)

SELECT fullname, contactid
FROM FilteredContact
WHERE (contactid NOT IN
(SELECT FilteredContact_1.contactid
FROM FilteredContact AS FilteredContact_1 INNER JOIN
Filterednew_dispositionselement ON FilteredContact_1.contactid = Filterednew_dispositionselement.new_musiker AND
FilteredContact_1.contactid = Filterednew_dispositionselement.new_musiker INNER JOIN
Filterednew_disposition AS CRMAF_Filterednew_disposition ON
Filterednew_dispositionselement.new_dispositionselementid = CRMAF_Filterednew_disposition.new_dispositionid AND
Filterednew_dispositionselement.new_engagementtermin = CRMAF_Filterednew_disposition.new_engagementtermin)) AND
(customertypecodename = 'Musiker') AND (new_musikerstatusname = 'Pool-Musiker' OR
new_musikerstatusname = 'Partner-Musiker')
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: CRMAF_ durchreichen in Unterabfrage

24. Februar 2014 14:54

Hallo Frank,

hast du denn den Unterbericht so definiert, das er Parameter aus dem übergeordneten Bericht übernimmt? Und wenn ja, werden diese Parameter über die CRM_AF Parameter gefüllt?

Re: CRMAF_ durchreichen in Unterabfrage

25. Februar 2014 16:25

HI,
ich würde folgendes machen:
Wenn du die SQL Abfrage in dein DataSet einfügst musst du diese aktualisieren (Felder aktualisieren klicken) in dem aufkommenden Fenster "select * from filteredentität" eintragen.
In deiner Parameter Übersicht bei beiden einen Default Wert eintragen und als "Unsichtbar" deklarieren. Wenn du den Bericht in dein CRM einspielst, kannst du für Kontakte und "New_disposition" eine Abfrage machen. Z.b auf Termine > Heute oder auch deine Musiker welche gefunden werden sollen und welche nicht.

Abfrage:
--DECLARE @CRM_Filterednew_dispositions AS NVARCHAR(MAX)
--SET @CRM_Filterednew_dispositions = 'select * from filterednew_dispositions'
--DECLARE @CRM_FilteredContact AS NVARCHAR(MAX)
--SET @CRM_FilteredContact = 'select * from filteredcontact'


DECLARE @SQL1 AS NVARCHAR(MAX)
SET @SQL1 = '
SELECT CRMAF_FilteredContact.fullname, CRMAF_FilteredContact.contactid
FROM (' + @CRM_FilteredContact ') AS CRMAF_FilteredContact
WHERE (CRMAF_FilteredContact.contactid NOT IN
(
SELECT FilteredContact_1.contactid
FROM FilteredContact AS FilteredContact_1 INNER JOIN
Filterednew_dispositionselement ON FilteredContact_1.contactid = Filterednew_dispositionselement.new_musiker INNER JOIN
(' + @CRM_Filterednew_dispositions ') AS CRMAF_Filterednew_disposition ON Filterednew_dispositionselement.new_dispositionselementid = CRMAF_Filterednew_disposition.new_dispositionid
))'
EXEC(@SQL1)

Grüße
gE3z