Changing columns order on export to CSV from SSRS 2008 - sorting

We have a report developed in another tool that the user exports to Excel to manipulate the data. In the old tool, the columns are being saved in the same order as the dataset returned by the stored procedure. But in SSRS the columns sort is changed to the order that they are displayed on the screen. The user is a nut case and can't convince her to change the order of the columns on the screen report to match her old report sort, but on the other hand does not want to adapt to the new column order. Unfortunately the easiest solution (i.e. replacing the user :-)) is not implementable. Is there a property that I can use to change the sorting on the columns when they are exported. Without knowing much about it, I imagined ZIndex would have done something like that. But it is set to 0 and disabled, so I can't change it's value.
Thanks

I know it's years later but for the benefit of anyone who is in this predicament, a similar idea: in the same report, you create another tablix that will be your "output" tablix, where you arrange things as you please using the same dataset. Make this tablix with visibility hidden, and set it to "output" as necessary. Turn off all outputs from the first tablix. So you have basically a ghost tablix that only works when you export to csv.

Related

How can you display option sets within a SSRS report?

I'm new to Stack overflow and new to SSRS report building. I'm currently building a report that needs to display each option from and option set in a different column I also need to pull date a last and next date range for each option it is page grouped by a company name and then further grouped by the employee's full name. any help would be very much appreciated.
Excel mock-up
Report table layout
I need it to out put like the Excel image ideally if possible, I've found the value id's but i'm stumped as to how if I can at all display them in the columns I've labelled.
It looks like you need to use a matrix control in your report. It will display your values in a pivot view like Excel.
Microsoft Documentation

Stop SSRS From Hiding Columns

How do I stop SSRS from hiding a column when previewing if the column has nothing more than empty rows? I have set all columns to be fully visible, yet the report preview does not show the empty columns. I know that this is a default feature within Visual Studio that hides all empty columns by default, so how do I change it so it can show all columns no matter what. Where can I change those settings?
If you mean the preview in the query designer of the dataset:
This is only possible when writing your own MDX since the generated code always generates a SELECT NON EMPTY for the measure axis. So removing the NON EMPTY part will always show your column/measure.
If you mean the ssrs report preview:
Columns only hide when using a table matrix with a column group. In this case make sure your dataset always returns each column group at least once, regardless of your chosen filters. E.g. if using MDX this could mean removing a NON EMPTY from your row axis or using the right-click option "include empty cells".
Clarification for comment plus possible workaround:
This "hiding columns" things is no feature. If the column isn't in the result of the dataset, SSRS can't know that this value even exists, so there is no solution if using a column group except for redesigning your query.
You could work around this by not using a column group and instead of using static "hard-coded" columns which, for example, sum the values depending on your group. See the following example screenshot i made: example

Is there a quick way to set a visiblity expression for many rows in a SQL Server Report Services RDLC report?

I have a report with many tables (tablixes?), in which I need to hide all rows that don't have a value in the 2nd column:
I can do this by right clicking on each row
and setting an expression for the visibility of the row that depends on a value appearing in the field of the 2nd column, e.g.
=IIF((Fields!MyField4.Value = ""), True, False)
But the problem is that my report has over 1000 of these rows! It will take a very long time given that each field has a specific name! I can modify the Xml, but this will also take a while. I am currently writing some code, which uses XDocument, to achieve this.
Are there any faster ways that anyone can think of? Maybe something from the designer, or some VB code? Everywhere on the internet seems to suggest right clicking one row at a time.
In the Designer, select all of the rows (using your Shift or Ctrl key), and use the Properties pane in VS/BIDS to change them all at once. There is a Hidden property there, and you can choose Expression from the dropdown in it. From there, you can apply the IIF to all rows.
Of course, I am assuming all of the visibility is based on the exact same expression for each row. If not, then the answer is no. Unless, you want to start doing some copy/paste stuff in the RDL XML, which I do not recommend.

Show tablix total outside of table

I have a weekly report which totals anywhere from 200 - 1000 rows of data. For my accounting people, the total is the only value of import as they simply use it for accrual purposes. I would like to either have the total appear at the top of the report or in a separate text box indicating this is the total for the report. Does anyone have a good idea on how to accomplish this?
If I understand correctly you need to get the result of some aggregate function on a tablix shown in a textbox outside the tablix.
That can be achieved by placing a textbox anywhere on the report, and in the expression for that textbox add a reference to the dataset you need to aggregate, e.g.:
=Sum(Fields!SomeValue.Value, "myDataSet")
Where SomeValue is the name of the field you need to aggregate, and myDataSet is the name of the DataSet that fieldis in.
Your question has already been answered by the other answer. Just as an alternative, you could try one more thing.
On the "details" row group(which appears by default), right click and choose "Add Total".
This will appear in a separate text box outside the report.

BIRT- converting table to grid

Currently I'm working over a birt report with a table to display data. Now, i want to convert the same thing to grid, which provides better viewing and analysing capability. So, is there any easy way (in editing the XML or something) to convert the whole table to grid? Meanwhile, the complete data remains the same.
NB: I havn't yet used a bit with grid, never ever! Also m bit newbie to birt. So pardon me if I'm spiting out anything rubbish.
A table is a different element from a grid. There is not a button to push that will convert one to the other. You would need to add a grid element to your report and set it up like you want it to look.
I seriously doubt you want to do this though. a grid will only display the first record returned, unlike a table that will display all the records returned.
A related, but more reasonable question is how to convert a single-column table to a list or vice-versa.
I often need this table-to-list conversion for optimizing master-detail reports for (our customized version of) the WordEmitter, because this prevents superfluous nested tables in the Word output.
Fortunately, for tables without grouping this is relatively easy by editing the XML:
Change the corresponding opening and closing tag to a tag, remove the elements and the elements (but keep theirs contents).
Apart from that, James' is right: There is no reason to convert a table to a grid item, mainly because a table will display all records (while a grid displays only the first) while the table has all features of a grid (and more, like grouping).

Resources