Você pode usar contextos de relatório para aplica filtros para os seus conjuntos de dados quando uma definição de relatório é executada ou quando um componente de relatório ou modelo de relatório é visualizado. Cada contexto fornece um filtro diferente. Um filtro preenche uma tabela temporária com uma lista de itens que você pode ASSOCIAR, o que, então, limita o que a sua consulta retorna.
A seguinte tabela lista contextos de relatórios disponíveis, a tabela temporária utilizada por cada contexto, e a coluna a qual se ASSOCIAR.
Nome |
TableName |
Coluna |
MachineFilter |
ReportCenter.MachineFilterList |
AgentGuid |
ServiceDeskFilter |
ReportCenter.IncidentsFilterList |
IncidentId |
AssetsFilter |
ReportCenter.AssetsFilterList |
AssetId |
DevicesFilter |
ReportCenter.DevicesFilterList |
DeviceId |
MobileDevicesFilter |
ReportCenter.MobileDevicesFilterList |
DeviceId |
TicketingFilter |
ReportCenter.TicketingFilterList |
TicketId |
Sua consulta deve se ASSOCIAR a uma das colunas da tabela acima e incluir uma instrução WHERE utilizando parâmetros bem conhecidos, como o parâmetro @ReportSessionId
. Isso assegura que você obtenha os dados da execução atual do relatório.
Exemplo
O seguinte exemplo utiliza o contexto MachineFilter.
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
Aqui está como você o insere no diálogo de edição do componente nome/valor.