web-dev-qa-db-fra.com

Format SSRS à afficher en pourcentage

J'ai parcouru pas mal d'exemples ici et je m'excuse si je pose une question répétée, autant que je sache, je ne le suis pas.

J'ai fait un rapport SSRS qui montre les ventes brutes pour certains aspects de nos services commerciaux. Ils sont ventilés, en ligne, par "coût, bénéfice brut, profit brut%, nombre de commandes, ventes totales". Les colonnes sont les aspects de nos ventes. Ventes Web, ventes par téléphone, etc ....

Dans le tableau matriciel, je peux formater une zone de texte pour afficher les résultats sous forme de nombres, mais comme vous pouvez le voir, j'ai également le pourcentage et le décompte. Je ne sais pas comment formater ceux-ci dans le contexte du format de zone de texte d'origine. Je sais donc que j'ai déjà tout ce qui est affiché sous la forme d'un nombre, mais comment gérer le pourcentage à afficher sous forme de pourcentage et le nombre à afficher sous forme de nombre?

Par exemple, tous les pourcentages s'affichent actuellement sous la forme "0,35 $" et divers autres nombres qui suivent ce formulaire. Le décompte apparaît actuellement également comme devise.

J'ai utilisé un exemple que j'ai trouvé ici, "= Iif (Me.Value = Floor (Me.Value)," 0% "," 0.00% ")," mais tout ce qui a été fait tout ce qui est apparu dans ce colonne, "0,00%" Je suis relativement nouveau sur SSRS et je bourre régulièrement depuis deux semaines, mais je ne trouve tout simplement pas d'aide à ce sujet. Merci d'avance pour tout ce que vous pouvez offrir.

Mise à jour: =IIF(Fields!LVS_Web.Value=0.00, "0%", format(Fields!LVS_Web.Value, "P"))

Cela a fonctionné ... dans une certaine mesure, mais maintenant tout est pour cent ... en pensant à ELSE ici, mais je ne sais pas comment ELSE entre, je n'ai pas vu le mot ELSE.

Mise à jour 2: Ce que j'ai remarqué, c'est que dans la déclaration, où il est dit "= 0,00," 0% "", cela ne s'applique même pas vraiment. Je viens de mettre cela là parce que je suis nouveau dans ce domaine et j'avais juste besoin d'un argument. J'ai pris le 0% et l'ai changé en N à la condition que le nombre soit <.99, en espérant que j'attraperais juste toutes les décimales qui sont tombées en dessous de la valeur de 1. Comme, "$ .23", qui est devenu plus tard 23.45 %, donc je pourrais le faire, mais ce que je ne comprends pas, c'est qu'il a fait tout le reste, "N", au lieu d'un nombre. Pourquoi donc? Ça ne fait pas tout le reste, "P?"

Je perds la tête.

Il y a aussi le fait que ce sont des informations extraites d'une procédure stockée, je n'en sais pas encore grand-chose, je reçois très souvent des tâches simples comme un tabouret pour apprendre. Je ne sais pas vraiment quelle était la requête, mais je ne pouvais pas la modifier si je le voulais. Cela peut être fait avec une mise en forme d'expression mais mon expression est trop large, mais j'obtiens des résultats mitigés en utilisant Supérieur ou Inférieur à, et ce n'est probablement pas la chose la plus sage à utiliser car ces chiffres ne sont pas figés. Ma journée est presque terminée, j'ai fait très peu de progrès, mais j'ai eu un bon déjeuner. Donc succès.

J'ai donc fourni ma propre réponse à ce problème, et cela fonctionne. Merci moi Merci à tous ceux qui ont essayé de m'aider et qui l'ont aussi aidé. J'apprécie l'effort que les étrangers déploieront les uns pour les autres.

J'ai eu un nouveau problème à développer, j'ai besoin d'afficher une heure par rapport aux données extraites. Je peux y mettre MAINTENANT et obtenir la date d'aujourd'hui, mais si quelqu'un extrait des informations de FEB, il se peut qu'il soit un peu décalé par la date actuelle. Je vais probablement comprendre cela bientôt, mais si quelqu'un peut aider entre-temps, je l'apprécierais.

7
Hinarf
=iif(Fields!Metric.Value = "Gross Profit %",
 Format(Fields!LVS_Web.Value,"P"),
 iif(Fields!Metric.Value = "Order Count",
 Format(Fields!LVS_Web.Value,"G4"),
  Format(Fields!LVS_Web.Value,"C")))

C'est ce qui m'a sauvé et a fait ce que je voulais. Il y a une autre erreur, mais c'est la faute de mon patron, alors maintenant je me moque de lui. Merci tout le monde.

3
Hinarf

Un principe standard consiste à séparer les données de l'affichage. Utilisez donc la propriété Value pour stocker les données dans son type de données natif et utilisez la propriété Format pour l'afficher comme vous le souhaitez. Donc, plutôt que d'utiliser une expression formatant la propriété Value telle que =Format(Fields.SomeField.Value, "0.00%") laissez Value comme =Fields!SomeField.Value et définissez la propriété Format sur P2.

Ceci est particulièrement important lors de l'exportation de votre rapport vers Excel car si vous avez le bon type de données pour vos données, il sera exporté vers Excel comme le bon type de données. Si vous utilisez la fonction Format, elle sera exportée sous forme de texte, ce qui empêchera le tri et la formule de fonctionner correctement.

La chose la plus simple à faire pour contrôler la mise en forme est d'utiliser les formats numériques standard . Cliquez sur la cellule ou la plage de cellules que vous souhaitez avoir un certain format et définissez la propriété Format. Il s'agit d'une lettre de spécification de format suivie d'un chiffre facultatif pour la précision (nombre de décimales). Voici quelques exemples utiles:

C Devise avec 2 décimales (par défaut)

N4 Nombre avec 4 décimales

P0 Pourcentage sans décimales

Cliquez sur le lien ci-dessus pour la liste complète. Formatez les cellules numériques sous forme de nombres et les pourcentages en pourcentage - vous n'avez pas besoin d'essayer de faire en sorte qu'une chaîne de formatage corresponde à chaque cellule.

Ces formats numériques standard respectent également les paramètres régionaux. Vous devez définir la propriété Language de votre rapport sur =User!Language pour utiliser les paramètres régionaux de l'utilisateur plutôt que ceux du serveur de rapports.

17
Chris Latta

Si le nombre est déjà * 100, par exemple. 9.5 devrait être affiché comme 9.5%, puis utilisez le format:

0.00\%

9,5 -> 9,5%

0,34 -> 0,34%

De cette façon, vous pouvez utiliser la mise en forme standard des nombres et ajouter simplement le% à la fin. Le\échappe au%, empêchant le * 100 dans le formatage (ce qui ferait que 9.5 affiche 950%.).

5
Donald Webb

La source:

https://technet.Microsoft.com/en-us/library/bb630415 (v = sql.100) .aspx

C'est simple à utiliser,

Pourcentage de (la somme des totaux des éléments de campagne pour la portée actuelle)/(la somme des totaux des éléments de campagne pour l'ensemble de données). Cette valeur est formatée à l'aide de FormatPercent en spécifiant une décimale.

="Percentage contributing to all sales: " & FormatPercent(Sum(Field!LineTotal.Value)/Sum(Field!LineTotal.Value,"Sales"),1)
0
RAP