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 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 text 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 following 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. For example, you might see this warning message in the SAS log:
NOTE: Input data set is empty.
WARNING: Report definition did not generate a graph. 
Make sure that your input data source contains data.
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.
  • 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 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.
    Another example where you might be missing data is when you first start to run daily jobs. (Daily jobs report on the last whole day for which there is data. These jobs do not report on data if at least one completed day is not present in the data source.) In some cases, you might have specified a cutoff time for completing the day. If there is no data that is equal to or greater than that cutoff time, then there is no data for the current day. In addition, because this was the first time you ran the daily reporting job, there is no previous day’s data. Therefore, your report will not be generated.
    Note: This scenario no longer applies after the first day. From day 2 onward, the data for a completed (previous) day will be available.
  • 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 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 the 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 text 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 following 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.
    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 responsible for the missing data. 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 which of the following courses of action you want to take:
      • eliminate one or more of the filters
      • modify the expression of the filter
      • process additional dates of data
    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.