Break Groups in Oracle Reports

From: Todd Rubel <trubel_at_oakgroup.com>
Date: Sun, 22 Jul 2001 06:55:35 GMT
Message-ID: <d272bee7.0107021522.5c5f8842_at_posting.google.com>


[Quoted] This is a toughy that I have been stumping a lot of people with so get out your thinking caps and let me know what you think...

I need to create a report that uses dynamic break groups. In other words, I have a set of detail records (they will not change) and the grouping that happens above them can change (both in column type and number of groups).

For example, I could have a report that lists types of cars sold. Here is the report with no grouping:

  Type of Car Owner Price Paid

  Pontiac       Bill    20,000
  Pontiac       Bob     30,000
  Pontiac       Jim     25,000
  Jeep          Sally   20,000
  Jeep          Joe     15,000
  Mazda         Donna   15,000

The next time the user runs the report they want to group by Type of car. The report would look like this:

  Pontiac     Total $:75,000
                Bill    20,000
                Bob     30,000
                Jim     25,000

  Jeep        Total $:35,000
                Sally   20,000
                Joe     15,000
  Mazda       Total $:15,000
                Donna   15,000

The next time the user wants to group by State (data not displayed in report):

  Pontiac     Total $:75,000
    NJ        Total $:50,000
                Bill    20,000
                Bob     30,000
    NY        Total $:25,000
                Jim     25,000

  Jeep        Total $:35,000
    NJ        Total $:35,000
                Sally   20,000
                Joe     15,000
  Mazda       Total $:15,000
    CT        Total $:15,000
                Donna   15,000

I think you see what I'm getting at. Basically the user will choose how many groups and what to group on at runtime. The only way I have thought of to do this would be to write the entire report in XML and then pass it to the EXE, building the XML string based on the user selections. While this might work, I'm hoping there is an easier way of doing this.

Please let me know if you guys have any ideas because this one is killing me. Thanks.

   Todd M. Rubel
   The Oak Group, Inc.
   trubel_at_oakgroup.com Received on Sun Jul 22 2001 - 08:55:35 CEST

Original text of this message