Existe-t-il un moyen simple de réorganiser les colonnes de tablix en mode de conception SSRS?

J’ai un rapport SSRS qui contient plus de 20 colonnes dans un tablix. Nos utilisateurs ont décidé que les données sont correctes, mais ils veulent que les colonnes soient déplacées ( soupir! ).

Il semble qu’il soit facile de réorganiser les colonnes (déplacez la colonne 3 vers la colonne 1, échangez les colonnes 4 et 5, etc.). Mais, le glisser-déposer ne semble pas fonctionner et la seule solution semble être la suppression de la colonne d’origine et sa réinsertion au bon endroit (et la réapplication des expressions et des formats déjà créés pour la colonne).

Y a-t-il un moyen plus facile de le faire? Veuillez noter que je ne veux pas de solution programmatique, mais juste besoin de la changer une fois en mode conception.

Il y a un moyen de le faire à travers le concepteur.

Pour déplacer des colonnes, insérez le nombre de colonnes vides que vous souhaitez déplacer dans votre emplacement de destination. Ensuite, faites un clic gauche sur les cellules (PAS la colonne d’en-tête) que vous souhaitez déplacer. Vous devez maintenant pouvoir cliquer avec le bouton droit de la souris et sélectionner la commande Couper. Maintenant, cliquez avec le bouton droit sur les colonnes de destination et sélectionnez Coller. Enfin, supprimez les anciennes colonnes maintenant vides.

Si vous pouvez lire le XML (il suffit de comprendre où les balises commencent et / ou finissent, etc.), vous pouvez facilement accomplir la tâche. Vous pouvez suivre les étapes suivantes:

  1. Sauvegardez d’abord le rapport d’origine en le copiant dans un autre fichier.
  2. Clic droit sur votre rapport dans l’Explorateur de solutions et sélectionnez “Afficher le code”
  3. Cela ouvre le RDL du rapport — ne soyez pas effrayé, c’est juste un simple fichier xml
  4. Maintenant, recherchez dans le fichier RDL la balise “Tablix1” – recherchez ....
  5. Vous devez maintenant rechercher des balises ” ... nestedes dans les balises ....
  6. Maintenant, vous pouvez facilement réorganiser les colonnes du rapport en réorganisant simplement l’ordre de ces ... et vous obtiendrez le nouveau rapport avec un nouvel ordre de colonnes.

En fait, vous devez déplacer (couper-coller) l’élément de la colonne (tout ce qui se trouve entre les et y compris les et ).

Par exemple, pour réorganiser les colonnes dans l’exemple ci-dessous afin de placer la colonne “Product ID” avant la colonne “Product Name”, vous devez sélectionner et couper toute la section autour de l’élément de cellule “ProductName” (tout du premier au premier ) puis collez-le après le pour la colonne “ProductID”.
Notez qu’il existe un ensemble complet d’éléments pour chaque ligne définie dans le tableau. chacun se trouve dans un élément . Si vous avez laissé la colonne d’en-tête par défaut (où les noms de colonne sont définis), le premier définit cette ligne d’en-tête et le second définit les données dans les colonnes et c’est celle que vous souhaitez modifier. Une fois que vous avez réorganisé les colonnes de données, vous devrez soit faire la même chose pour la colonne d’en-tête (si vous en avez) ou simplement renommer les colonnes en utilisant le concepteur pour faire correspondre les données maintenant dans les colonnes.

En réalité, cela est tellement compliqué qu’il est probablement plus facile de déplacer une colonne en utilisant simplement le concepteur pour insérer une nouvelle colonne dans laquelle vous voulez déplacer la colonne, la définir avec la source de données appropriée pour cette colonne, puis supprimer la colonne d’origine . Pour l’exemple ci-dessous, vous insérez une nouvelle colonne après l’ ID de produit , définissez-la sur la colonne de la source de données ProductName (qui le définirait “Nom du produit” dans la ligne d’en-tête), puis supprimez la colonne Nom du produit d’ origine sur la gauche.

 ...    true true     =Fields!ProductName.Value       ProductName   2pt 2pt 2pt 2pt        true true     =Fields!ProductID.Value       ProductID   2pt 2pt 2pt 2pt     ... 

Après le couper / coller, vous obtiendrez alors:

 ...    true true     =Fields!ProductID.Value       ProductID   2pt 2pt 2pt 2pt        true true     =Fields!ProductName.Value       ProductName   2pt 2pt 2pt 2pt     ... 

Une autre note sur le travail en RDL:
Si vous vous trompez, le rapport affichera un message d’erreur et les données ne seront pas affichées.

À moins que vous ne connaissiez le langage RDL (Report Definition Language, un type de XML), ces types d’erreur peuvent être très frustrants à gérer, rendant parfois le rapport inutilisable.

Il est beaucoup plus sûr d’utiliser les nouvelles colonnes et de supprimer les anciennes méthodes du concepteur mentionnées ci-dessus. Cela vous évite d’avoir à réduire le risque de détérioration du rapport.