Showing posts with label pagination. Show all posts
Showing posts with label pagination. Show all posts

Wednesday, March 28, 2012

Report pagination w/in web browser

I have a report that is designed with 3 matrices in it --
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx
x
x x x
x Item Data
x x Aggregate x
x
x x Row Data x
x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x
x
x Aggregate Column Data x
x
x
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
My client would like all of the data from the report to be displayed on 1
page so the employee who uses this application does not have to navigate
between pages in order to see all of the data.
I've tried messing around with the page break settings in the Item Data
matrix and the Aggregate Column Data matrix to no avail. Is there any other
way I can get around this limitation of HTML rendering of the report.
TIA,
Bill YoungmanI have run some pretty wide matrices before and haven't seen this. If I had,
the first thing I would try is to place the matrix within a rectangle - this
will resolve to a "DIV" container surrounding the matrix and may prevent this
break you are seeing.
let me know if this solves it.
Steve Muise
Hitachi Consulting
smuise@.<nospam>hitachiconsulting.com
"Bill Youngman" wrote:
> I have a report that is designed with 3 matrices in it --
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx
> x
> x x x
> x Item Data
> x x Aggregate x
> x
> x x Row Data x
> x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> x
> x
> x Aggregate Column Data x
> x
> x
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> My client would like all of the data from the report to be displayed on 1
> page so the employee who uses this application does not have to navigate
> between pages in order to see all of the data.
> I've tried messing around with the page break settings in the Item Data
> matrix and the Aggregate Column Data matrix to no avail. Is there any other
> way I can get around this limitation of HTML rendering of the report.
> TIA,
> Bill Youngman
>
>

Report pagination for charts

Hi,

We have developed few reports displaying data using chart layout. In the Data tab, we have specified MDX query that will return top 10 records.

But now, instead of restricting to just top 10 records, we would like to display all records and go in for pagination.

Is there some setting in the chart properties, where in I can display the first n records in first page, and the next n records( if available) in the next page and so on?

Can I specify the value of n somewhere in the propeties?

I read through many posts regarding pagination but those couldn't help me much.

Please help me in solving this problem.

Any help would be appreciated.

Thanks in advance!

No response yet!:(|||

One approach is the following:

Step 1: Add a table to the report
Step 2: Group by a number of rows
Right-click on the table and select Properties. Add a table group (with a group header, but no group footer)
Enter this for the group expression: =Ceiling(RowNumber(Nothing)/10)
This will cause the table to group on every ten rows. So you'll get a separate table group for every ten rows.
Step 3: Add a chart in the table group header
Design your chart.

Note: this approach is similar to the table inline charts approach discussed in the following whitepaper: http://msdn2.microsoft.com/en-us/library/aa964128.aspx

-- Robert

|||

Thanks a lot Robert!

I got the idea from the solution provided by you and did the following:

Step 1: Add a list to the report

Step 2: Added group expression for the list to group the data

Grouping =Ceiling(RowNumber(Nothing)/10)

Set the following properties for list:

KeepTogether: False

PageBreakAtEnd: True

Step 3: Added chart to the list

Set the property, PageBreakAtEnd: True for the chart.

The above steps solved my problem of report pagination for charts.

Thanks once again!

sql

Report pagination for charts

Hi,

We have developed few reports displaying data using chart layout. In the Data tab, we have specified MDX query that will return top 10 records.

But now, instead of restricting to just top 10 records, we would like to display all records and go in for pagination.

Is there some setting in the chart properties, where in I can display the first n records in first page, and the next n records( if available) in the next page and so on?

Can I specify the value of n somewhere in the propeties?

I read through many posts regarding pagination but those couldn't help me much.

Please help me in solving this problem.

Any help would be appreciated.

Thanks in advance!

No response yet!:(|||

One approach is the following:

Step 1: Add a table to the report
Step 2: Group by a number of rows
Right-click on the table and select Properties. Add a table group (with a group header, but no group footer)
Enter this for the group expression: =Ceiling(RowNumber(Nothing)/10)
This will cause the table to group on every ten rows. So you'll get a separate table group for every ten rows.
Step 3: Add a chart in the table group header
Design your chart.

Note: this approach is similar to the table inline charts approach discussed in the following whitepaper: http://msdn2.microsoft.com/en-us/library/aa964128.aspx

-- Robert

|||

Thanks a lot Robert!

I got the idea from the solution provided by you and did the following:

Step 1: Add a list to the report

Step 2: Added group expression for the list to group the data

Grouping =Ceiling(RowNumber(Nothing)/10)

Set the following properties for list:

KeepTogether: False

PageBreakAtEnd: True

Step 3: Added chart to the list

Set the property, PageBreakAtEnd: True for the chart.

The above steps solved my problem of report pagination for charts.

Thanks once again!

Report Pagination

When you view the report in Report Manager it shows that it is Page 1 of 1
but when I export it to PDF it actually has 437 pages. Which is fine...no
probs there but would like to know the reason that it says Page 1 of 1 rather
than the 437.
Any help would be greatly appreacited on this, as its baffling me.Hi Nat,
Reports can appear different when rendered in different formats. For
example, your report is displayed using HTML in Report Designer preview
mode versus PDF when exported. So it is this formatting in HTML that
can cause the page number issue you describe (HTML has no concept of
page numbers - the whole report is '1' page...)
Maybe these suggestions can help?
1) When you preview a report in report designer, you can press the
<print preview> button (<print layout> in RS2005 if I recall...) on the
preview pane toolbar to display the report with pages (as it would
print out). At least you'll know how many pages the report truly has
this way.
2) If your report has hard page breaks set, you'll see the pages
displayed in preview window automatically.
HTH
Matt A
Reporting Services Newsletter at www.reportarchitex.com
Nat Johnson wrote:
> When you view the report in Report Manager it shows that it is Page 1 of 1
> but when I export it to PDF it actually has 437 pages. Which is fine...no
> probs there but would like to know the reason that it says Page 1 of 1 rather
> than the 437.
> Any help would be greatly appreacited on this, as its baffling me.

Monday, March 26, 2012

Report not using pagination properly

I have a portrait report that has 1 table with 1 hidden group header (for the Page Header to reference fields from) and 36 detail rows. My problem is that pagination is not working properly. Depending on the length of data in the detail rows, the report tends to push majority of data on the next page(s) which leaves a lot of blank lines or blank page at the beginning of each group of data. I want the data to complete the first page before rolling over to the next page. That's why I have 36 individual detail rows instead of all the data in 1 detail row. I've tried adjusting the page length, but it doesn't seem to work all that well. I either get all the report on one page (which is fine when viewing online, but data is cut off when printing) or inadequate pagination. I do not have any white space at the bottom of the table and the page footer. Anyone have any ideas?

Thanks,

T

Have you tried setting KeepTogether=false on your table? The behavior your describing sounds like it's set to true, which would mean that if the table can't fit completely on the current page, but will fit on the next page, it will move the table to the next page.

You shouldn't need to specify the detail rows individually if you're populating from a data source!|||Yes, KeepTogether is false and yes I am using a shared data source and data is queried using Stored Procedure.|||Well it seems the problem lies within the Group Header row. I removed that row and pagination works properly now, but I lose the ability to call fields in my page header when the report spans more than one page.|||

Ok, I found a solution for showing Field values in Page Header even when the report spans more than one page(but you don't know at what point the report spans to the next page). It's a combination of several solutions:

1) Create hidden textbox(es) with the field value you're wanting on every line where the page might span to the next page.

textbox1

textbox2

textbox3

2) Create a function in code that will reference each hidden textbox(es) by name

Shared Function Header(reportItems as ReportItems) as string
Dim final as string
If ReportItems!textbox1.value <> "" Then
final = ReportItems!textbox1.value
Else If ReportItems!textbox2.value <> "" Then
final = ReportItems!textbox2.value
Else If ReportItems!textbox3.value <> "" Then
final = ReportItems!textbox3.value
End If
Return final
End Function

3) In Page Header call function, pass (ReportItems)

=Code.Header(ReportItems)

The reason for the function is because you can't reference multiple ReportItems in Page Header textbox, so you have to determine which hidden textbox has a value on that page and return that value to the calling Header textbox. Hope this helps....

sql