2017-09-24 1 views
0

Je crée un rapport SSRS qui présente les ventes prévues pour les 12 prochains mois, regroupées par ProductID. Alors que les cellules de détail s'affichent correctement, les sommes de groupe pour chaque mois affichent toutes les ventes pour les 12 mois plutôt que le mois correspondant.SSRS Numéro de la somme totale groupée

Par exemple, voici toutes les valeurs de la table pour un seul produit:

ProductID EstimatedDate ProjSales 
123A  Oct 10/2017 100 
123A  Nov 15/2017 100 
123A  Dec 01/2017 100 
123A  Dec 31/2017 100 

Cependant, c'est ce que le rapport montre actuellement ce produit:

Product EstimatedDate Oct 2017 Nov 2017 Dec 2017 
123A Oct 10/2017  100  0   0 
     Nov 15/2017  0   100  0 
     Dec 01/2017  0   0   100 
     Dec 31/2017  0   0   100 
     Total   400  400  400 

Comme on le voit ci-dessus, les cellules détaillées calculent parfaitement car chaque enregistrement dans la section détail affiche une valeur de ventes projetée si l'année/mois correspond, sinon il affiche 0. Malheureusement, la dernière ligne avec les montants «totaux» est incorrecte car les cellules mensuelles montrent le total des ventes prévues pour tous les mois plutôt que juste le mois en question.

Voici mes expressions de rapport pour Décembre 2017:

Détail cellulaire:!
= IIF (Année (Champs EstimatedDate.Value) = 2017 et le mois (champs EstimatedDate.Value) = 12, Champs ProjSales .value, 0)

groupés cellule
= IIF (Année (Fields! EstimatedDate.Value) = 2017 et le mois (champs! EstimatedDate.Value) = 12, SUM (champs! ProjSales.Value), 0)

Toute idée de comment je peux changer l'expression groupée pour récupérer les sa les pour chaque mois?

Répondre

1

Utilisez une matrice. Ajoutez un groupe de colonnes et un groupe par année puis par mois. Ensuite, vous avez simplement ProjSales dans le groupe de lignes de détail et SUM (ProjSales) dans le total du groupe. Il n'est pas nécessaire d'utiliser des expressions pour calculer les valeurs. Les légendes des groupes de colonnes doivent être des expressions afin de sortir le mois et l'année de la colonne EstimateDate. Si vous avez les dates stockées dans un format YYYYMMDD plus conventionnel, alors ce serait plus facile car je ne suis pas sûr que les fonctions DATE reconnaîtront le format que vous montrez ci-dessus.

Si vous avez besoin d'une réponse plus détaillée faites le moi savoir. Je ne peux rien faire de plus pour le moment.

+0

Merci, Alan! Je n'ai jamais utilisé la fonctionnalité Column Grouping auparavant, mais cela semble m'avoir rapproché du rapport final. Juste une question: Le rapport ne montre actuellement que 10 mois puisque deux mois à venir (avril 2018, juin 2018) n'ont pas de ventes projetées. Y a-t-il un moyen de forcer l'affichage de ces mois même s'il n'y a pas de données sous-jacentes? – user3676641

+0

La méthode la plus simple consiste à ajouter des valeurs 'NULL' à votre ensemble de données pour les mois manquants. Dans la plupart des cas, il est préférable d'avoir une table contenant des dates (ou au moins des mois). Vous pouvez ensuite quitter la jointure de cette table pour que chaque mois apparaisse dans l'ensemble de données, mais vous aurez 'NULL' à l'endroit où vous n'avez pas de données à joindre. –