2009-10-14 6 views
2

I ont SSRS solution pour SQL 2005 et 2008.graphiques SSRS- couleur de codage

Je montre la sortie sous forme de graphique à colonnes chart- chaque colonne représentant base de données.

Existe-t-il un moyen d'afficher chaque colonne de couleur différente?

Cordialement

Manjot

Répondre

2

Vous pouvez utiliser une formule pour définir la couleur de chaque colonne, mais qui fonctionnerait mieux si vous saviez ce que les valeurs de séries individuelles (« bases de données »?) Allaient être .

Cliquez avec le bouton droit de la souris sur votre graphique et affichez ses propriétés. Passez maintenant à l'onglet Données et sélectionnez le premier élément dans la liste Values. Cliquez sur le bouton Edit... pour afficher les propriétés des valeurs (les colonnes) dans votre graphique. Sur l'onglet Appearance, il y a un bouton Series Style... qui vous amène à un autre dialogue. Dans ce nouveau dialogue Style Properties, passez à l'onglet Fill. C'est là que vous définissez la couleur de chacune de vos colonnes. Cela peut être une formule, alors vous pourriez faire quelque chose comme:

=Switch(
    Fields!Database.Value = "master", "Blue", 
    Fields!Database.Value = "msdb", "Red", 
    "Green") 

Si vous ne connaissez pas à l'avance qui « bases de données » vont être représentés sur le graphique, cette méthode fonctionne pas très bien . Dans ce cas, vous pourriez être en mesure de trouver une formule qui hache le nom de la base de données et trouve une couleur pour correspondre. Cela semble être un défi intéressant, alors ajoutez à votre question si vous avez besoin d'aide pour faire quelque chose comme ça.

Modifier

Je viens de recevoir un travail de hachage à base de couleur système. C'est un morceau de code assez méchant, mais il a réussi à me procurer une couleur unique pour chaque colonne (évaluée par une chaîne de caractères). Peut-être que quelqu'un peut trouver un meilleur algorithme et le poster ici. Voici le mien:

="#" & left(Hex(Fields!Database.GetHashCode()), 6) 

Alors que devient la HashCode pour la chaîne (une valeur numérique) et la convertir en hexadécimal, en prenant ensuite les six premiers caractères et préfixer avec un signe « # ». Cela nous donne une chaîne qui ressemble à une valeur de couleur (par exemple # AB12F0).

+0

Très bien. Je vais essayer ce soir. Merci beaucoup! – Manjot

+0

Je l'ai juste essayé, mais je n'ai pas réussi à le faire fonctionner avec la fonction Switch(). Essayez-le avec des fonctions Iif() imbriquées à la place si vous avez le même problème - cela a bien fonctionné pour moi. –

+0

Si vous contrôlez la structure de la base de données, vous pouvez ajouter un champ de couleur à la table et l'utiliser, ce qui vous permet d'avoir des couleurs cohérentes dans tous les diagrammes. Par exemple, chacun de nos départements reçoit une couleur et cette couleur est utilisée dans tous les graphiques afin que les comparaisons soient faciles à voir sans avoir à continuer à se référer à la légende pour voir quel département est de quelle couleur dans ce tableau. –