Como criar um parâmetro de seleção múltipla com um identificador exclusivo?

Estou desenvolvendo um arquivo RDL do SSRS 2008 R2. Agora, estou tentando adicionar um parâmetro de relatório que deve ser uma seleção múltipla. Anteriormente, trabalhei com parâmetros de seleção múltipla, mas eles sempre foram tipos de dados CHARACTER antes. Então, no meu conjunto de dados principal, meu código era:

;WITH Cte AS 
( 
    SELECT 
        1 as id, 
        CAST('<M>' + REPLACE( (select @IncidentType),  ',' , '</M><M>') + '</M>' AS XML) AS Names 
) 
SELECT 
    id, 
    Split.a.value('.', 'VARCHAR(MAX)') AS Names
INTO #incident_types     
FROM Cte 
CROSS APPLY Names.nodes('/M') Split(a)

(E no meu arquivo RDL, esse parâmetro de relatório IncidentType permite multiselecionar)

Mas agora, IncidentType é um tipo de dados UNIQUEIDENTIFIER. Eu tentei a função SSRS JOIN, mas isso ainda está me dando o mesmo erro no SSRS quando eu executo isso:

An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for dataset 'Incidents'. (rsErrorExecutingCommand)
Conversion failed when converting from a character string to uniqueidentifier. 

Como faço para codificar isso passando vários uniqueidentifiers?

Eu tentei a solução abaixo que você postou:

CAST(Split.a.value('.', 'VARCHAR(MAX)') AS UNIQUEIDENTIFIER) AS Names

Mas isso me deu esse erro agora:

Msg 8169, Level 16, State 2, Line 62
Conversion failed when converting from a character string to uniqueidentifier.

No topo do meu sproc eu tenho:

declare
    @FacilityID varchar(MAX) = null,
    @ProgramID uniqueidentifier = null,
    @ServiceDateStart smalldatetime = null,
    @ServiceDateEnd smalldatetime = null,
    @IncidentType varchar(MAX) = null

SET @IncidentType = '864EA130-F36B-4958-B51F-EE9DBD35D804,671A8EB3-8298-40DB-BD66-93309904E463,ACA1EB55-3D66-467B-8388-CC42FCFB00F3
SET @FacilityID = '83B465B8-28DD-4F37-9F2D-A4D5E38EE7FB,3EC657F7-655F-43FB-8424-2A8914E7C725,B2064474-5C9B-4884-B1D7-4FCE1C804DF7'

Mas a linha que causa esse erro é:

   AND (@IncidentType is NULL OR event_definition_rv.event_definition_id in (SELECT Names FROM #incident_types))

porque eu posso rodar essas linhas sem erros:

select * from #incident_types
select * from #facilities

questionAnswers(2)

yourAnswerToTheQuestion