Créer Somme des lignes calculées dans Microsoft Reporting Services
Cela semble comme il devrait être simple mais je ne trouve rien pour le moment. Dans la Déclaration de Services que j'ai une table avec un maximum de 6 lignes qui ont toutes des valeurs calculées et dynamique de la visibilité. Je voudrais somme de ces lignes. Fondamentalement, j'ai un certain nombre de postes de factures et vous souhaitez faire une total. Je ne peux pas changer quoi que ce soit sur la DB côté depuis mon procédures stockées sont utilisées ailleurs dans le système. Chaque ligne extrait les données d'un dataset différent, donc je ne peux pas faire une somme de l'ensemble de données. Puis-je la somme de toutes les lignes avec un pied de tableau? De la même façon à totalisant un nombre de lignes dans Excel? Il semble très redondant de mettre mon visibilité de l'expression de chaque ligne dans ma ligne de pied de page de calculer la somme.
OriginalL'auteur kd7iwp | 2009-03-11
Vous devez vous connecter pour publier un commentaire.
Quelques façons que vous pourriez réaliser ceci:
1. Faire le calcul dans SQL en somme ce domaine, comme suit:
Alors utilisez simplement la TotalAmount champ dans votre ligne de Détail et de la somme dans le pied de page.
2. Créer un deuxième ensemble de données qui calcule le total pour vous et utilisez-la dans votre pied de page au lieu d'une somme:
3. Le faire en utilisant un code personnalisé. Cliquez-droit sur l'espace de Mise en page, choisissez Propriétés et cliquez sur l'onglet Code. Mettre dans le code suivant:
Sur la bande de Détail, de rendre la colonne où vous somme le champ de cette expression:
Exécute le code ci-dessus et faites votre calcul plus calculer la somme totale dans le processus.
Le Pied de page de groupe affiche le total de la somme afin que la colonne a pour expression:
Et vous avez terminé. Juste être prudent, car vous n'êtes pas garanti l'ordre dans lequel votre code s'exécute et pour certains rapports, elle va exécuter le pied de page (par exemple, si vous utilisez la Somme des lignes dans la bande de Détail) qui permettrait de faire le total de zéro, comme la bande de Détail des calculs n'avez pas encore arrivé, mais pour le cas général, cela devrait fonctionner.
OriginalL'auteur Chris Latta
Vous pourriez modifier la db comme suit.
Saviez-vous que vous pouvez obtenir des résultats agrégés dans SQL sans agrégeant les données?
Juste ajouter une colonne supplémentaire pour le jeu de données comme suit:
,SOMME(OrderQty) OVER(PARTITION BY SalesOrderID) COMME "Total"
Dans l'exemple ci-dessus:
OrderQty est la valeur que vous souhaitez somme
SalerOrderID est l'équivalent de 'GROUP BY'
Vous pouvez utiliser la même technique avec COUNT, AVG, et ainsi de suite
Plus d'informations ici
http://msdn.microsoft.com/en-us/library/ms189461(SQL.90).aspx
OriginalL'auteur adolf garlic
Dans le cas où vous avez un problème avec l'exécution de la commande, ajoutez une zone de texte ci-dessous de la table et afficher TotalAmount dans cette zone.
OriginalL'auteur Oguz