Pages

jeudi 15 mars 2012

Somme conditionnelle

Comment additionner un sous ensemble de valeurs dans un tableau, par exemple, seulement les valeurs négatives ?
=sum(iif(Fields!Score.Value < 0,CDec(Fields!Score.Value),CDec(0)))
Dans mon cas, les valeurs étaient de type décimal et j'ai dû les convertir  (CDec) pour que ça fonctionne.

Source : http://www.tek-tips.com/viewthread.cfm?qid=1072925

vendredi 9 mars 2012

Nombres décimaux : n'afficher que deux décimales

Si SQL Server me renvoie plus de deux décimales, comment n'en afficher que deux ?

Je fais cela au niveau du dataset du rapport :
select cast(Number as decimal (6,2)) from T
Cela me permet de ne pas affecter le séparateur de décimal.

Format date

Pour formater une date :
format(Fields!date.Value,"dd/MM/yyyy")
Source : http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/f94b66ea-5bf0-4259-a857-899690ef87ee

Remettre un numéro de page à zéro en cas de saut de page dans un groupe

Comment faire ?

1. Vérifier qu'une 'textbox' (d'une table par exemple) contient une expression pour un groupe

2. Ajouter le code suivant au rapport :
Shared offset as Integer
Shared currentgroup as Object
Public Function GetGroupPageNumber(group as Object, pagenumber as Integer) as Object
If Not (group = currentgroup)
offset = pagenumber - 1
currentgroup = group
End If
Return pagenumber - offset
End Function
3. Ajouter dans l'en-tête/pied de page, une 'textbox' avec la code suivant :
=Code.GetGroupPageNumber(ReportItem("textbox#").Value,Globals!PageNumber)
 Source : http://blogs.msdn.com/b/chrishays/archive/2006/01/05/resetpagenumberongroup.aspx

Valeur d'une Textbox

Utiliser : 
ReportItems("textbox#").value

Expressions régulières : supprimer du code html

Du code html a été introduit dans la base de données.

Pour le supprimer dans SSRS, utiliser l'expression suivante :
=System.Text.RegularExpressions.Regex.Replace(Fields![Name].Value,"<(.|\n)+?>","")

Nombres décimaux : changer le séparateur

Mes clients voudraient que les nombres décimaux soient affichés avec une virgule et non avec un point :

comme les Textboxes grises, et non comme la Textbox blanche.

Il faut changer la valeur de 'Language' dans les 'Properties' de la 'Textbox' :

par défaut, elle est mise à 'Default'.

Je la change en 'French (Belgium)', mais à chacun de tester selon ses propres configurations.

Résultat :






mercredi 7 mars 2012



Nouveau blog consacré au monde fascinant de SSRS (SQL Server Reporting Services).

Sur la droite, vous pourrez trouver une série de lien.
Ci-dessus, une page sur des livres consacrés à cette matière.