Working with Reports in ArcMap, Part III-Using Templates

Through this blog series, you have been introduced to the new reporting tools and learned a little bit about how to work with fields in a report. At this point, you may want to know how you can leverage the reporting tools to improve your reporting workflows. In ArcGIS 10, you don’t have to start from scratch every time you create a report. You can design a report template, often referred to as a report layout file, that you can use with different datasets.

When you create a report, it’s important to think about how you want to use the report. Is the report part of a repetitive task where analysis results are presented to decision makers? Are you designing a template that should be used for any report created by your department? Let’s examine what you could do if the answer to these questions is yes.

Running Reports Based on Dataset Options
On the first page of the Report Wizard, there is a Dataset Options button that allows you to decide how to filter your input data for the report. The default option is to use all records from the chosen layer. You can also choose to base the report on the selected records of the layer or define a specific query to filter your data. Here is an example workflow:

  1. Create a report, using only the selected set from the layer
  2. Once you’ve finished designing the report layout, save the .rtf (you have to do this in the Report Designer)
  3. Now you can use that.rlf to re-run the report

You can easily run a report at any time interval. If you have a monthly meeting or are creating a map series, you can reuse the .rlf to quickly regenerate a report. However, in the above example, you will always need a selection set to have data in your report. This is great because you can run a model or perform some analysis, at the end of which you are left with a selected set of features, and you’ll be able to use the .rlf to create a report based on your results.

Using a Report Template with Different Datasets
One important feature of report layout files is that they are bound to the dataset that was used to originally create the report. This means you can rerun a report as long as the original dataset is in the map document (it does not need to be in the active data frame). You can also run or load a report if the original dataset is not in the map document. If you try to do this, you will be prompted to pick your dataset. You can choose from any layer or table that is already in the map document, or you can browse to the location of the data you want to use.

If you want to create a new report using a different dataset with an .rlf template, follow these steps:

  1. Click Load Report from the View menu > Reports pull-right menu
  2. choose the .rlf template that you want to use
  3. Select the data that you want to use for your report
  4. On the Report Source Data dialog box, map the fields in the order you want them to be displayed. Note:You can only map fields to the same type of field. If you don’t want to map a certain field, you can remove the field from the report.
  5. Click OK, and the report will load in the Report Designer.


This entry was posted in Uncategorized and tagged , , , , . Bookmark the permalink.

Leave a Reply


  1. RachelB says:

    Is it possible to have one record per report, say if I had 50 records it would create 50 reports?

  2. jbelliott says:

    does this workflow pertain to ArcGIS10? After i choose my .rlf file, I do not have the option to select a data source. It just opens up the original .rlf document in Report Designer…

  3. kangjl says:

    Yes I experienced the same–
    After i choose my .rlf file, I do not have the option to select a data source. It just opens up the original .rlf document in Report Designer like jbelliott experienced.
    How do you use the rlf template on another layer/dataset?

  4. esrikmarten says:

    The .rlf file will automatically try to use the datasource that was the original source for the report. The .rlf will only look through the already added datasources/layers in ArcMap though.

    If you want to load an .rlf as a template, simply open the .rlf in a blank map document.

  5. andywinngis says:

    I’ve got a saved expression for selecting land owners and I have a saved .rlf of “selected” land owners for my report. When I change the land owner for a new query and try to run a new report based on the .rlf I get no records reported even though they have been selected in the table. What am I doing wrong?

    • dpettittva says:

      It appears that the reporting tool uses some sort C# syntax, therefore, this appears to yield the username value:
      =System.Environment.UserName. You can put that in the Data Field property of a Text Box.

      I have a question of my own. I’m using a GroupFooter in a road name index that groups road names by the first letter of the road name (i.e. Apple Ln, Atlas Blvd would be in the “A” group, and so on….incidentally the syntax for that is: =(NAME_SORT.Substring(0,1) >= “A” & NAME_SORT.Substring(0,1) <= "Z")?NAME_SORT.Substring(0,1):"Numbered Streets").

      Anyway, in my GroupFooter I'm saying that i want to have New Page "After" the group so that each letter grouping will start on a new page. This works great except after the "Z" section i get an extra, blank page. Is there anyway to have this extra blank page? I originally had this road name index setup in an MS Access report and it doesn't add an extra, blank page at the end.

      Anybody know how I would prevent this last, blank page?