2012-08-06 2 views
4

J'utilise une expression pour afficher la devise, selon que la valeur est exprimée en millions ou en milliers. Cette expression est définie dans la propriété Format de mon rapport:Numéros ne conservant pas le format lors de l'exportation de SSRS 2008 R2 vers Excel 2010

=iif((Fields!PrevActual.Value < 100000), "'$'#,,0,'K';('$'#,0,'K')", "'$'0,,.0,'M';('$'0,,.0,'M')'") 

De cette façon, si la valeur est 1.500.000 le nombre affiche comme 1,5M $ et si elle est 15 000, il affiche comme 15k $.

Le problème est lorsque j'exporte le fichier vers Excel. Les chiffres dans les milliers conservent le formatage, mais les chiffres dans les millions le perdent. J'ai donc une feuille de calcul avec des chiffres comme 1 500 000 et 15 000 $. Tous les numéros exportent sous forme de texte.

Est-ce que quelqu'un connaît un moyen de conserver la mise en forme dans Excel pour qu'il corresponde à la manière dont il est affiché dans le rapport SSRS tout en s'assurant qu'il s'agit toujours d'un nombre? Essentiellement, je veux imiter ce qu'excel faisait avant d'automatiser ce rapport avec SSRS. Les nombres dans les millions étaient dans ce format de nombre fait sur commande: $ #. 0 ,, \ M et des milliers étaient dans celui-ci: $ #, K.

Merci!

Répondre

0

Si vous exportez la formule Excel, cela peut fonctionner. c'est-à-dire exporter = "text (1500000," "" '0'. 0, 'M'; ('$' 0 ,,. 0, 'M') "") "

Excel sera alors convertir la formule à la valeur formatée finale 15M $

la partie délicate rend la chaîne de format valide dans Excel, et la création d'une formule de SSRS qui concaténer des chaînes et de générer une formule Excel

Cela peut aider.: http://msdn.microsoft.com/en-us/library/ms159220%28SQL.90%29.aspx

Questions connexes