Do a Page Break on the same page of SSRS Report - reporting-services

I want to show 50 rows in one page of the SSRS Report. But I want to show these 50 rows in two columns of 25 rows each. Is there a way to do a page break on the same page or is there any other way to achieve this?

Depending on how you want to arrange your data, you will need to have two separate tables each configured to only show 25 rows sorted so that it displayes as you require (Read across then down or down one table then the other?)
One way to do this would be to create a hidden row group as #MiguelH suggested in their comment that has two levels to it, so you group into 50s and 25s along the lines of:
Row # - Group 1 - Group 2
1 1 1
2 1 1
....
24 1 1
25 1 1
26 1 2
27 1 2
....
49 1 2
50 1 2
51 2 1
52 2 1
....
74 2 1
75 2 1
76 2 2
77 2 2
....
98 2 2
99 2 2
100 3 1
101 3 1
You can then set a page break after your table group, displaying all records with a Group 2 value of 1 in the first table and a Group 2 value of 2 in your second table on the same page.

Related

Evenly distribute rows withing a group

Suppose I have a table ITEMBANKITEMASSOCIATION as
ID FKITEMBANKID FKITEMID
1 1 100
2 2 101
3 2 102
4 2 103
5 2 104
6 3 105
7 3 106
8 4 107
9 4 108
10 4 109
11 4 110
12 4 111
I want to select 10 rows but rows must to evenly distributed within FKITEMBANKID. That Means suppose I want 10 rows to select within 4 item banks, so 10/4 gives 2 items from each Item banks. This I have achieved by query
SELECT ITEMBANKITEMASSOCIATION.*
FROM ITEMBANKITEMASSOCIATION INNER JOIN (
SELECT inIBA.FKITEMBANKID, GROUP_CONCAT(inIBA.FKITEMID) grouped_year
FROM ITEMBANKITEMASSOCIATION inIBA
GROUP BY inIBA.FKITEMBANKID) group_max
ON ITEMBANKITEMASSOCIATION.FKITEMBANKID = group_max.FKITEMBANKID
AND FIND_IN_SET(ITEMBANKITEMASSOCIATION.FKITEMID, grouped_year) between 1 and 2
ORDER BY
ITEMBANKITEMASSOCIATION.FKITEMBANKID DESC;
Fiddle is here
Result of this query gives only 7 rows, because this query select rows from each group (itembank) between 1 and 2. Still 3 rows are need to be pulled, how I can pull remaining 3 rows by distributing it in available itembanks? Available itembanks means after fetching first 7 exclude the pulled items and re-distribute within remaining banks.

Is it possible to display this data horizontally in SSRS?

I have a table that that is being joined by another table that looks like this:
Id Score Total
1 10 30
1 7 30
1 13 30
2 14 27
2 10 27
2 3 27
I want to be able to display this data like this in SSRS:
Id 1 2 3 Total
1 10 7 13 30
2 14 10 3 27
Can this be done and how?
You can do this by using a matrix.
You can add a row identifier for each id in your dataset (assuming you can modify the dataset, as you joined 2 tables). Below code is for SQL Server (T-SQL).
Select Id, Score, row_number() over (partition by id order by score) ident
from table
Output:
Id Score Ident
1 10 1
1 7 2
1 13 3
2 14 1
2 10 2
2 3 3
No need of the Total field, you can add it in matrix (Right Click on ColumnGroup>Add Total>After).
Use the above query in Matrix as shown below.

Get the maximum field value of different row's between different tables and its id's

So we got four tables T1,T2,T3,T4
Each table has four columns, id,1,x,2 (id is primary key auto incremented in all tables) and all of them are populated with numbers (40-50 rows each).
How can I compare the first field of each table and column (and same for all the remaining fields) and display the maximum field for each column and its id?
For example, compare column 1/field 1 of T1 with column 1/field 1 of T2 and column 1/field 1 of T3 display the maximum and its id and then do the same for column 2/field 1 OF T1/T2/T3/T4/ etc etc and each of their respective fields for all 40 rows ?
I have read about UNION and JOINS but I don't know how to do this.
Any help would be appreciated.
TABLE 1
ID | 1 | X | 2 |
1 10 20 30
2 5 45 6
3 3 11 12
4 0 14 23
TABLE 2
ID | 1 | X | 2 |
1 100 200 300
2 50 405 60
3 30 101 102
4 0 104 203
ETC ETC
we need to compare the 10 of table 1 column 1 row 1 id=1 with 100 of table 2 row/column/id=1 then the same for x and 2 column.

Pivot tables in mysql columns

I have table localbanya ,I wanted to do pivoting of its column, Here is my table structure
Billingid prod_id qty
1 11 2
1 22 5
2 11 1
2 22 3
2 33 4
3 11 2
3 22 1
I'm expecting something like this
Billinid 11 22 33 Total
1 2 5 0 2+5+0
2 1 3 4 1+3+4
3 2 1 0 2+1+0
I have tried this but unable to get the desired result
SELECT billingid,GROUP_CONCAT(qty)
FROM localbanya
GROUP BY billingid;
please help, Thanks in advance

Alternative to Group by in SQL

Colummn1 Column2
----------------------------
5 24
5 20
5 13
----------------------------
2 3
----------------------------
3 25
----------------------------
1 4
----------------------------
2 6
2 42
----------------------------
5 23
5 10
----------------------------
Output should be
5 57
2 3
3 25
1 4
2 48
5 33
I have two columns. I want to sum the elements of second column when the values of column 1 are same and consecutive. ie I dont want the grouped sum to contain sum of both segments of 5.
I know how to use Group by clause bit that would aggregate the two segments. Please help me write SQL query for this .