Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Report length exceptionally long

edited June 2004 in General
We have a report which we are converting from Quick Reports to
Reportbuilder. We are using the same dataset components. Report Builder
finishes in 40 minutes and and Quick Report takes only 10 minutes for the
same data.

Does anyone know why Report Builder is taking so long? Or can you point me
in the direction of where to look for the problem?

Thanks

Joel

Comments

  • edited June 2004
    Hi Joel,

    How are you linking your datasets? If you are using query parameters, the
    query will be refreshed every time the record changes, slowign things down.
    You might want to try using datapipeline linking instead. See the article
    below for more information...

    ------------------------------------------------------
    Tech Tip: Linking SQL Queries for Master/Detail Data
    ------------------------------------------------------

    The following example shows two options for linking SQL queries to
    create a master/detail relationship.

    In this example, we are using Delphi's DBDemos data to create a
    Customer/Order relationship. Thus we wish to link the Orders detail to
    the Customer master.

    I. Delphi Query Linking
    ------------------------

    a. Set the detail TQuery.DataSource property to point to the master
    query's TDataSource component.

    b. In the SQL "Where" clause for the detail query use a ':' followed by
    the linking field name from the master:

    example
    select *
    from orders
    where orders.CustNo = :CustNo

    Now each time the master record position changes, the detail query will
    automatically be refreshed with the correct result set.


    II. RB DataPipeline Linking
    -----------------------------

    a. Set the detail DataPipeline.MasterDataPipeline to point to the master
    DataPipeline.

    b. Use the detail DataPipeline.MasterFieldLinks property to define the
    linking relationship

    c. In the SQL for the detail, retrieve all records and sort them by the
    linking master field:

    select *
    from Orders
    order by CustNo


    Notes:

    1. Using RB DataPipeline, each query is executed only a single time -
    thus performance is much faster.

    2. RB Professional and Enterprise Editions include a visual Data
    environment for creating SQL queries, defining linking relationships,
    and creating Ask-At-Runtime parameters. Using the RB tools you could
    create the above linked queries in about 10 seconds.

    --
    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.