Customizable Report Generator


Loads of Reports

With a wide range of standard reports, the ability to customize reports to suit your needs, a huge set of traditional and modern statistics to choose from, and several output options (display, printer, plain text file, HTML file), Diamond Mind's version 11 report generator set a new standard for baseball games.

Since version 9, we have expanded upon that foundation to include the ability to generate groups of reports and entire web sites with a single command.

Displaying Standard Reports on the Screen

When you choose the menu item for generating reports, a window pops up with a list of the reports that are available, grouped by the type of report:

Version 11 Standard Reports 

As you can see in the list box on the left side of this window, you can choose from a variety of reports that display league standings, schedules and game scores, league leaders, team totals, the statistics for players on a team, game-by-game statistics for players, injury reports, transactions, and more.

Choose the report you want, select a destination (display, printer, or file), and click on OK to proceed.

At this point, an options dialog appears. This dialog usually has three tabs, one for options specific to this type of report, one for choosing the time period on which you wish to report, and one for choosing the sections that you'd like to see on the report.

With the first tab, you can choose the data that you want to see on the report and set any options that apply to this report. For example, if you're generating a team batting report, you can choose which team you'd like to see, whether to show pitchers individually or as a group, whether to include players with no stats, and whether to show players who are no longer on this team's roster. The specific choices vary from report to report, but you can always find these options on the first tab.

The second tab allows you to choose the season stage and the time period. The DMB database stores separate statistics for different stages of the season (regular season, divisional series, league championship series, final series), and you can choose which of these season stages to use for the report you're about to generate.

Second, you can choose to generate the report based on the season-to-date totals or using any date interval. We've provided some standard date intervals (one for each of the six months and, to see who's hot and who's not, the last 7/14/21/28 days). Or you can choose a custom date range, with a little popup calandar to help you enter the start and end dates. Using these tools, it's easy to see who the league leaders were in the month of June, what the team standings look like for the second half of the season, and what your players have done for you lately, among many other things. (These date interval options are disabled for reports based on real-life stats.)

The third tab allows you to choose the sections you would like to see. Many reports are divided into several sections in order to accommodate all of the statistics. When it comes time to print the report or save it to a file, you may want to suppress sections you're not interested in, and this third tab on the report options window allows you to do just that.

In most cases, you'll be happy with the default choices on all three tabs, so you'll be able to click on OK and see the report on the screen right away. But it's nice to be able to change the options anytime you want to.

When you display a report on the screen, it looks very much like a spreadsheet. Each section is on a separate sheet, and there's a row of tabs in the bottom left corner that lets you switch among sections with a single click of the mouse. When you scroll the report, the headings remain visible, making it easy to interpret the data. The column on which the report is sorted is shown in a different color from the rest of the columns.

Double-click on the heading for any column and the report is immediately re-sorted on that column. Double-click on the same column again and the report is re-sorted on the same column, but in the opposite sort direction (lowest instead of highest, for example).

You can change the options without having to close the report. The report window has a toolbar across the top. On that toolbar is a series of controls that allow you to change the scope of the report (the teams or players that are included) and to access the options dialog (plus two other important buttons that we'll get to later.)

For example, if you are displaying the team pitching report, you can easily cycle through all the teams in your league simply by clicking on one of three controls -- a button with a left-arrow icon (to show the previous team), a drop-down list with all teams (to show the team of your choice), or a button with a right-arrow icon (to show the next team).

And if you want to change the date interval or any of the report-specific options, just click on the Options button and the options dialog reappears. Make any changes you want, click OK, and presto, the display is immediately updated to reflect your new choices.


When you display a report to the screen, you can choose Print Preview to see how the report would appear on the printed page, and you can choose Print to send the report to the printer.

As we mentioned above, you have the option to suppress report sections to conserve paper. In addition, we put a lot of energy into the pagination logic for our reporting system. We don't like to waste paper, so we took the time to make sure that we could put multiple report sections on the same printed page if there was room. (We've seen a lot of report generators that automatically go to the next page whenever a new section is encountered.)

By the way, since we're using standard Windows features for printing, you'll be able to select which printer you want to send the report to (including printers on a network), which pages you want to print, and the number of copies. The print jobs are routed through the standard Windows Print Manager, so you can delete them before they are printed if you made a mistake and realize it soon enough.

For team-oriented reports, the ones that show the stats for all players on a team, you have the option of printing the report for just one team or for every team in your league or organization.

Finally, many Windows products force you to display your document or report on the screen before you can print it. We know there are times when you don't want to be bothered with those extra steps -- displaying the report, clicking on the File menu and then on Print, then closing the window. So we designed our system so you can send the report directly to the printer in one step.

Saving Reports to a File

As with printed reports, you can send any report directly to a disk file without displaying it first, you can suppress sections you don't want, and (for team-oriented reports) you can include one team or all teams in your league.

HTML option

In addition to saving the reports in a plain-text format that makes them easy to load into a text editor or word processing program, you can generate reports in HTML format.

All of the statistical reports are created as formatted HTML tables, not plain text. (Boxscore files remain as plain text.) This approach allows us to use color and more attractive fonts to make the reports easier to work with. These colors and fonts are specified in a cascading style sheet that we are providing with version 9 and which is automatically generated when you create DMB reports in HTML format.

If you have the requisite HTML knowledge, you can let DMB generate the standard style sheet and then replace it with one of your own. In that way, you'll be able to choose fonts and colors that suit your tastes.

HTML output is available for all of the reports in DMB, but we've also added the ability to generate an entire family of linked reports with one command.

Customizing Reports

One of our most ambitious goals was to give you the power to customize all of the reports that we offer, and we're happy to report that you can do just that. When you display a report on the screen, the toolbar in the report window includes a Customize button. Click on this button and you are presented with a dialog that lists the sections in the report and the columns in each section.

Using these dialogs you can:

- add, remove, and rename any section, or put the sections in a different order

- remove or resequence the columns in any section

- manipulate a second row of headings to a section to help clarify the data that is displayed in the columns below

- add a column, or change the data displayed in an existing column, choosing from virtually any piece of information in the database, including real-life and simulated stats and the splits (left/right and others)

- change the heading that appears above a column

- choose whether a column is left-justified, centered or right-justified

- choose the width of the column (most useful for printer and file output)

- choose the default sort sequence for the column

In addition to giving you control over the section/column layout of the report, this new reporting architecture gives you the flexibility to do things that have never been possible in earlier versions. If you wish, you can design a report that includes real-life and simulated stats in the same report, even in the same section; a team pitching report that includes pitcher-hitting stats; a team batting report that includes fielding stats; a league leaders report that includes batting, pitching and fielding categories on the same report, or one that includes the best and worst players in the same category.

Once you have customized a report, you can save it and run it as if it was a standard report designed by Diamond Mind and supplied with the game.

Memorized Reports

The last button on the report window's toolbar is the Memorize button. What's the difference between a custom report and a memorized report? A custom report defines the structure (sections and columns), while a memorized report defines the content (which teams and players to include, which date interval to use, how to sort the report, and which options to use).

Memorized reports give you the ability to say things like "I want to be able to run the team batting report for every team in my league, with pitchers shown as a group, and the players sorted by slugging percentage." More precisely, they give you the ability to save those settings for future use.

You may recall that generating a standard report involves two steps -- choosing the report and choosing the options -- before the report is displayed. When you generate a memorized report, only the first step is required, since the options have been stored as part of the memorized report.

This can save you a mouse-click or two when you generate a report to the screen (and you can still change the options via the Options button when you do this), but the real value is when you're generating reports to the printer or a file. Suppose you're running a league and you have a dozen reports (standard or customized) that you like to produce for your league members at regular intervals. By memorizing these reports and creating a report group containing these memorized reports, you can generate all of them with a single command, saving yourself the trouble of entering the options each time.

More Statistics

In the process of rebuilding the game around a new database technology, we took the time to give you access to more of the information in the database, and to give you more ways to display it. We knew we wanted to make the reports customizable, and we knew that some of you would want to display information that isn't available on our standard reports. Examples include:

- for reports that list players, we've given you several name formats to choose from:

  Format                       Example

  ---------------------------  -----------------------------

  First name                   Ted

  Last name                    Kluszewski

  Short name                   Kluszewski

  Full name                    Ted Kluszewski

  Full name, bats              Ted Kluszewski, L

  Full name, bats (symbol)     Ted Kluszewski*

  Full name, throws            Ted Kluszewski, L

  Full name, throws (symbol)   Ted Kluszewski*

  Last name, first name        Kluszewski, Ted  

  Short name, bats             Kluszewski, L

  Short name, bats (symbol)    Kluszewski*

  Short name, throws           Kluszewski, L

  Short name, throws (symbol)  Kluszewski*

- for reports that list teams, we've given you several options for identifying the team:

  Format                       Example

  --------------------------   --------------------------------

  Abbreviation                 Was

  Abbreviation plus year       Was69

  City name                    Washington

  Nickname                     Senators

  Short name                   (nickname, if it exists, or city)

- for reports that include batting stats and batting splits, we've included things like on-base-plus-slugging, extra-base hits, steal percentage, secondary average, runs per game, homers (and other stats) per atbat and per plate appearance, and atbats per homer (and other stats)

- for reports that include pitching stats and opposing batter stats/splits, we've included things like holds, pitch count information, and virtually any of the batting statistics, including on-base-plus-slugging, on an opposing-batter basis

- for reports that include fielding statistics, we've included opposition stolen base stats for catchers and pitchers, pickoffs for pitchers and catchers, defensive innings, range factors, and totals for all outfield positions combined

Intelligence versus Flexibility

When a designer sets out to produce a customizable tool such as our new reporting system, it's easy to make the mistake of coming up with something that is too generic. You may have seen other baseball games that offer customizable reports but no intelligence -- no options, no totals, no attempt to paginate the reports in any reasonable way. Such a reporting system is flexible but doesn't have a high baseball IQ.

Our approach is to give you the power of customization without sacrificing baseball intelligence. For example:

- we want you to have the ability to set some preferences for the reports, so our reports have a set of options (how to sort them, whether to show pitchers individually on the team batting report, which set of players to show on the register reports, qualifications for leader boards, and so on).

- we want the reports to have meaningful totals, so we took the time to add logic that computes correct team and league totals for things (like games played and shutouts) that cannot be figured just by adding up the numbers for the players on that team

- we want you to be able to set these options once and use them again and again, so we provide memorized reports.

You get all of these things without having to use the customization feature. And if you decide you want to customize a report, you can do it using a simple point and click user interface.


Previous Post Next Post

  • Jim Wheeler