Beim Ausführen einer Berichtsdefinition oder bei der Vorschau auf einen Berichtsteil oder eine Berichtsvorlage können Sie mittels Berichtskontexten Filter auf Ihre Datasets anwenden. Jeder Kontext stellt unterschiedliche Filter zur Verfügung. Mit einem Filter wird eine temporäre Tabelle mit einer Liste von Elementen gefüllt, die Sie mit JOIN verknüpfen können. Dies wiederum begrenzt die Anzahl der Rückgabewerte bei Ihrer Abfrage.
In der folgenden Tabelle werden die verfügbaren Berichtskontexte, die für jeden Kontext verwendete temporäre Tabelle sowie die Spalte aufgeführt, zu der eine JOIN-Verknüpfung hergestellt werden kann.
Name |
TableName |
Spalte |
MachineFilter |
ReportCenter.MachineFilterList |
AgentGuid |
ServiceDeskFilter |
ReportCenter.IncidentsFilterList |
IncidentId |
AssetsFilter |
ReportCenter.AssetsFilterList |
AssetId |
DevicesFilter |
ReportCenter.DevicesFilterList |
DeviceId |
MobileDevicesFilter |
ReportCenter.MobileDevicesFilterList |
DeviceId |
TicketingFilter |
ReportCenter.TicketingFilterList |
TicketId |
Ihre Abfrage sollte sowohl eine JOIN-Verknüpfung zu einer der Tabellenspalten oben als auch eine WHERE-Anweisung unter Verwendung des Wohlbekannte Parameter @ReportSessionId
beinhalten. Hierdurch wird sichergestellt, dass Sie die Daten für die aktuelle Ausführung des Berichts erhalten.
Beispiel
In den folgenden Beispielen wird der Kontext 'MachineFilter' verwendet.
SELECT COUNT(u.agentGuid) AS agentCount
FROM dbo.users u
INNER JOIN ReportCenter.MachineFilterList mfl ON mfl.AgentGuid = u.agentGuid
WHERE mfl.ReportSessionId = @ReportSessionid AND u.firstCheckin IS NOT NULL
So geben Sie ihn in das Dialogfeld zum Bearbeiten von Namenswert-Teilen ein: