Automatic Chart Pagination with Report Parameters - sql-server-2005

Based on several report parameters in SQL Server 2005 reporting services, I would like to automatically generate one or several chart(s) for each row in the return result and paginate or space them out. How do I go about that?

If the number of charts will vary for each row, but the variations are known (e.g. it's either just chart 1, or chart 1 and 3, or charts 1 2 and 3) then it's simple enough using a table.
In the default detail row add any normal fields you need. Now insert a new detail row for each chart you might need. Lastly set the visibility of each chart row based on your rules, noting that the rule will hide the row if your expression evaluates to true. Make sure you select the row using the area to the left of the left-most cell, if you got it right you'll see that it's a row in the properties grid.
To get the layout you want you can merge cells for the charts to go in, or use a single cell and put a Rectangle in it, then in the Rectangle lay out your other controls.
Any rows that are hidden will be collapsed, so you wont get big empty sections like you can if you simply toggle the visibility of the charts themselves.

What you can do is place a List control on the page, set List grouping by record unique key (ID, or several fields if composite), and place a charts on the List. Next, set items visibility expressions to control it with report parameters.

Related

Create Line Graph with Dynamic Range based on values in columns of Dates from January that ends at YTD & be able to select which Clients are displayed

Been banging my head against the keyboard on this one.
I'm trying to create a dynamic Line Graph based on the below data and I'd like to avoid using VBA, if possible:
The "Title" column is the clients to display and the Date values make up the lines. There could be 3 clients or there could be 12. It varies. There are formulas going 30 rows down from the title row all the way through to "26-Dec" pulling from a raw data list, so those blank rows below TMKOMS actually have formulas in them.
I want a dynamic range that includes only the clients that are visible in the Title column.
On the Line Graph, I want a way to be able to select which client(s) to display (ie. drop-down boxes, check boxes or something).
I also need the Date range of values to dynamically capture "3-Jan" up to the year-to-date (eg. "21-Mar"), so that the Line Graph will only display up to 21-Mar. It would also be nice to have a way for users to select any one of the dates from a drop-down, but if the drop-down is blank, the dynamic range reverts to the year-to-date automatically.
Any help would be greatly appreciated.
I ended up solving all this by breaking down and using VBA to set autofilters.

Winforms UltraGrid Infragistics grouping by two columns

I’m working on a WinForms vb.net app where you can see a Grid like the one shown in the picture attached and what I need to do is to group by the first two columns (“Grupo” and “Area”).
As you can see in the picture my SQL select statement returns many same “Grupo” and “Area” with different “identificacion” (the last visible column) and the way I would need to present it is more or less the same you can currently see in the picture but with something like for example a + sign at a side which when you press it expands and shows all the complete list of rows and columns (ungrouped) but one row for every different “identificacion”.
I’ve managed to do an approach with SortedColums with the next:
ulgListaSel.DisplayLayout.ViewStyleBand = Infragistics.Win.UltraWinGrid.ViewStyleBand.OutlookGroupBy
Dim band As UltraGridBand = ulgListaSel.DisplayLayout.Bands(0)
Dim sortedColumns As SortedColumnsCollection = band.SortedColumns
sortedColumns.Add("c_area", False, True)
sortedColumns.Add("c_grupo", False, True)
but data is not being displayed the way I’m looking for.
What I get with the code below is shown in figure 2 but you will see that only "Area" colum is shown before expanding and as a default I need all columns with same value to be shown (everythings except "identificacion").
By the way, I’m using UltraGrid v14.2
Thanks in advance.
If I follow you here correctly, you would like to have a group for each row, because the only differences are in the "identificacion" column values? Or you would like to see all the values in the groupByRow, except the "identification", and having only one group?
In the second case you would end up with only one group having the all of the column values there.
In both cases you could create and add a new unbound column in the InitializeLayout event of your UltraGrid, using the root band (0) columns collection, afterwards in the IntializeRow event populate the values of that new column based on your requirements, either using the values of all of the cells (to end up with the same number of groups as the number of differences in the "identificacion" column), or concatenating the values of all of the columns, without the ones in "identificacion", which would end up with a single group only at end.
Also once you do that, you would have to use again the InitializeLayout event of your UltraGrid, and Group by the UltraGrid, by the newly populated Unbound column, by adding it to Sorted Columns, using the same approach that was used for adding the other columns there.

VB.Net & RDLC reports: Display dataset records as fixed fields

I'm developing a rdlc report, that uses the data from a dataset, programmatically filled (from VB.Net). I need to display the data of the dataset as in the linked photo, so not in a classic "table" way, but each page of the report will concerne only one record of the dataset. Any cells of first page will be filled with the data of the first row of the dataset, the second with the second and so on.
Is it possible to display the report in this way with rdlc?
Further to my comment, I believe it's possible to do what you want using the table, with a bit of work on the layout.
Start by adding a table in the normal way, and get that basically working ie so that it shows all the data across one row. Then work on re-arranging the cells so that they are in vertical columns. Do this by right-clicking in the shaded area to the left of the rows, and select 'Insert Row'
Finally create a group around the whole thing, and group by Item Number or w/e is appropriate for your data. Then in the 'Row Groups' window at the bottom of the designer, right click your new group and select 'Group Properties > Page Breaks > Between each instance of a Group.
This should get you pretty close to your required layout.

How to perform multiple selections in a Qlikview Straight Table?

How would I go about making multiple selections in a QlikView straight table?
For example, how would I select the 1st and 5th rows at the same time?
There is a section about multiple selections in the QlikView 11 - Reference Manual :
14.5 Multiple Selection Within a Field
Multiple selections within a field (from one lisstrong textt box) can be made in a number of ways:
Position the cursor in the list box, then drag it over a number of field values while pressing the
mouse button.
Click the first field value to be selected, then CTRL-click each additional selection.
Click the top item to be selected, then SHIFT-click the bottom item to be selected. This way all the
items in between will be selected. However, if the sort mechanism is on, the first selection may cause
the order to change, which makes it difficult to make a correct second selection.
Confirm a text search (see below) by hitting the ENTER key. This will result in all matching field
values being selected. By keeping the CTRL key depressed while pressing ENTER the selections
from the text search will be added to previous selections.
To deselect a previously made additional selection, CTRL-click it.
If a multiple selection is made in one list box, and make a new selection from the available optional values
in another list box, some of the selected values in the first list box may get excluded. However, when the
selection in the second list box is canceled, the previous selections will, by default, be recovered.
A multiple selection can be interpreted in two different ways, either as a logical or or as a logical and.
Default is logical or, i.e. QlikView will find a solution that is associated to one or more of the selected field
values.
HTH
For straight tables, you can only select items next to each other. Ctrl-Select only works for listboxes

SSRS - Producing a report that is not dynamic in size

I want to build a report that is completely static in size and shape. I'm attempting to mimic a hand-entered report that someone in my organization has been building from a word doc for years.
The critical piece appears to be fixing the number of rows that are produced in the various Table grids that fill the page. I would like them to always contain a set number of rows, whether data is present or not. It would seem that if I can just fix the size my tables, then all the other elements will not be forced to move because of stretching repeater sections.
All my grids are backed by stored procedures, so I'm open to SQL tricks as well.
Sorry i did miss-read the question.
If you know how many rows you need to return (say 20) maybe you could pad some bogus info into your records returned from the stored procedure. You might be able to count the records your query has returned before you send them back, and if you have less than 20 add some bogus ones to the record set, put something like 'NonDisp' or something in them.
Then in the report put an iif statement into the cells that checks for this bogus info, if it is found change the cell to display nothing, otherwise show the valid values
Not a direct answer, but perhaps a workaround you might consider: perhaps you can insert a page break after the table grids that have dynamic sizes, so that all elements that follow it have a fixed position (relative to the top of the page).
Add a parent group to tablix with =Ceiling((RowNumber(Nothing)) / 10000) expression. (10000 or whatever is required no. of rows)
In page break properties of group, check box for insert break between groups, leave the bottom boxes un-checked.
Optionally, we may chose to set hidden property true for text boxes added because of new parent group.
In tablix properties, check box for "Keep together on one page".