Hi I am converting the crystal report to the SSRS reporting but i am new to both the reporting tools in crystal report there is lots of fields that are calculate but i am stuck at this one field is calculate like ,
"!" & {MM.JobNumber} & "!"
and i am not sure what it does so any insights would be very great.
Based on the information provided, this formula simply concatenates two exclamation marks onto the field {MM.Jobnumber}.
The output for this would look something like this
!Jobnumbervalue!
If you haven't tried already, http://www.crystalmigrater.com/Default.aspx is an extremely useful tool for what you are trying to accomplish.
Related
I am creating a Report in MS Access 2016. I want textboxes showing a summary of data from other tables - without actually showing rows of those tables (no subreports if possible). For example, I have tried to create a textbox with formula
=Format(Avg([WeekData].[DIFOT]),"##0.0%") & " DIFOT This Week"
which should return something like
100% DIFOT This Week
(NB Weekdata is a query and DIFOT is a field in that query, all in the same database as this report.)
However instead it just gives me #Error.
Please can you tell me the most efficient way to pull together summary figures such as these without creating any more queries and/or subreports than absolutely necessary? I'm quite new to SQL and Access on the whole.
Many thanks in advance.
Use DAvg() domain aggregate function. Also, the ## characters in Format() pattern serve no purpose.
=Format(DAvg("DIFOT", "WeekData"), "0.0%") & " DIFOT This Week"
or
=Format(DAvg("DIFOT", "WeekData"), "Percent") & " DIFOT This Week"
I am using SSRS 2008 R2 and have the following map.
In my opinion, it looks very ugly with all of the zip codes showing for each area so what I would like to do is only show the zip code when the area has more than 10% of the total number of people in it. I was reading here (Troubleshooting Reports) so I don't know if this is possible. A coworker was telling me that for Charts/Graphs in SSRS there is a #PERCENT that would allow me to do something like:
Visibility Expression: =#PERCENT > 10
but I couldn't get it to work. Any help would be appreciated!
I actually did something extremely similar once. I ended up just setting the label expression using a couple of aggregate functions:
=IIF(SUM(Fields!Quantity.Value)/SUM(Fields!Quantity.Value, "DataSet1")>0.10,Fields!ZIP.Value,"")
Worked fairly well.
Original Question
In Crystal Reports 2011, how do I show all values from a certain Field?
My formula that pulls the data from an Access DB is simply:
{tblQuoteFormSub_Windows.fQty} & " - " &
{tblQuoteFormSub_Windows.fWindowSizeW} &
" x " & {tblQuoteFormSub_Windows.fWindowSizeH}
If I right click on the field in Design or Preview Mode, I can select "Browse Field Data, and see all the values, but I cannot figure out how to print all of them.
EDIT:
I used a sub report (I am still learning, and didn't know they existed in CR until today). Now I can view the records I need based on the fJobID Field.
However...
I need a way to select which group to print... Preferably by using a control in Access to select a Job #. Should I post that as a new question?
The subreport is a good idea. I was thinking of suggesting that, but I wasn't sure if it would have met your needs. I haven't tried Access 2013 yet, and it's been awhile since I've even seen CR. But as for your other question, I can give you one suggestion that I used with previous versions.
In your Access query, add a parameter to your query, i.e. Select * from mytable where job='[Enter Job Num]'. Then when you preview your CR, that parameter should filter through so that it will ask you for the job number when you preview it.
Give it a try and let me know if it worked.
I'm using now SQL Server 2008 R2.
My website shows the report exactly as it is, including the container where the parameters appear (the client prefers it that way).
However, my website solution includes localization (Portuguese, English, Spanish).
I've tried to translate the parameters by creating one parameter for each language, and then show them according the selected one. It didn't work in SSRS 2008. Because I don't know how to find the visibility properties of prompt.
Does anyone know a solution... Or if SQL Server 2012 has solutions for translating parameter's prompt, or conditional visibility?
Thanks.
The only solution I've found so far (SSRS 2008, 2008R2, 2010, 2012) is to break the DRY commandments, and duplicate the reports with language codes as part of the report name (e.g. MyReport_sp.rdl, MyReport_de.rdl, etc) and then place a web service between the client request and the SSRS instance. The web service then has to field the request to the correct report based on a "Culture" parameter passed with the client's request.
This is NOT a good solution, though at least the Culture param is used in localizing the rest of the report as well. We still have hopes that at some future date MS will add prompt localizability and we can rename the report to MyReport.rdl and just have everything actually localized. Hmm, what a concept...
Another workaround would be to just put a number in the prompt for the parameter then prefix the label of each parameter with the localised version by either using "get values from query" or by using the expression builder with a switch statement in the label expression.
For the get values from query option you would have a dataset something like this if you have the translated versions in the query:
SELECT ParamLabel, ParamValue
FROM MyLocalisedParameters
WHERE UserLanguage = #Language
Or like this if not:
SELECT
CASE #Language
WHEN 'pt-PT' THEN 'Selecione Departamento: ' + ParamLabel
WHEN 'es-ES' THEN 'Seleccionar Departamento: ' + ParamLabel
ELSE 'Select Department: ' + ParamLabel
END AS ParamLabel
, ParamValue
FROM MyParametersTable
in both cases creating and assigning the Globals!Language to a Parameter called #Language.
Or if using the expression builder for a hardcoded set of values it would look something like this:
either way the end result would look something like this:
Not perfect but functioning and easier to maintain than several copies of the same report.
If you want it to look a bit tidier then just have the Parameter prompt as only one entry in the parameters list and set it to the default value to avoid repetition on every line.
There is none...
As per connect.microsoft.com, this feature has been requested after SSRS 2005 has been released, and while it is on Microsoft's TODO list, the programmer time to do this has never been allocated, and hence in 2012, SSRS is still not capable of doing that.
Although it's (with much effort) possible to translate everything else, it's not possible to translate the parameter prompt.
There is NO conditional visibility either, visibility of parameters is fixed.
Also, there is no way having SSRS use a supplied language instead of the one set in the browser language settings.
The only thing that you CAN do is write a C# program that loads your XML file, get's the report's parameter name(s) (and possibly the report's name as well), looks them up in a database, and automagically creates N reports for n languages.
Then, you have to redirect your users to the report in their language.
You then only need to write an upload tool, because you won't want to do that by hand.
The other way is to use the ReportViewer control, and re-implement parameter selection.
I think there's CrissCross that tries to do that, but it failed in all but 2 of the reports that I tested.
An evil hack would be:
parametername: babla_language1 / blabla_language2 / blabla_language3 / blabla_language4
and then use jQuery to get that string. do string.split('/')[index_of_language]
and then prey that / is never within "blabla_languageXY"
Edit:
I actually did that. You have to use setInterval to do it, because there is no way to detect change when you select a parameter.
I'm very new to SSRS and Report Builder, and I'm trying to throw together a simple report that shows data for a single changeset. I've created a different report already that takes date paramaters, and thanks to some lucky googling, I learned that instead of feeding date strings to the report parameters, it was necessary to use expressions such as:
="[DATE].[Date].&[" & Format(CDate(Parameters!FromDateDate.Value),"yyyy-MM-dd") + "T00:00:00]"
Finding this post was like winning the lottery because I would have never been able to figure that out for myself. Hence, for my changeset report, I figured I could use the following expression for my changeset parameter.
="[Version Control Changeset].[Changeset ID].&[" & Parameters!VersionControlChangesetChangesetID.Value + "]"
For my report, the VersionControlChangesetChangesetID parameter is just an integer. I got the dimension names by using the "Copy" context menu item in the query designer, assuming that these would be the correct identifiers.
However, I get the following error when running the reoprt:
The Value expression for the query parameter ‘VersionControlChangesetChangesetID’ contains an error: Input string was not in a correct format. (rsRuntimeErrorInExpression)
I have two questions about this.
Why isn't the expression I wrote working?
How can I learn better how to format these values, and how they're formatted inside the cube, so that I'm not just guessing when I run into these formatting errors?
Thanks!