RowNumber pour le groupe dans SSRS 2005
J'ai une table dans un rapport SSRS qui est de l'affichage de seulement un groupe, pas sur la table de détails. Je veux trouver le numéro de ligne pour les articles qui sont affichés afin que je puisse utiliser de la couleur des bandes. J'ai essayé d'utiliser "Rowcount(Rien)", mais au lieu de cela je obtenir le numéro de ligne de la table de détail.
Mes données sous-jacente est quelque chose comme
ROwId Team Fan
1 Yankees John
2 Yankees Russ
3 Red Socks Mark
4 Red Socks Mary
...
8 Orioles Elliot
...
29 Dodgers Jim
...
43 Giants Harry
Mon tableau affichant uniquement les groupes de ressemble à ceci:
ROwId Team
2 Yankees
3 Red Socks
8 Orioles
29 Dodgers
43 Giants
Je veux qu'il ressemble à
ROwId Team
1 Yankees
2 Red Socks
3 Orioles
4 Dodgers
5 Giants
source d'informationauteur FistOfFury
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire avec un RunningValue expression, quelque chose comme:
DataSet1
étant le nom du dataset sous-jacent.D'examiner les données:
La création d'un rapport simple et en comparant les
RowNumber
etRunningValue
approches montre queRunningValue
donne vos résultats requis:Vous pouvez facilement réaliser cela avec un peu de vbcode. Aller à Signaler - Propriétés - code et tapez quelque chose comme:
Ensuite sur votre téléphone portable, appeler cette fonction à l'aide de
=Code.writeRow()
Dès que vous commencez à l'aide de groupes à l'intérieur de la tableaux, le RowNumber et RunningGroup fonctions de commencer à obtenir un comportement assez bizarre, il est ainsi plus facile de l'écrire un peu de code pour faire ce que vous voulez.
Je ne suis pas convaincu toutes les suggestions ci-dessus à fournir sont une solution tous. Mon scénario est que j'ai un groupe qui a plusieurs colonnes. Je ne pouvais pas utiliser la solution retenue RunningValue parce que je n'ai pas une seule colonne à utiliser dans la fonction, sauf si je combiner (par exemple, une colonne calculée) à faire seule et unique colonne.
Je ne pouvais pas utiliser le code VBA fonction est pour la même raison, et j'ai dû utiliser la même valeur sur plusieurs colonnes et plusieurs propriétés de cette affaire, à moins que j'utilise un autre type de smarts où, si je savais le nombre d'utilisations (dire colonnes N * M propriétés), alors je ne pouvais que mettre à jour le RowNumber sur tous les NxM appels cependant, je ne pouvais pas voir n'importe quel nombre de colonnes de la fonction, donc si j'ai ajouté une colonne j'aurais aussi besoin d'augmenter mon N constante. Je ne voulais pas ajouter une nouvelle colonne comme également proposé à mon groupe que je ne pouvais pas comprendre comment le cacher et je ne pouvais pas écrire vba un système où je pourrais appeler Une fonction qui ne retourne rien, mais les mises à jour de la valeur (appelée qu'une seule fois par ligne de groupe) puis d'appeler une autre fonction GetRowNumber qui renvoie simplement la rownumber variable en raison de la coloration a été fait avant l'appel, donc j'ai toujours eu une colonne de synchronisation pour le reste.
Mon seul 2 autres solutions, je pense mettre le combiné colonne comme mentionné plus tôt dans la requête elle-même ou utiliser DENSE_RANK et le tri sur toutes les colonnes de groupe, c'est à dire