Getting Started with Report Writer and Writing Reports

Modified on Tue, Jun 25 at 1:15 PM

Take a look at our Report Writer Video Library!

Reports Tabs in Genesis

There is a "Reports" tab for virtually every module in Genesis.  The Reports tabs hold:

  • The builtin reports for the module
  • Any ReportWriter reports that have been installed on that particular Reports tab.

Built-in reports cannot be moved from one module to another, but ReportWriter reports can be:  it is possible to move a ReportWriter report to another module's Reports tab.

The ReportWriter module consists of only a Reports tab:  This is no different from any other Reports tab.  

It simply creates a 'safe space' for developing ReportWriter reports before moving them to another Reports tab and making them available to other users.


Creating a Report

You can create a Report Writer report on any Reports tab where you have permission to create a report.

How do you know if you have permission to create a report?  The "Add Report Writer Report" button appears at the top of the list of existing reports:

If you have the "Add Report Writer Report" button, you have permission to create reports on that reports tab, and if you do not see this button, then you do not have permission to create a report.

Permission is by individual Reports tab - so you may have permission to create a report on the Student Data>Reports tab, but not on the Attendance>Reports tab, for example.

Perhaps you only have permission to create reports on the ReportWriter>Reports tab, but require your system administrator to move the new report to one of the other Reports tabs.

If you do not have permission to create a report, you must request it from your local System Administrator.  

Genesis cannot grant you these rights.

To create a report, click the "Add Report Writer Report" button.

The causes the "Add ReportWriter Report" dialog to appear:

Enter a name for your new report.  This is not cast in stone:  it can always be changed later!

Click the "Add Report Writer Report" button once you have entered a name for the report.

This brings up the "Select Base Table" screen of the report.

The number in the "Seq" field is very important:  this will be the number for your report.  

ReportWriter Report Numbers:  Understanding, Recording, and Remembering ReportWriter Report Numbers

Every report in Genesis is identified by a report number.  

ReportWriter reports all have 6-digit numbers starting with "99": 990001 to 999999.

When you create a ReportWriter report, the "Seq" field shows you the next available ReportWriter report number.  

This must be padded out with the '99' and zeros to become a full ReportWriter report number.

For example, means the report's actual number is 990387.

This is the number you will need to locate your report. Write it down somewhere.

When the Seq field displays a number (), it means that there is no lower number available.

You can pick - or try to pick - a higher number, e.g. 424, but all lower numbers are already being used for reports.

Choosing a Base Table

When you have created a report, your first task, before you can do anything else, is to pick a "base table" for your report:

The most commonly used table to start a report is the Student table.

If you have never written a report before, start with this table - it is the starting point for all student records.

To choose a table as your base table, click the button for it on the left side of the screen:

Choosing the Student Table

To select the Student table as your base table, set the "Show Only Tables from this Group" drop down to "Student Data", then scroll down until you locate the Student table:

Click on the left side "Student" button.  This selects the Student table as your base table and will bring up the "Columns" screen.

Big Rules for Base Tables

You can only choose one base table for your report.

If you guess wrong and end up with the wrong base table, delete the report and start over.

The ReportWriter will allow you to change the base table, but you shouldn't do it:  it is always better to start over with a completely new report.

Choosing Data Fields from the Base Table

Automatic Columns

When a table is selected as the base table, one or more columns are automatically added to the list.

Student Table Automatic Columns

When the Student table is selected as the base table, four columns are automatically added to the Columns screen, and three of these are used on the Filters screen as well.

  • School Year - This holds the school year of the record.  It is used on the Filters screen to select only the "school year" being used for the report.
  • School Code - This holds the school code of the record.  It is used on the Filters screen to select only the "school code" being used for the report.
  • Student ID - The id of the student to whom the record belongs.
  • EnrollmentStatus - This holds the student's current status, either ACTIVE or WITHDRAWN.  It is used on the Filters screen to select only currently active students.

These are used on the Filters screen:

These filters select the following:

  • All ACTIVE students in the School Year and School selected in the screen header when the report is run.

Adding Columns

Below the list of Columns, there are three controls:

The top control on the left side allows you to add fields from the base table:

There are two options:

  1. Add a single, specific field at a time
  2. Mass add a group of fields, in alphabetical order, and move them around after you add them

Adding One Field from the Base Table at a Time

The left side of the control is a drop down list containing all remaining fields of the base table.  

Select the one field you want to add to the Columns and click the Add button:

You can repeat adding one field at a time until you have added of the fields you wish to get from the base table.  

Using this method, you can select the fields in any order.

Mass Adding Fields from the Base Table,  in Alphabetical Order

The right side of this control contains a "Multi Add" button.

Clicking the "Multi-add" button brings up a popup containing all of the remaining fields in the base table, listed in alphabetical order, with checkboxes for selecting them.

This allows you to mass add a group of fields, but they will appear in alphabetical order (you can change the order later).

Linking in Tables

The bottom control on the left side lets you add Columns either from a linked in table or an Expression:

Linking in a Column from Another Table

This is a relatively lengthy and complicated process.

  1. To start, enter a Column Header for the linked column into the "Display As" text field.
  2. Leave the "Code" field blank - it will be automatically filled in.
  3. The "Seq" field specifies the "sequence number" for the new Column - it is simply where the column should be located in the list of Columns.  The default is "the next column and the bottom of the list".
  4. Select "Look up" as the type.  For example:
  5. Click Add to continue to the next phase of adding the new, linked Column.  This brings up the "Define Linked Column" screen:
  6. There are several "Parts" to specifying how to link the new column to the existing columns in the Report.   This is Part 1:  specifying which table and which field to link in.   This links in a single field from a table:  it does not link in the entire table.
  7. Select the table group and specific table to actually link in.  This causes the "Field" to be displayed - you can now select the individual field to link in:
  8. Part 2 of this process now comes up, "How would you like to display this data in the column?":

    This is actually asking "how should the column be linked in?" and, depending on the type of data in the field you chose, there are various options.

    For String (i.e. Text) fields, there are four options:
  9. In this example, the StudentContact2Summary table is being used:  with that table, there is only one record per student per school year:  if more than one row is returned, there is a severe problem with the database.   In that case, the first option, "Field Value (if more than 1 row returned; Error out)" is the correct option.  
  10. Select the option you want to use and click "Use These Parameters".  This will bring up Part 3 defining the link:  specifying the Filters
  11. In "Part 3", you must specify how to link the new table column to the existing Columns in the Report. This is extremely important. For the StudentContact2Summary table, which we are using in this example, only two Filters are needed: School Year to School Year, and Student ID to Student ID:
  12. Rules for adding Filters can be found here.

Additional Articles

A Tour Through Report Writer 

Report Writer FAQ 

The Custom Report Library 

The Report Writer Training Library

Column Formatting - Dates, Booleans, Numbers 

Column Processing Model 
Adding an Option to Run a Report by a Student List 
Using a Lookup Column in Report Writer Reports 

Sending Forms to Student Document Folders 

How to Create a Report Writer Report Form to Display Documents in the Parent Portal 

Report Scheduling Options 

Including Student and Staff Photos in Custom Reports 

Bar Codes and Report Writer 


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article