Changing currency symbol in SQL Reporting 2005 - sql-server-2005

I'm using SQL Reporting 2005. I'm formatting a currency in a cell using
Format(Fields!NetPrice.Value, "C")
but the format is coming out
$10.00
I want pounds so
£10.00
Can someone tell me where is the setting to do this. I've looked and google and can't find it. Is it obvious? I want to set it on the report level if possible and not alter SQL Server settings due to minimise impact elsewhere.
I could cast the currency to a string and add "£" I guess but I want to do it properly.

You shouldn't need to manually edit the RDL file. I guess you couldn't see the language section as you didn't have the report selected.
To see the report properties click on the background behind the outline of the report (the yellow section) and check the properties window or select 'Report' from the drop down when viewing the properties window.

By default, formats for date, currency, and numbers are determined by the report server language at run time.
To override the formatting provided through the report server language, you can set the Language property within the report when you design it. This can be set at the report level or the TextRun level. If you want to vary the formatting based on the language or local settings of the browser or client application, you can set the Language property to an expression that includes the User!Language variable.
This info was provided HERE.
On the Report you can set the Language Property which is in the Localization section. You will place the language code like en-GB in this property. You can also do this at the field level too if you want. This should pick-up on your Regional and Language settings on your PC. If you want to override this or control this then you can simply set the report property accordingly.
If you set this property and then view the code of the report (RDL) you will see this towards the very bottom:
<Language>en-GB</Language>
This information will be used for currency, date, and numeric conversions.

Related

Data source to ssas cube naming and numbering changing?

Our ssas cube transform both the language and the numbering from the original data source.
In our database our datetime view all cells containing "monday" as its "day name" attribute has the value "1" in its "day of the week" attribute.
Screenshot from ssms
But once this database containing this view is loaded into the ssas cube then the language is suddently changed from english to norwegian (Monday -> Mandag) and monday is now suddently the 7'th day in the week instead of 1st.
Screenshot from visual studio opening the cube bim
I have had a look at "translations" but nothing is selected - but somewhere it got to be changed since its changed within the cube?
Analysis Services has a feature for metadata translations (eg table and column names), but not for data translations.
Translated strings are for object metadata only (names and
descriptions of tables and columns) that appear in a client tool like
an Excel PivotTable list. To use translated strings, the client
connection specifies the culture. In the Analysis in Excel feature,
you can choose the language from a drop-down list. For other tools,
you might need to specify the culture in the connection string.
This feature is not intended loading translated data into a model. If
you want to load translated data values, you should develop a
processing strategy that includes extracting translated strings from a
data source that provides them.
Translations in Tabular Models
So that's happening outside of SSAS.
Your database view probably returns data based on the connection's locale. EG this
set language norwegian
select datename(dw,getdate())
outputs
Changed language setting to Norsk.
------------------------------
torsdag
(1 row affected)

SSRS Action to Change Value of Variable

I'm using SSRS 2008 R2 to create a report which is a directory of contacts so people can find this easily. I've got the report working but the list is huge so I want to add dynamic filters by setting text boxes up that if anyone clicks on it, the results will be filtered.
I've set up a test report with a text box with an action to re-open the report but with the parameter set to ="A" to only pull back contacts beginning with the letter A. However, when I click this, I get the following error:
The report parameter 'Initial' is read-only and cannot be modified.
(rsReadOnlyReportParameter)
As an alternative, I've thought about adding a variable to the report and basing the parameter on this value. The only thing is that, although there's plenty out there showing how to change the value of a variable, I cannot seem to find a way to set up an action to change one.
Any ideas?
No worries everyone - I've found the answer. The first solution works but the parameter has to be set to hidden, not internal as I had set it up.

Does SSRS Report Builder always default date to MM/dd/yyyy?

I am setting up some reports on report builder and the date format always shows as MM/dd/yyyy, I want the format to be dd/MM/yyyy. I have checked the language of the server, database and user and they are all set to British English, I know this can be changed at report level however I am hoping to give end users the ability to create reports and not have to change this on each report. Is there anything I can set so this is always set to British English format or does report builder always show in American format?
I know this question is posted quite a lot but from what I have seen this is always about changing the format at report level but I want to change the default.
Thanks
If you want to display according to client's datetime format then you have to specify in Language property of Report.
Set =User!Language in Language property under localization tab of Report properties
What I do is instead of starting from a blank report each time I have a Basic Report Template file saved in a folder on the reporting server that end users can access. This report is blank except for the basic formatting that is applied to pretty much every report (start and end date parameters, common datasource, company logo and basic report properties including language)
Altering this template functionally alters the defaults as no one is using the blank new file they are all loading the basic template and modifying from there. This way you can set the language property to en-GB save the template and voila! Dates should now be dd/MM/yyyy.
If you don't have a common report server you can create the basic template and save it as an .rdl file which you can send to your colleagues to use instead of the default blank file.
If you look at the date formats in Report Builder, you will notice that the first set of them have asterisks. These formats will change with the regional settings of the report. In the report properties, set the language to =User!Language. We use these settings, and everyone gets the format they expect.
you could amend the dataset to change the date format.
SELECT CONVERT(DATETIME, 'your date column', 103);
This largely depends on your server locale/ regional settings. Once you fix that on the SSRS server side, you will not have to do that each time anymore.

SQL Server Report Builder Number Formatting

I am creating Reports in SQL Server Report builder.
When I set format of any number fields, in design it is displaying sample value.
For e.g. If I set format 0.00 to one numeric field, it started to display 12345.00
I have 10-12 fields in design, it caused very much confusion.
Is there any solution to change this?
When I open report in Visual Studio, it doesn't display like that.
Check Following screenshots:
In Report Builder:
In Visual Studio:
Finally, I got solution:
There is option in toolbar.
From what you described looks like you have an issue with the regional settings number format.
In your development environment, the decimal values are retrieved correctly, so you got 123.45 instead of 12345.00
In your target environment, the format of the decimal values is different, for example is 123,45 (comma instead of dot) so you get 12345.00

Can you have cascading report parameters from a dropdown to a textbox?

I have a SQL Server 2005 Reporting Services report with three parameters I'd like to implement some kind of dependency relationship between.
The first parameter is DateRange
which is a drop down with various
numbers of days back to make a date
range from the present day. It will have a "Custom" value which will be used to flag when the Start and End DateTime parameters should be used instead.
The second and third would be
datetime parameters where the user
enters some kind of valid DateTime
string representation or clicks the
Calendar box and selects that way, ie "02/20/2009"
The problem I have is that all the material I've stumbled across on dependent parameters shows cascading relationships where there is a drop down based on a query determining the next drop down.
How can you cascade from a dropdown, that uses a query, to a non-queried DateTime Textbox?
This might not be the answer you are looking for, but I solved this (and other) problems by embedding the report into a web page (using the ReportViewer control). I use AJAX to cascade values across dropdowns in ways that would be exceedingly difficult in Reporting Services, and then pass the parameters to the reports in the codebehind.
I've found this to be much easier, as I'm not constrained with how I create my input controls. YMMV, though.
Set the default value to an expression. I believe, be default any default values that start with an equals sign forces the report to treat current parameter as dependent on all parameters above the current parameter.