SSRS code variable de réinitialisation sur la nouvelle page
Dans SSRS 2008 je suis en train d'essayer de maintenir une SOMME de Sommes d'un groupe à l'aide de Code personnalisé. La raison en est que j'ai un tableau de données, regroupées et en retournant la Somme des données. J'ai un filtre sur le groupe à supprimer les lignes où les sommes sont égales à zéro. Tout fonctionne sauf que je suis en cours d'exécution dans des problèmes avec les totaux du groupe -, il devrait être en additionnant le visible totaux du groupe, mais est plutôt en additionnant l'ensemble du jeu de données. Il y a des tonnes d'articles sur la façon de contourner ce, généralement à l'aide d'un code personnalisé. J'ai fait des fonctions personnalisées et variables pour maintenir un compteur:
Public Dim GroupMedTotal as Integer
Public Dim GrandMedTotal as Integer
Public Function CalcMedTotal(ThisValue as Integer) as Integer
GroupMedTotal = GroupMedTotal + ThisValue
GrandMedTotal = GrandMedTotal + ThisValue
Return ThisValue
End Function
Public Function ReturnMedSubtotal() as Integer
Dim ThisValue as Integer = GroupMedTotal
GroupMedTotal = 0
Return ThisValue
End Function
Fondamentalement CalcMedTotal est alimenté une SOMME d'un groupe, et maintient un total de cette somme. Puis, dans le groupe, total de la ligne I de sortie ReturnMedSubtotal qui est censé me donner le total cumulé et de le remettre pour le prochain groupe. Cela fonctionne très bien, SAUF que - c'est la réinitialisation de la GroupMedTotal valeur sur chaque saut de page. Je n'ai pas de sauts de page défini explicitement, c'est juste la pause, dans le SSRS spectateur. Et si je l'exportation des résultats vers Excel tout fonctionne et semble correctement.
Si je de Code de sortie.GroupMedTotal sur chaque ligne de groupe, je vois que ça compte correctement, et puis si un groupe s'étend sur plusieurs pages à la page suivante GroupMedTotal est remise à zéro et recommence à compter à partir de zéro à nouveau.
Toute aide à ce qui se passe ou comment contourner ce problème? Merci!
OriginalL'auteur Peter Tirrell | 2010-05-06
Vous devez vous connecter pour publier un commentaire.
Enfin trouvé la solution moi-même. Ici, il est, à ajouter aux déclarations de variables:
Cette réponse n'est pas correcte. Essayez d'exécuter le rapport, puis exporter au format PDF. Vous verrez que GrandMedTotal est en fait doublé.
Ce qui est faux. Variable partagée va augmenter à chaque appel.
J'essaie de tourner entre les pages plusieurs fois, et la valeur de la variable Partagée doubles à chaque fois.
OriginalL'auteur John Strickler
Juste en changeant les variables partagées ne fonctionne pas. Si vous les définissez partagés, ils vont être DOUBLÉ lorsque vous exportez au format PDF /XLS /etc (parce qu'il a juste continué à ajouter à l'existant var). Vous devez faire quelque chose comme ceci:
Quand et comment appelez-vous Initialiser() ??
J'ai appelé initialiser dans le GetGrandTotal() de la fonction, qu'il a fait pour moi
OriginalL'auteur ScottRFrost
Je ne sais pas où vous utilisez ce. mais dans votre cas, si j'étais vous, je viens d'utiliser expression simple pour vérifier la visibilité de la SOMME
par exemple j'utilise
Right Click On Sum Box \ Select Expression \ then use IIF(SUM <> 0, sum. "")
Il a travaillé sur tous les où et ne réinitialisation, dans votre cas, vous avez une Région et votre code sera remis à zéro dans chaque région afin de vous willface avec serios isses si vous ne changez pas votre façon.
OriginalL'auteur Nasser Hadjloo