Number format in SSRS - reporting-services

I want to format the number like this:
(note:blank space is displayed as N/A)
14.3453453 is displayed as 14.35
12.1E-02 is displayed as 0.01
0 is displayed as 0.0 0
1 is displayed as 1.0 0
Every number upto 2 decimal places. But when I applied filter ya format expression, there is an error in place of a blank space, I want N/A there instead .

I don't think you will be able to do this using just the Format property. You will probably have to change the textbox's Value expression.
Try something like this.
=IIF(
IsNumeric(Fields!myField.Value),
Format(Fields!myField.Value, "f2"),
"N/A"
)

Related

Percentage SSRS

I have two text boxes in my SSRS report.
The Total Number is simply - =COUNT(Fields!CommunicationId.Value)
The First Call Resolutions = =SUM(Fields!FirstCallResolution.Value)
The FirstCallResolution simply has a 1 for when it is a first call resolution and a 0 when it is not.
What would the expression be to get this to show the % correctly in SSRS?
Thanks
Edit : format code
You can do calculations in your expressions. Try
=(SUM(Fields!FirstCallResolution.Value) / COUNT(Fields!CommunicationId.Value)) * 100
If you looking for a precision and a percentage representation., you can also write the below expression in the text box where you want the result to be displayed.
=(SUM(Fields!FirstCallResolution.Value) / COUNT(Fields!CommunicationId.Value))
You can then do a custom formatting for this text box in the Text-Box properties.
Right click on Text Box --> Text Box Properties --> Number-->Custom, and enter P1 or P2 or P3 and so on for number of decimal places after the decimal point.
You can also use the Round function in your expression. With this function =ROUND(...,1) you'll get one number after the decimal point. If you want two numbers after the decimal point then use 2 instead of 1, and so on.
=Round(((SUM(Fields!FirstCallResolution.Value) / COUNT(Fields!CommunicationId.Value)) * 100),1)
Try =FORMAT((SUM(Fields!FirstCallResolution.Value) / COUNT(Fields!CommunicationId.Value)),"P")

how do I change a lookup value to whole a number in ssrs?

How do I format a number with 2 decimal places to a whole number?
I used the Lookup function to get a result, but formatting decimal to whole number does not work for this value. I did Text box properties -> number -> whole number doesn't work for one of my value. Also customize number to #,### but its not changing anything.
How do I make this value display as a whole number?
You may be confusing how the number is displayed (which can be controlled using text box properties) and it's actual value. It sounds like the value returned from the lookup is not a number, it might be a string/text value instead which would explain why it was not affected by number formatting.
One option is to convert the value to an integer (whole number) in the lookup expression itself, using a function to convert the value: CInt()
For example if your expression currently looks something like this:
=Lookup(Fields!SomeField.Value, Fields!SomeDatasetField1.Value, Fields!SomeDatasetField2.Value, "SomeDataset")
then you can change it to:
=CInt(Lookup(Fields!SomeField.Value, Fields!SomeDatasetField1.Value, Fields!SomeDatasetField2.Value, "SomeDataset"))
Or if you want to keep the original value, but just change how it is displayed then convert to a decimal value instead:
=CDec(Lookup(Fields!SomeField.Value, Fields!SomeDatasetField1.Value, Fields!SomeDatasetField2.Value, "SomeDataset"))
and then use the text box formatting options to control the displayed format.

SSRS 2008 Format a cell to blank if value is 0 or null or anything other than a number

I have a cell expression in which Im trying to force it to simply display an empty cell if the underlying value is something other than a number, is zero or null etc. There is no formatting in the textbox properties.
Surely there is something simpler
What I have now
=IIF(IsDBNull(ReportItems!YE_Goal2.Value) OR
ReportItems!YE_Goal2.Value = 0 OR ReportItems!YE_Goal2.Value Is Nothing,
"",ReportItems!Projected2.Value/ReportItems!YE_Goal2.Value)
When there is no value, it displays a 0 instead of being blank.
Try this:
=IIf(
Not IsNumeric(ReportItems!YE_Goal2.Value) or
IsNothing(ReportItems!YE_Goal2.Value) or
ReportItems!YE_Goal2.Value=0, "",ReportItems!Projected2.Value/
iif(ReportItems!YE_Goal2.Value=0,1,ReportItems!YE_Goal2.Value)
)
Note you have to validate two times ReportItems!YE_Goal2.Value=0, First time for control flow, the second time in order to avoid validator throw erros for division by zero.

SSRS formatting and exporting to Excel

I need to display a value like 100.02 as 100.02 if it is 100.00 it should display as 100 so I use the expression
=Replace(Round(Fields!Test.Value,2),".00","")
This displays in the desired format but
when I export to Excel it gets converted to Text .
Any suggestions on rectifying this issue are greatly appreciated.
For the Text Box's FORMAT property, use an expression that determines whether the number is an integer or not and use an expression based on that to set the format of the cell.
=IIF(Fields!Test.Value = INT(Fields!Test.Value), "N0", "N2")
Remember to remove the Replace and Round.

SSRS custom number format

I am go to generate an excel file from SSRS, and
I want to format the number like this...
15 is displayed as 15
14.3453453 is displayed as 14.35
12.1 is displayed as 12.1
0 is displayed as 0
1 is displayed as 1
I can apply this in Excel but unable to apply in SSRS
[=0]0;[=1]1;0.##
Does anyone can suggest another way for me? Thanks!
am assuming that you want to know how to format numbers in SSRS
Just right click the TextBox on which you want to apply formatting, go to its expression.
suppose its expression is something like below
=Fields!myField.Value
then do this
=Format(Fields!myField.Value,"##.##")
or
=Format(Fields!myFields.Value,"00.00")
difference between the two is that former one would make 4 as 4 and later one would make 4 as 04.00
this should give you an idea.
also: you might have to convert your field into a numerical one. i.e.
=Format(CDbl(Fields!myFields.Value),"00.00")
so: 0 in format expression means, when no number is present, place a 0 there and # means when no number is present, leave it. Both of them works same when numbers are present
ie. 45.6567 would be 45.65 for both of them:
UPDATE :
if you want to apply variable formatting on the same column based on row values i.e.
you want myField to have no formatting when it has no decimal value but formatting with double precision when it has decimal then you can do it through logic. (though you should not be doing so)
Go to the appropriate textbox and go to its expression and do this:
=IIF((Fields!myField.Value - CInt(Fields!myField.Value)) > 0,
Format(Fields!myField.Value, "##.##"),Fields!myField.Value)
so basically you are using IIF(condition, true,false) operator of SSRS,
ur condition is to check whether the number has decimal value, if it has, you apply the formatting and if no, you let it as it is.
this should give you an idea, how to handle variable formatting.
Have you tried with the custom format "#,##0.##" ?
You can use
=Format(Fields!myField.Value,"F2")