Showing posts with label records. Show all posts
Showing posts with label records. Show all posts

Friday, March 30, 2012

Reportviewer does not display number of records per page properly??

I am using a reportviewer control to display locally generated reports. I use a parameter to set the number of records per page in the reportviewer. The value of this parameter is set by the user from a dropdownlist that has values 10, 15, 25, 30. I added two more options of 50 and 100 to this dropdownlist but the reportviewer does not display the number or records properly.

For example, if I set the number to 50, it will display first 42 or 43 records on first page and then the next 8 or 7 records on the second page and leaving extra space after that. Is it because of the height property?

Please help me fix this problem.

Thanks,

Bullpit

Hi,

As you have noted the problem may be related with the page layout properties of the report.

|||It actually was the InteractiveSize property (specifically the Height) that was doing this. The problem is fixed now for the time being.

Wednesday, March 7, 2012

reporting/archiving database?

Hi all,
We currently have a production database fast approaching about 15GB. It
stores all types of data including transactional records, image columns for
scanned documents etc etc. In addition to our production applications using
this database, all our reports have been written to run of this database.
Thus far, users of the production system have had the luxury of pulling up
transactions since inception and they like having that flexibility. We have
about 3 years worth of data currently in the database. For the past several
months we have been contemplating whether we should setup a seperate
reporting/archive database for all reports to be run off. We would archive
all records older than 1 year to this database. We would then have to change
all reports to point to this database and also update our production app
with some custom logic to search this second database if the record was not
found in the primary database.
Is this the correct best practices way to proceed? If yes, how would we go
about setting this up? Replication? I know with replication it will simply
replicate all the records over to the secondary database. So, if I then
delete something from the primary, will it also delete from the secondary?
We dont want that right?
Any insight, help, tips, guidelines would be much appreciated.
TIA!15GB is small. Some would even call it tiny.
How does your system perform today?
You should be able to scale to a much larger database than that and still
have good performance (assuming that you are running on decent hardware, and
have an efficient database design).
Keith Kratochvil
<param@.community.nospam> wrote in message
news:ec4kXNGcGHA.3472@.TK2MSFTNGP02.phx.gbl...
> Hi all,
> We currently have a production database fast approaching about 15GB. It
> stores all types of data including transactional records, image columns
> for scanned documents etc etc. In addition to our production applications
> using this database, all our reports have been written to run of this
> database. Thus far, users of the production system have had the luxury of
> pulling up transactions since inception and they like having that
> flexibility. We have about 3 years worth of data currently in the
> database. For the past several months we have been contemplating whether
> we should setup a seperate reporting/archive database for all reports to
> be run off. We would archive all records older than 1 year to this
> database. We would then have to change all reports to point to this
> database and also update our production app with some custom logic to
> search this second database if the record was not found in the primary
> database.
> Is this the correct best practices way to proceed? If yes, how would we go
> about setting this up? Replication? I know with replication it will simply
> replicate all the records over to the secondary database. So, if I then
> delete something from the primary, will it also delete from the secondary?
> We dont want that right?
> Any insight, help, tips, guidelines would be much appreciated.
> TIA!
>
>|||The performance is getting slower day by day. Long reports are timing out.
My guess is lack of good indexing. However, for raw OLTP environment, I have
heard some people saying that too many indexes is not good as well. Any
recommendations?
"Keith Kratochvil" <sqlguy.back2u@.comcast.net> wrote in message
news:ec6GDaHcGHA.3712@.TK2MSFTNGP03.phx.gbl...
> 15GB is small. Some would even call it tiny.
> How does your system perform today?
> You should be able to scale to a much larger database than that and still
> have good performance (assuming that you are running on decent hardware,
> and have an efficient database design).
> --
> Keith Kratochvil
>
> <param@.community.nospam> wrote in message
> news:ec4kXNGcGHA.3472@.TK2MSFTNGP02.phx.gbl...
>|||People say that too many indexes is bad for OLTP because (this is my
interpretation) every time to make modifications to a table, the
indexes associated to that table have to be updated. This can be a
performance hit if there are a lot of indexes and if there are many
modifications made (like in a OLTP environment). Plenty of indexes is
fine for a data warehouse style database because your standard user
only queries this database.
Archiving data records isn't a bad idea, it's something I've considered
doing when the DBs I handle get too large. Sometimes it's not feasible
to make changes to a production database (e.g. add/remove indexes) but
if it is an option available to you then explore that too. You can use
the Index Tuning Wizard and SQL Profiler traces as a starting point (do
a Profiler trace for a day and then load it into the Wizard to see what
it's recommendation is).
Have you considered doing a hardware upgrade (scaling up)? It's more of
a band-aid solution and not always feasible (money etc).
But, if you want to setup a reporting server, here are a few things
I've learnt in the past that might (or might not) be helpful:
What you said in your first post about replication is pretty much true.
I suspect you'd want to use transactional or snapshot replication and
not merge since you'd have a reporting (basically read-only) and
production SQL Server. If you use replication then changes on the
production SQL Server will also be made on the reporting server. Same
with log shipping (if you use it).
Something you could do is set up a seperate server with a database that
has the exact same schema as your production database. You can then
define DTS (SQL Server 2000) or Integration Services (SQL Server 2005)
packages to transfer data from the production to the new/reporting
server and then remove the data from the production server.
Schedule the execution of the packages for a time of low load
(midnight, late at night or very early in the morning are generally
good choices but it depends on your situation) so that users don't
experience a performance hit.|||Too many indexes can hinder performance, but that is not a reason to avoid
them. You need to balance performance of your insert statements with the
performance of the SELECT/UPDATE/DELETE statements.
Have you updated statistics?
Have you tried running Profiler to see which queries/stored procedures take
the most amount of time? Perhaps you could create indexes and tune up 10%
of your queries and achieve a significant improvement in performance.
Keith Kratochvil
<param@.community.nospam> wrote in message
news:OJcMu$JcGHA.3840@.TK2MSFTNGP04.phx.gbl...
> The performance is getting slower day by day. Long reports are timing out.
> My guess is lack of good indexing. However, for raw OLTP environment, I
> have heard some people saying that too many indexes is not good as well.
> Any recommendations?
> "Keith Kratochvil" <sqlguy.back2u@.comcast.net> wrote in message
> news:ec6GDaHcGHA.3712@.TK2MSFTNGP03.phx.gbl...
>

reporting/archiving database?

Hi all,
We currently have a production database fast approaching about 15GB. It
stores all types of data including transactional records, image columns for
scanned documents etc etc. In addition to our production applications using
this database, all our reports have been written to run of this database.
Thus far, users of the production system have had the luxury of pulling up
transactions since inception and they like having that flexibility. We have
about 3 years worth of data currently in the database. For the past several
months we have been contemplating whether we should setup a seperate
reporting/archive database for all reports to be run off. We would archive
all records older than 1 year to this database. We would then have to change
all reports to point to this database and also update our production app
with some custom logic to search this second database if the record was not
found in the primary database.
Is this the correct best practices way to proceed? If yes, how would we go
about setting this up? Replication? I know with replication it will simply
replicate all the records over to the secondary database. So, if I then
delete something from the primary, will it also delete from the secondary?
We dont want that right?
Any insight, help, tips, guidelines would be much appreciated.
TIA!15GB is small. Some would even call it tiny.
How does your system perform today?
You should be able to scale to a much larger database than that and still
have good performance (assuming that you are running on decent hardware, and
have an efficient database design).
--
Keith Kratochvil
<param@.community.nospam> wrote in message
news:ec4kXNGcGHA.3472@.TK2MSFTNGP02.phx.gbl...
> Hi all,
> We currently have a production database fast approaching about 15GB. It
> stores all types of data including transactional records, image columns
> for scanned documents etc etc. In addition to our production applications
> using this database, all our reports have been written to run of this
> database. Thus far, users of the production system have had the luxury of
> pulling up transactions since inception and they like having that
> flexibility. We have about 3 years worth of data currently in the
> database. For the past several months we have been contemplating whether
> we should setup a seperate reporting/archive database for all reports to
> be run off. We would archive all records older than 1 year to this
> database. We would then have to change all reports to point to this
> database and also update our production app with some custom logic to
> search this second database if the record was not found in the primary
> database.
> Is this the correct best practices way to proceed? If yes, how would we go
> about setting this up? Replication? I know with replication it will simply
> replicate all the records over to the secondary database. So, if I then
> delete something from the primary, will it also delete from the secondary?
> We dont want that right?
> Any insight, help, tips, guidelines would be much appreciated.
> TIA!
>
>|||The performance is getting slower day by day. Long reports are timing out.
My guess is lack of good indexing. However, for raw OLTP environment, I have
heard some people saying that too many indexes is not good as well. Any
recommendations?
"Keith Kratochvil" <sqlguy.back2u@.comcast.net> wrote in message
news:ec6GDaHcGHA.3712@.TK2MSFTNGP03.phx.gbl...
> 15GB is small. Some would even call it tiny.
> How does your system perform today?
> You should be able to scale to a much larger database than that and still
> have good performance (assuming that you are running on decent hardware,
> and have an efficient database design).
> --
> Keith Kratochvil
>
> <param@.community.nospam> wrote in message
> news:ec4kXNGcGHA.3472@.TK2MSFTNGP02.phx.gbl...
>> Hi all,
>> We currently have a production database fast approaching about 15GB. It
>> stores all types of data including transactional records, image columns
>> for scanned documents etc etc. In addition to our production applications
>> using this database, all our reports have been written to run of this
>> database. Thus far, users of the production system have had the luxury of
>> pulling up transactions since inception and they like having that
>> flexibility. We have about 3 years worth of data currently in the
>> database. For the past several months we have been contemplating whether
>> we should setup a seperate reporting/archive database for all reports to
>> be run off. We would archive all records older than 1 year to this
>> database. We would then have to change all reports to point to this
>> database and also update our production app with some custom logic to
>> search this second database if the record was not found in the primary
>> database.
>> Is this the correct best practices way to proceed? If yes, how would we
>> go about setting this up? Replication? I know with replication it will
>> simply replicate all the records over to the secondary database. So, if I
>> then delete something from the primary, will it also delete from the
>> secondary? We dont want that right?
>> Any insight, help, tips, guidelines would be much appreciated.
>> TIA!
>>
>|||People say that too many indexes is bad for OLTP because (this is my
interpretation) every time to make modifications to a table, the
indexes associated to that table have to be updated. This can be a
performance hit if there are a lot of indexes and if there are many
modifications made (like in a OLTP environment). Plenty of indexes is
fine for a data warehouse style database because your standard user
only queries this database.
Archiving data records isn't a bad idea, it's something I've considered
doing when the DBs I handle get too large. Sometimes it's not feasible
to make changes to a production database (e.g. add/remove indexes) but
if it is an option available to you then explore that too. You can use
the Index Tuning Wizard and SQL Profiler traces as a starting point (do
a Profiler trace for a day and then load it into the Wizard to see what
it's recommendation is).
Have you considered doing a hardware upgrade (scaling up)? It's more of
a band-aid solution and not always feasible (money etc).
But, if you want to setup a reporting server, here are a few things
I've learnt in the past that might (or might not) be helpful:
What you said in your first post about replication is pretty much true.
I suspect you'd want to use transactional or snapshot replication and
not merge since you'd have a reporting (basically read-only) and
production SQL Server. If you use replication then changes on the
production SQL Server will also be made on the reporting server. Same
with log shipping (if you use it).
Something you could do is set up a seperate server with a database that
has the exact same schema as your production database. You can then
define DTS (SQL Server 2000) or Integration Services (SQL Server 2005)
packages to transfer data from the production to the new/reporting
server and then remove the data from the production server.
Schedule the execution of the packages for a time of low load
(midnight, late at night or very early in the morning are generally
good choices but it depends on your situation) so that users don't
experience a performance hit.|||Too many indexes can hinder performance, but that is not a reason to avoid
them. You need to balance performance of your insert statements with the
performance of the SELECT/UPDATE/DELETE statements.
Have you updated statistics?
Have you tried running Profiler to see which queries/stored procedures take
the most amount of time? Perhaps you could create indexes and tune up 10%
of your queries and achieve a significant improvement in performance.
Keith Kratochvil
<param@.community.nospam> wrote in message
news:OJcMu$JcGHA.3840@.TK2MSFTNGP04.phx.gbl...
> The performance is getting slower day by day. Long reports are timing out.
> My guess is lack of good indexing. However, for raw OLTP environment, I
> have heard some people saying that too many indexes is not good as well.
> Any recommendations?
> "Keith Kratochvil" <sqlguy.back2u@.comcast.net> wrote in message
> news:ec6GDaHcGHA.3712@.TK2MSFTNGP03.phx.gbl...
>> 15GB is small. Some would even call it tiny.
>> How does your system perform today?
>> You should be able to scale to a much larger database than that and still
>> have good performance (assuming that you are running on decent hardware,
>> and have an efficient database design).
>> --
>> Keith Kratochvil
>>
>> <param@.community.nospam> wrote in message
>> news:ec4kXNGcGHA.3472@.TK2MSFTNGP02.phx.gbl...
>> Hi all,
>> We currently have a production database fast approaching about 15GB. It
>> stores all types of data including transactional records, image columns
>> for scanned documents etc etc. In addition to our production
>> applications using this database, all our reports have been written to
>> run of this database. Thus far, users of the production system have had
>> the luxury of pulling up transactions since inception and they like
>> having that flexibility. We have about 3 years worth of data currently
>> in the database. For the past several months we have been contemplating
>> whether we should setup a seperate reporting/archive database for all
>> reports to be run off. We would archive all records older than 1 year to
>> this database. We would then have to change all reports to point to this
>> database and also update our production app with some custom logic to
>> search this second database if the record was not found in the primary
>> database.
>> Is this the correct best practices way to proceed? If yes, how would we
>> go about setting this up? Replication? I know with replication it will
>> simply replicate all the records over to the secondary database. So, if
>> I then delete something from the primary, will it also delete from the
>> secondary? We dont want that right?
>> Any insight, help, tips, guidelines would be much appreciated.
>> TIA!
>>
>>
>

Monday, February 20, 2012

Reporting Services: Suppressing blank reports?

Hello,
I've got reporting services (SQL 2000) sending out daily reports by
email to a group of recipients. The reports show all new records added
to a table since the last report.
Unfortunately these reports go out even when there are no new records
added... it's just a blank report.
Is there any way to suppress these blank reports/emails so they aren't
sent'
Thanks in advance for your help...
-jasonJason,
If you are running the Enterprise Edition of SSRS, you can use a data
driven subscription to trigger the subscription only when there are
records to display.
If you are not using the EE, then it is not possible to stop the
distribution of the report, empty or otherwise. The best option
presented here has been to utilize the NoRows property in a data region
to display a message when there is no data returned. Simply select the
expression option for the property and insert the message to be
displayed e.g. ="No records were returned using those parameters"
HTH
toolman
jesrushdisposable-all@.yahoo.com wrote:
> Hello,
> I've got reporting services (SQL 2000) sending out daily reports by
> email to a group of recipients. The reports show all new records added
> to a table since the last report.
> Unfortunately these reports go out even when there are no new records
> added... it's just a blank report.
> Is there any way to suppress these blank reports/emails so they aren't
> sent'
> Thanks in advance for your help...
> -jason|||toolman,
Very helpful information -- thanks so much!
-j

Reporting services: Anchor.Bottom

Hi,
I have a report (Reporting Services 2005) which may contain an undefined
number of pages of records. At the end there are some totals and summary's
that should be displayed.
The problem is: These totals should come always at the bottom of the final
page: some kind of Anchor.Bottom or Docking.Bottom property, but this
behaviour doesn't seem to exist.
Is there any way to accomplish this?
Thansk a lot in advance, any help will be really appreciated,
PieterHi,
First of all do not cross post to groups ont related to your question, this
is a C# NG that has nothign to do with RS.
Answering your question, you can include a second table just below your main
table and display there the totals, This table will be displayed right after
your main table so you should be ok.
Ignacio Machin
http://www.laceupsolutions.com
Mobile & warehouse Solutions.
"Pieter" <pieterNOSPAMcoucke@.hotmail.com> wrote in message
news:Ot5Uo5bNIHA.5140@.TK2MSFTNGP05.phx.gbl...
> Hi,
> I have a report (Reporting Services 2005) which may contain an undefined
> number of pages of records. At the end there are some totals and summary's
> that should be displayed.
> The problem is: These totals should come always at the bottom of the final
> page: some kind of Anchor.Bottom or Docking.Bottom property, but this
> behaviour doesn't seem to exist.
> Is there any way to accomplish this?
>
> Thansk a lot in advance, any help will be really appreciated,
> Pieter
>|||Hello Pieter
Another solution is to use the Table footer
This is the way i do it and it seems to work fine here
Hint :
Open the toolbox in the report designer , drag and drop a table object on
the report
the table has standard a table header ( for the column describing text )
, table body wich contains the data from the dataset
and a table footer wich can be used to sumerize totals of certain columns
if you setup a data source , you can just drag and drop the columns in the
apropriate order , you might notice that the designer is that smart that it
actually creates
the table describing headers , column repeaters and sumerizing footers for
you !
Play a litle with it and you might conclude that the wizards only make you
look stupid , in my opinion you are much more flexible if you do everything
by hand and it is not even that much difficult.
Oh by the way i am a VB coder , maybe the C# guys are a litle upset because
the format scripting used in reporting services is a litle to much VB look
a like :-)
Just kidding :-)
i guess microsoft.public.dotnet.general and / or
microsoft.public.sqlserver.reportingsvcs were indeed more apropriate
HTH
Michel Posseth
"Ignacio Machin ( .NET/ C# MVP )" <machin TA laceupsolutions.com> schreef in
bericht news:%23SC9Z9bNIHA.4196@.TK2MSFTNGP04.phx.gbl...
> Hi,
> First of all do not cross post to groups ont related to your question,
> this is a C# NG that has nothign to do with RS.
> Answering your question, you can include a second table just below your
> main table and display there the totals, This table will be displayed
> right after your main table so you should be ok.
>
> --
> Ignacio Machin
> http://www.laceupsolutions.com
> Mobile & warehouse Solutions.
> "Pieter" <pieterNOSPAMcoucke@.hotmail.com> wrote in message
> news:Ot5Uo5bNIHA.5140@.TK2MSFTNGP05.phx.gbl...
>> Hi,
>> I have a report (Reporting Services 2005) which may contain an undefined
>> number of pages of records. At the end there are some totals and
>> summary's that should be displayed.
>> The problem is: These totals should come always at the bottom of the
>> final page: some kind of Anchor.Bottom or Docking.Bottom property, but
>> this behaviour doesn't seem to exist.
>> Is there any way to accomplish this?
>>
>> Thansk a lot in advance, any help will be really appreciated,
>> Pieter
>|||Thank you both Michel and Ignacio for your reaction, but unfortunately this
doesn't help me at all :-(
Wat I need is a way to stick something to the BOTTOM of the final page. With
your proposals it will indeed come at the end of the report, but not at the
bottom of the last page...
Anybody any idea?
Thansk a lot in advance,
Pieter
PS: About the other newsgroups: Sorry for posting it to multiple newsgroups,
but because it has soemthing to do with both languages I posted it in there
too :-) My apolgizes :-) Personally I don't midn cross posting, as long it
is one and the same post, and not 4 times the same messages.