Comment faire pour supprimer vide de sous-états dans SSRS 2008
Je suis de la création d'un "maître", rapport de SSRS 2008, qui collabore à d'autres rapports au sujet d'une personne. Parfois, pas tous les autres rapports sont pertinents et en tant que tel ne retournent rien. Je aimerais être en mesure d'exclure ce à partir du rapport maître afin de ne pas laisser une page blanche.
Je suis conscient de la "non-lignes-message", mais une page entière avec tout simplement "Pas applicable à cette personne" est loin d'être la meilleure solution!
Essentiellement, je suis à la recherche d'un moyen pour déterminer si un sous-rapport est "vide" et l'utiliser dans une visibilité expression.
Toute aide est la plus appréciée
OriginalL'auteur Brian | 2009-06-17
Vous devez vous connecter pour publier un commentaire.
OK, j'ai compris maintenant. La réponse est de placer le sous-état dans un rectangle. Puis définir la visibilité du rectangle à quelque chose comme ceci:
Où
[SOMEDATASET]
est un jeu de données peuplée de la même manière que celui du remplissage de la sous-rapport. Ensuite, si le sous-rapport est vide, alors[SOMEDATASET]
sera aussi vide, et plus au point, le champ[SOMEFEILD]
sera égal àNOTHING
.Bada Bing! Un rapport qui n'est pas encombré de papier de gaspiller des pages vides.
Remarque: il y a un mauvais effet secondaire de cette approche, en ce que, SQL server sera d'envoyer les mêmes informations deux fois, une fois pour remplir le sous-état de l'ensemble de données, et de nouveau pour remplir le double jeu de données dans le rapport. Pour moi, c'est acceptable, d'autres peuvent vouloir être conscient de cela.
Après réflexions sur le problème pendant ma pause déjeuner, j'ai décidé de retourner exactement les mêmes données deux fois, c'est jamais une bonne idée. Je vais écrire une procédure stockée qui retourne uniquement le nombre de lignes de la de la de procédures stockées utilisées pour remplir les sous-états. Puis testez pour voir si ces chiffres sont 0 ou non, et de régler la visibilité de la sous-rapports en conséquence.
merci pour l'idée, j'avais besoin de griser une cellule de tableau matriciel rapport si le sous-état ne renvoie rien. Donc j'ai juste mis un sous-état dans un rectangle et de définir la couleur de fond de rectangle gris. Je n'ai même pas eu à utiliser des expressions depuis SSRS par défaut ne retourne rien si un sous-rapport renvoie rien. Le seul problème que j'ai eu lorsque j'ai imprimé mon rapport, il n'a pas montré gris cellule imprimée ou en PDF (mais ne le montrer à l'écran), donc j'ai juste mis Pas de lignes de texte d'un sous-état à l' =CHR(32) et il a fait le tour. Merci pour l'idée!
Cette solution ne fonctionne pas pour moi, car le rapport du premier n'est pas vide. Mon tableau matriciel est à l'aide de la fonction groupe et que seuls certains objets dans le groupe de disposer des données sur les rapports que j'ai besoin de le montrer. Tout semble bon est qu'il y est une page vierge généré pour le groupe de valeurs qui n'ont pas les données de ce rapport. Toutes les idées sur la façon de masquer les sous-lorsque des données est vide pour le groupe sélectionné? J'ai essayé le Groupe option de visibilité, mais encore exportations (PDF) d'une page blanche.
OriginalL'auteur Brian
Cette solution a fonctionné pour moi comme prévu, en éliminant le lien hypertexte vers le subrepot. Dans le menu «Action» dans la section où vous spécifiez le nom de sous-rapport:
Simple et facile solution!
OriginalL'auteur Amazigh.Ca