2010-01-20 4 views
6

J'ai un rapport basé sur une table simple dans SSRS 2008, il y a 10 colonnes et chaque colonne a un paramètre correspondant pour déterminer si la colonne doit être affichée. J'accomplis cela en définissant l'option Column Visibility que vous obtenez lorsque vous faites un clic droit sur l'en-tête de la colonne en mode design. Dans mon cas, je choisis d'afficher ou de masquer en fonction d'une expression à laquelle je mets l'expression à la valeur d'un paramètre qui est un type booléen.SSRS: Masquage conditionnel des colonnes en fonction des valeurs de paramètre - Export CSV ignoré

La fonctionnalité fonctionne comme prévu lors du rendu initial. Toutefois, lorsque je choisis d'exporter le rapport au format CSV, l'expression de visibilité est ignorée ou non évaluée car les colonnes apparaissent quel que soit le paramètre.

La boîte de dialogue de visibilité a trois options, Afficher/Masquer/Afficher ou Masquer en fonction de l'expression - Si je spécifie explicitement l'option Masquer, l'exportation CSV n'inclut pas la colonne comme prévu. est même allé jusqu'à rendre l'expression explicite comme '= Vrai' et encore il a été ignoré.

Comment puis-je obtenir l'option d'exportation pour l'évaluer correctement?

+0

Je suis en train de faire la même chose, et vous ne pouvez pas en 2008 ou au-dessous, mais dans le cas où il est utile, si vous pouvez passer à 2008 R2, vous pouvez utiliser Globals.RenderFormat dans votre visibilité expressions. – Cylindric

Répondre

1

Vous ne pouvez pas masquer ou omettre des colonnes pour l'exportation en utilisant des expressions. En effet, les expressions ne seront évaluées que dans le rapport lui-même, et non dans l'exportation. Une solution de contournement consiste à masquer les colonnes par défaut et à afficher toutes les autres en utilisant l'expression. Mes excuses, cette déclaration ci-dessus n'avait aucun sens. Il semble que ce que vous devrez faire est de faire un paramètre qui montrera quelles colonnes à cacher ou à afficher, puis quand le rapport s'exécutera n'affiche aucune donnée dans ces colonnes. Vous pouvez également modifier la valeur de l'en-tête de colonne en fonction de ces paramètres.

La seule autre option est de créer autant de rapports avec les différentes combinaisons de colonnes que de charger dynamiquement le bon.

+0

J'ai effectivement essayé cette approche, en ajoutant l'expression de changement de visibilité à la colonne elle-même, l'en-tête de colonne et le champ de données. Pas de chance. Il semble que ce n'est pas l'évaluation de l'expression – keithwarren7

+1

qui est correcte, vous devez réellement modifier les données pour être rien et ne pas basculer l'expression de visibilité.Donc, en tant que paramètre, vous décidez quelles colonnes afficher ou masquer, alors l'ensemble de données ne retournera pas de données pour ces colonnes (ou juste une chaîne vide) –

+0

Une solution? Merci! – Pingpong

1

Je crois que cela peut être un bug. J'ai utilisé l'exportation Reporting Services avec des colonnes cachées dépendant d'un paramètre lors de l'exécution. Si j'exécute le rapport avec les colonnes cachées, puis exporte le résultat vers Excel ou PDF ou la plupart des formats d'exportation, les colonnes masquées ne sont PAS exportées. Si j'exporte le rapport dans un fichier CSV, les colonnes masquées sont exportées. Sûrement c'est un bug dans l'export CSV. Logiquement, ils devraient tous se comporter de la même manière.

4

est ici une solution par KarenH dans l'article Hide/Show Items Dependant On Export Format

Fondamentalement, vous pouvez définir le DataElementOutput = NoOutput sur le contrôle que vous voulez cacher.

Cela a fonctionné pour moi de cacher des tables lors de l'exportation au format CSV.

screenshot

Questions connexes