2010-11-11 4 views
0

J'ai un diagramme à barres dans le Générateur de rapports version 2.0 qui contient beaucoup de valeurs le long de l'axe des y. Je voudrais diviser le graphique pour montrer deux secteurs de diagramme, ou même avoir deux diagrammes séparés, chacun avec seulement la moitié des valeurs sur l'axe des ordonnées. Donc, le graphique 1 aurait les valeurs de l'axe des ordonnées A, B, C et D, alors que le graphique 2 aurait E, F, G et H. Je pensais que je pouvais avoir un filtre sur le graphique pour qu'il ne montre que des lignes ColumnValue < E (pour le graphique 1) et ColumnValue> = E (pour le graphique 2). Comment puis-je écrire un tel filtre, cependant? Il faudra probablement faire Round(Count(ColumnValue)/2) pour obtenir l'index de la valeur du milieu, mais alors comment puis-je réellement obtenir ce que cette valeur est (par exemple, E) pour la comparaison?Division du diagramme Générateur de rapports en deux zones de diagramme pour répartir les données

Ou peut-être y a-t-il un moyen intégré de simuler un graphique en le divisant en deux diagrammes distincts pour briser un axe long. Je ne sais pas. Suggestions?

Répondre

0

Essayez d'utiliser deux graphiques du même jeu de données source, avec un filtre sur le premier graphique comme ce qui suit:

RunningValue(Fields!GroupFieldName.Value,CountDistinct) <= CountDistinct(Fields!GroupFieldName.Value)/2

- et une formule similaire sur la en second lieu, avec <= remplacé par >.

+0

Je l'ai défini en tant que filtre sur le graphique, mais ne peut pas enregistrer le rapport en raison de cette erreur: "Une valeur FilterValue pour le graphique 'Chart2' utilise la fonction d'agrégat RunningValue.ValeurValeur ne peut pas être utilisée dans les filtres. –

+0

Je n'avais pas essayé de l'exécuter dans le concepteur de rapport BIDS - qui permet de saisir ces conditions et de les enregistrer comme filtres par rapport aux graphiques, mais renvoie des erreurs lors de * l'exécution de rapports avec des fonctions globales ou cumulées! En supposant que vous utilisez une source de données SQL avec des fonctions analytiques de fenêtrage, telles qu'Oracle ou SQLServer, je suggère d'ajouter des colonnes à la requête pour contenir les totaux courant et total du nombre distinct de groupes, puis de filtrer sur 'Fields! '* RunningTotal *' .Value <= Fields! '* GrandTotal *' .Value)/2'. –