2010-09-22 4 views
2

J'ai un rapport SSRS avec quelques listes déroulantes enchaînées. Fondamentalement, un élément est sélectionné dans la liste déroulante 1 qui remplit ensuite la liste déroulante 2 et ainsi de suite. Le problème que j'ai est que dans la liste déroulante 3, qui est une valeur multi-remplie à partir d'une requête, je veux ne permettre aucune sélection.SSRS Multi-Value Blank

Problème n ° 1
Bien que le paramètre de rapport est configuré pour permettre des blancs, il ne me laisse pas désélectionner toutes les valeurs. Je reçois une erreur requise.

Problème # 2
Dans ma procédure stockée J'ai le paramètre en question étant filtré par une déclaration IN, qui ne fonctionnera pas si un blanc est à venir bien que je veux le blanc pour sauter ce filtre.

Problème n ° 3
La liste déroulante # 3 ne peut avoir aucune valeur une fois que les 2 autres sont sélectionnés.

Je sens que j'utilise incorrectement la valeur multiple causant les 3 problèmes. Toute aide est appréciée.

Répondre

2

Problème # 1

Pouvez-vous ajouter quelque chose comme ça à la fin de votre requête qui renseigne le menu déroulant?

Union 
Select Null as (value field name), 'None' as (label field name) 

Problème # 2

Avez-vous passer dans une valeur vide? Pouvez-vous faire quelque chose comme ceci:

WHERE (@Param is null OR t.id in @Param) 

ou même

WHERE (@Param ='' OR t.id in @Param) 

Si vous voulez le garder comme une chaîne?

Problème # 3

Faut-il pris en charge si vous pouvez faire mes suggestions pour 1 et 2.

1

Avec l'aimable autorisation de Naz à ANSA sur les forums Microsoft ...

J'ai réussi à créer une solution beaucoup plus simple, après de nombreuses tentatives. ensemble de données de paramètres @Action est maintenant:

SELECT ACTIONID, ACTIONDESCRIPTION, DATAAREAID DE MXMSERVACTION OU (DATAAREAID IN (@CompanyID)) UNION SELECT '' AS ACTIONID, '(blanc)' AS ACTIONDESCRIPTION, @ CompanyID ORDRE cOMME pAR DATAAREAID ACTIONID

Ce retour d'une valeur « vierge », ainsi que tous les codes d'action disponibles, dans le menu déroulant des paramètres lors de l'exécution du rapport .Je puis référencé le jeu de données de paramètre dans l'ensemble de données principal comme normal:

OÙ (EN MXMSERVCALL.ACTIONID (@Action))

Job fait!

+0

Side Note: Si vous voulez VS2005 pour sélectionner la valeur que par défaut, vous ne pouvez pas utiliser une « valeur par défaut » et faire « » non-interrogé. Au lieu de cela, vous devez créer un jeu de données simple contenant la requête de texte: "sélectionnez" comme valeur ". Vous utilisez ensuite une requête From "Valeur par défaut" et choisissez cet ensemble de données. – Heliac