Why Report Jobs Are Not Generating Reports

Overview of Report Jobs Not Generating Reports

If your report jobs are not generating reports, the following conditions might need to be resolved.
  • You might be experiencing a problem with your middle-tier connection. For information about how to correct this problem, see How to Debug a Middle-tier Connection Problem in a Report Job.
    Note: If your server and network are experiencing problems, make sure those problems are resolved before you rerun the report job.
  • An information map might have been moved. To resolve this problem, make sure that the information maps that are used by the report job are accessible and are referencing the correct data source.
    To locate the information map, review the report job log and find the report definition that is associated with the first error. Search backward in the log until you find the following textual string:
     --- Report: ReportDefinitionNameHere  
    Continue searching backward until you find the source code for the report definition. The source code of the report definition identifies the information map that is the data source for this report definition. The source code begins with the comment:
    /*---- Report: ReportDefinitionNameHere ----*/
  • Data that is required by the report is missing from the data source. To resolve this problem, see Possible Causes of Missing Data.

Possible Causes of Missing Data

Warnings or error messages in your SAS log can help determine why your report jobs fail to generate reports. Any one of the following three scenarios can produce a warning or an error message in the SAS log. To determine which of these scenarios is responsible for causing the problem, see How to Determine Why Data Is Missing.
Note: The SAS/GRAPH procedure that was invoked in the report job determines whether an error message or a warning is produced.
  • A report definition is using an information map with a filter that subsets data that does not yet exist.
    Most of the report definitions that SAS IT Resource Management supplies use information map filters to subset the data for reporting. In some cases, the filters result in missing data and some SAS/GRAPH procedures generate warnings or errors that can be prevented only by rerunning the report when data is available.
    For example, most report definitions that are designed to run on a weekly basis are designed to run at the beginning of the week for the previous full week. When the IT data mart does not contain any data for the previous week, the report definition does not produce any reports. The same is true for monthly reports. Most monthly reports are designed to be run at the beginning of a month for the previous month. In these cases, you should wait until the IT data mart contains the data for the designated time period before scheduling the job.
  • A report definition is using a filter that always results in missing data for a particular report.
    In this case, you might need to update or eliminate the filter to ensure that data is available for a specific report definition.
  • A report definition reports on a specific metric that is not be collected at a particular site.
    In this case, you should modify the report to use a metric that is available or eliminate the report definition from their report job.

How to Determine Why Data Is Missing

Warnings or error messages that are written to your SAS log can help you resolve why data is missing. To locate the problem, perform the following steps.
  1. Review the report job log and find the report definition that is associated with the first error. Search backward in the log until you find the following textual string:
     --- Report: ReportDefinitionNameHere  
  2. If you find data in the aggregation table for the data items that are used by the report definition, you need to determine whether an information map filter is responsible for the absence of data. To do so, perform the following actions:
    1. Find the supplied project, process flow and gallery task that was used to create the report definition.
      You can find this information in the SAS log. Continue searching backward until you find the source code for the report definition. The source code begins with the comment:
      /*---- Report: ReportDefinitionNameHere ----*/
    2. Using a copy of the supplied project, connect to your data source.
      Note: You might need to use the migration wizard if the project was not previously used to connect to the data source.
      For information about this wizard, see the “Migrating SAS Enterprise Guide Projects to Work with SAS IT Resource Management 3.2” topic in Chapter 2, “Preparing to Work with the SAS IT Resource Management Client” in the SAS IT Resource Management 3.2: Administrator’s Guide.
    3. In SAS Enterprise Guide, run the branch that includes the report definition that caused the warning or error.
      If you see the same warning or error, then open the data source that is used in the report task that caused the warning or error.
    4. If the data source is empty, you need to determine whether a filter is causing the data to be missing. To do so, modify the information map, remove all filters, and rerun the information map and the report task. Check the resulting output to see whether the data is now present in the data set.
    5. If eliminating the filter solves the problem, then you need to determine whether one or more of the filters should be eliminated, whether the filter expression should be modified, or whether additional dates of data must be processed.
    6. If eliminating the filter still produces no data, then determine whether the measure is not being processed and make necessary adjustments to the report definition. For example, use another measure or eliminate the report definition from the report job.
    7. Make any required changes. Then, create a user-defined report definition, update the report job to use the new report definition, and redeploy the report job.