Sql Server Reporting Services doit déclarer la variable scalaire @param

J'ai un projet de services de reporting Sql Server. J'ai une requête de dataset appelée Total où je sélectionne certaines données basées sur un paramètre:

select ... from ... group by ... having prop_id = @PropID 

Maintenant, pour remplir une list de plusieurs valeurs pour ce paramètre, j'ai une requête de jeu de données appelée AllProps qui sélectionne tous les prop_id possibles:

 select prop_id from proposal order by prop_id 

Maintenant, dans le volet de données du rapport, je sélectionne les propriétés du paramètre à partir de @PropID et remplis les formulaires comme suit:

 Under General I have, Name: PropID Data type: Text (I select "Allow multiple values") Under Available values I have, Get values from a query Dataset: AllProps Value Fields: prop_id label field: prop_id Under Default Values I have, Get values from a query Dataset: AllProps Valuefield: prop_id 

Lorsque je clique sur l'onglet d'aperçu pour voir mon rapport, j'obtiens l'erreur suivante:

Une erreur s'est produite lors du traitement du rapport local. Une erreur s'est produite lors du traitement du rapport. L'exécution de la requête a échoué pour l'set de données "Total".

DOIT DÉCLARER LA VARIABLE SCALAIRE '@PropID'.

Où est-ce que je me suis trompé? Quelle est la variable scalaire dans SSRS et comment est-elle correctement utilisée?

Merci

La requête que vous avez écrite doit être corrigée. Puisque vous avez sélectionné plusieurs valeurs, vous devez utiliser in clause.

 Select col1,col2.... from TableName where prop_id in (@PropID) 

Dans la procédure stockée, vous pouvez passer directement le paramètre et split les valeurs à l'aide d'une fonction dans la procédure stockée.

Si le paramètre est directement transmis à une requête SQL à la place de la procédure stockée, concaténez les valeurs des parameters à l'aide d'une jointure et passez à l'set de données. Entrez la description de l'image ici