Adding Content for Use by Report Creators

Add Content for Use by Report Creators

The resources that can be used as inputs to SAS Web Report Studio are information maps, stored processes, banner images, fonts, and existing reports from other locations. SAS Web Report Studio uses the metadata server to access these resources, so these resources must be registered in the metadata repository. The following sections describe how to add this metadata to the repository.
Typically, the addition and changes of content is accomplished from within SAS Web Report Studio. Alternatively, you can also add content from within SAS Management Console.
Note: If you plan to use geographical maps in reports, then see Geographic Map Services.

Make Data Sources Available to SAS Web Report Studio

About Data Sources for SAS Web Report Studio

In SAS Web Report Studio, the term data source refers to information maps, tables, and cubes. All data sources contain data items, which can refer to calculations or physical data (tables or cubes).
Information maps provide a metadata (information) layer between the nontechnical business user and the complexities of database structure and query languages. Information maps are created with SAS Information Map Studio or the INFOMAPS procedure. In a report that is created with SAS Web Report Studio, each section can use only one information map. However, you can have multiple sections per report.

Make Information Maps Available to SAS Web Report Studio

In order for an information map to appear in the list of data sources in SAS Web Report Studio, the user of SAS Web Report Studio must have both Read and ReadMetadata permission to the information map.
Information maps can exist in any folder with one exception. If the special map accessibility check is selected in the Web Report Studio 4.3 Properties dialog box (typically used for sites with row-level permissions) and the information map is relational, then the map must reside below one of the folders specified by the administrator. In this case, the administrator can restrict SAS Web Report Studio to use only relational information maps from known locations.

Provide Direct Access to Tables and Cubes in SAS Web Report Studio

In SAS Web Report Studio 4.31, users who are in the appropriate roles can interact directly with SAS data sets, third-party relational database tables, and SAS OLAP cubes. To make a table or cube appear in a user's list of data sources in SAS Web Report Studio, do the following:
  1. Give the user both Read and ReadMetadata permission to the table or cube.
  2. Ensure that the user has the capability Allow Direct Access to Tables or Allow Direct Access to Cubes.

Make Stored Processes Available to SAS Web Report Studio

Including a stored process in a report section is one of the ways in which to obtain data for the report. Each report section can contain multiple stored processes. When the report section is rendered, the output of each included stored process is displayed. Users can also run stored processes directly from within SAS Web Report Studio.
You cannot use SAS Web Report Studio to modify the query that is generated from the stored process, but you can use SAS Web Report Studio to add layout elements such as headers, footers, images, and text that are independent of the stored process output.
You can convert existing SAS programs into stored processes for use in SAS Web Report Studio. The programs can be parameterized, which enables users to input data in response to prompts.
In SAS Web Report Studio 4.31, if users manually clear a non-required stored process prompt that has a default value, the cleared prompt filters the results based on the default value. To enable the cleared prompt to return all possible values, you can make all possible values as the default for the prompt.
Prompted parameter values are transferred to the stored process as macro variables. To convert an existing program to a stored process, follow these steps:
  1. Insert a *PROCESSBODY statement.
  2. Insert a %STPBEGIN statement before a section of the code that produces output.
  3. Insert a %STPEND statement after a section of the code that produces output.
For example, to alter this SAS program:
%let year=2002;
title "Sports & Outdoors Sales &year";
proc print data=sashelp.orsales;
                where year=&year;
run;
to become a stored process, change the code to look like this:
%global year;
*processbody;
%stpbegin;

title "Sports & Outdoors Sales &year";
proc print data=sashelp.orsales;
                where year=&year; /* &year is a parameter from a user prompt */
run;

%stpend;
Stored process output that will be included in a report must be generated through the Output Delivery System (ODS). Output that is generated in other ways, such as with PUT statements, is not accessible from SAS Web Report Studio. The %STPBEGIN and %STPEND macros in the stored process code ensure that ODS is used to generate the output.
The ODS output type for each stored process is determined by the manner in which the stored process is registered and executed. The ODS output type should not be controlled by making changes to the stored process code (neither by setting the value of the stored process input parameter _RESULT, nor by explicit ODS statements).
The following table indicates how the style is determined for stored process output.
Style of Stored Process Output
Type of Output
Example
Style of Output
ODS text output
PROC PRINT listing
The style is determined by the user's preferences in SAS Web Report Studio (for example, "Seaside").
ODS graphical output
PROC GCHART graphs
The default is an ActiveX device.1 ActiveX also uses the default style such as Seaside.
GOPTIONS DEVICE=ACTIVEX;
1By default, the ACTIVEX device driver is used for graphs in stored process output. This format requires users to install a graph control on their local system in order to render the graph. However, to maintain a zero footprint on the client, SAS Web Report Studio does not require this installation. Therefore, when the stored process is run in SAS Web Report Studio, the ACTXIMG device driver is substituted so that a static image is created. Similarly, if the JAVA device driver is specified, then the JAVAIMG device driver is substituted automatically.
To make a stored process available to users of SAS Web Report Studio, follow these steps:
  • Register the stored process in the metadata by using either SAS Management Console or SAS Enterprise Guide.
  • In SAS Management Console, navigate to the stored process under SAS Folders. On the Authorization tab for the stored process properties, verify that your SAS Web Report Studio users have ReadMetadata access to the stored process.
To learn more about stored processes, see the SAS Stored Processes: Developer's Guide.

Make Images Available to SAS Web Report Studio

Types of Images Supported for Reports

Each report that is created in SAS Web Report Studio can include one or more images. The types of images that report creators can use are described in the following table.
Images for SAS Web Report Studio
Type of Image
Details and Defaults
Banner images
Any report can include a banner image in the header and footer of the report. Banner images make it easier for report consumers to identify the report and to distinguish the report from other reports. Banner images are stored in SAS Folders/System/Applications/SAS Web Report Studio/Common/BannerImages.1
By default, the BannerImages folder is empty. Use the Folders tab in SAS Management Console to manage your banner images.
Conditional highlighting images
A report that includes tables can use images to draw attention to items that might be of particular interest to report consumers. A report creator can define conditions and, for each condition, select an image that is displayed in every table cell where the condition is met. Conditional highlighting images are stored in SAS Folders/System/Applications/SAS Web Report Studio/Common/ConditionalHighlightingImages.1
Use the Folders tab in SAS Management Console to manage your conditional highlighting images.
Other images
Any report can include additional images for decorative or other purposes. These images can be stored under the SAS Folders/Shared/Images folder or in any other folder of the user's choice.
By default, the Images folder is empty. Use SAS Web Report Studio to add images to this folder. For instructions, see the Help for SAS Web Report Studio. Alternatively, you can use SAS Management Console to add images to the folder. For instructions, see the Help for SAS Management Console.
1In SAS Web Report Studio 4.2, this folder is located in SAS Folders/System/Applications/SAS Web Report Studio/Web Report Studio 4.2. When you upgrade to SAS Web Report Studio 4.31, existing images remain in the old folder (so that referencing reports continue to work) and are also copied to the new folder.
To make a banner image or conditional highlighting image available to users of SAS Web Report Studio, follow these steps in SAS Management Console:
  1. Make sure that the SAS Content Server is running.
  2. In SAS Management Console, navigate to the appropriate images folder below SAS Folders.
  3. Right-click on the appropriate images folder to display a menu.
  4. From the menu bar, select Add Content From External File(s) or Directories.
  5. Select the file (or files) that you want to import and then click Open.
    Note: If you select a folder, the folder and its contents are recursively imported. In SAS Web Report Studio, banner images or conditional highlighting images that are stored in subfolders of the BannerImages and ConditionalHighlightingImages folders are displayed in a single drop-down list.
  6. In the Enter description text box, enter the description that you want to be displayed for the graphic in SAS Web Report Studio. Image descriptions should be fewer than 20 characters.
  7. Click OK to close the Enter Description text box. The imported images are available in SAS Web Report Studio within 10 minutes.
  8. To make the images available immediately, restart the Web application server.
If an existing image is later modified, you can reimport the new image by using the preceding instructions. SAS Web Report Studio will detect and use the updated image.
To delete an image so that it is no longer available to users of SAS Web Report Studio, follow these steps:
  1. In SAS Management Console, navigate to the appropriate images folder below SAS Folders and select the image or images that you want to delete.
  2. Select the image files to be deleted, and right-click to display a menu.
  3. From the menu, select Delete and right-click.
Note: The minimum image resolution that is supported for clients (browsers) is 1024 x 768.

Supported Image Types for SAS Web Report Studio

The following image types are supported by SAS Web Report Studio:
  • JPEG
  • GIF
  • PNG
  • BMP

Make Fonts Available to SAS Web Report Studio

You can customize the fonts that are available for tables and graphs in the report. SAS Web Report Studio (and SAS Web Report Viewer, if it is installed) uses the default fonts that are loaded from the following files:
  • The ServerFonts.xml file lists fonts that are rendered on the server. These are the fonts that are available for graphs in a report. The fonts that are listed in this file should be installed on the middle-tier server where SAS Web Report Studio is deployed.
  • The ClientFonts.xml file lists the fonts that are rendered on the client (user's) system. These fonts are available for tables, headers, and other text. These fonts should be installed on the client system where the browser is running.
The ServerFonts.xml and the ClientFonts.xml files are not modifiable.
To supply custom font definitions, create and edit the following files:
  • LocalServerFonts.xml
  • LocalClientFonts.xml
You can create these files from the LocalServerFonts.xml.sample and LocalClientFonts.xml.sample files that reside in the SAS-configuration-directory \Lev1\Web\Applications\SASWebReportStudio4.3\customer folder. To create the files:
  1. Open LocalServerFonts.xml.sample and save it using the name LocalServerFonts.xml.
  2. Open LocalClientFonts.xml.sample and save it using the name LocalClientFonts.xml.
Each sample file contains information about adding fonts. Here is the general format for the font information in the file:
<?xml version="1.0" encoding="UTF-8"?>
  <fonts>
    <font actualfont="Arial" displayfont="Arial" />
    <!-- more fonts -->
  </fonts>
In the preceding code sample, the actualfont attribute is the font name that is stored in the report. The value for this attribute should match the name of the font on the system. If they differ, a font substitution can occur. The displayfont attribute is the font name that is displayed to users.
Note: XML tags, such as <fonts>, are case-sensitive, and should be specified exactly as shown.
In the UNIX and z/OS environments, fonts must be installed correctly and loaded by the JVM in order for SAS Web Report Studio to render them correctly. Both custom fonts, as well as true type fonts supplied by SAS, should be installed in the jre.../lib/fonts directory. See your UNIX or z/OS documentation for commands that apply to font installations.
If you plan to use SAS Web Report Viewer to render reports, create and edit the LocalServerFonts.xml and LocalClientFonts.xml file for SAS Web Report Viewer in a similar way. Make a copy of each respective sample file in the SAS-configuration-directory\Lev1\Web\Applications\SASWebReportViewer4.3\customer directory and add your fonts to the copy.
SAS Web Report Studio (and SAS Web Report Viewer, if applicable) must be reconfigured and redeployed after the custom font files are created or modified. For details, see Rebuilding the SAS Web Applications in SAS Intelligence Platform: Middle-Tier Administration Guide.

Make PDF Files Available to SAS Web Report Studio

SAS Web Report Studio enables you to open PDF files from within the application. To enable the availability of PDF files, upload the files to a folder that is visible to SAS Web Report Studio.
To upload PDF files for availability in SAS Web Report Studio, follow these steps:
  1. In SAS Management Console, go to the Folders tab. Right-click SAS Folders to display the menu bar.
  2. Below SAS Folders, right-click Shared Data and select Add Content From External File(s) or Directories.
  3. In the Specify File(s) or Directories dialog box, select All Files from the drop-down list for Files of type.
  4. Navigate to the folder that contains the PDF that you want to upload. Select the PDF file and click Open.
  5. If desired, enter a description in the File Description field.
You can now view the PDF file or files within SAS Web Report Studio. For information about opening PDF files within SAS Web Report Studio, see the SAS Web Report Studio User's Guide.

Limit the Availability of Relational Information Maps That Implement Row-Level Security

By default, SAS Web Report Studio can interact with information maps regardless of their location within the folder structure. In some situations, you might choose to establish a more controlled environment. For example, you might limit the availability of all relational information maps because some of those information maps include row-level permissions.
To constrain SAS Web Report Studio so that it interacts only with information maps that are in designated locations, follow these steps in the SAS Management Console:
  1. On the Plug-ins tab, under Application Managementthen selectConfiguration Manager, right-click Web Report Studio 4.3 and select Properties.
    In the Web Report Studio 4.3 Properties dialog box, select the Advanced tab.
  2. Click Add.
  3. In the Define New Property dialog box, enter each property name and property value as follows and click OK:
    Property Name wrs.map.accessibility.check.enabled
    Property Value true.
    Property Name wrs.map.accessibility.check.rootlocations
    Property Value Path
  4. For the property name wrs.map.accessibility.check.rootlocations, specify one or more folders as the property value. If you list multiple locations, separate the entries with commas. An example of a path is SBIP://METASERVER/DepartmentFolder/InfoMaps.
  5. Click OK to save your changes.
  6. To enable these properties to go into effect, restart the Web application server.
You can specify more than one path for the rootlocations property. If you list multiple locations, separate the entries with commas. With these settings, a relational information map is eligible for use in SAS Web Report Studio only if it is located in the folder path (or its subdirectories).
Note: These settings are typically used in conjunction with metadata layer permissions. For example, if you specify a folder path that is the only valid location for relational information maps, you should also limit the WriteMetadata and WriteMemberMetadata permissions on that folder.
Note: These settings do not constrain the availability of information maps that use OLAP data.

Import Reports That Conform to the SAS Report Model

In addition to enabling users to create new reports, SAS Web Report Studio enables users to work with reports that were created elsewhere. Importing a report is the process of retrieving the XML file that defines a report and then adding that report to your report storage structure. The retrieved XML file is written to the appropriate directory within your content server, and a corresponding metadata object is created and stored in a parallel location in the metadata repository.
A report that you import into a new metadata repository will render properly only if all of the report's underlying components (such as an information map, a stored process, and the data sources) are available in the appropriate locations in the new repository's report storage structure. To import a report, follow these steps:
  1. Log on to SAS Management Console with a metadata profile that connects to the metadata server into which you will import the report.
  2. Navigate to the appropriate folder below SAS Folders, and select the folder into which you will import the report.
  3. Right-click on the appropriate folder to display a menu bar.
  4. From the menu bar, select Add Content From External File(s) or Directories.
  5. In the Specify Source File(s) or Directories dialog box, select the report that you want to import and click Open.
  6. In the Enter description dialog box, enter a description for the report and click OK.

Import Legacy Reports

You can use the Output Delivery System (ODS) to make legacy SAS reports available in a SAS Intelligence environment. For example, you might have a collection of legacy reports that were created using a SAS Program Editor, SAS Enterprise Guide, or SAS IntrNet. You can use ODS to write those reports directly to the ReportStudio storage structure. SAS Web Report Studio treats the ODS output as a report, allowing a user to display, move, rename, and delete the output as with any other report. However, this type of report cannot be edited from SAS Web Report Studio.
To write ODS output directly to the report storage structure, use the SAS Report XML tag set and the SASXPRRP access method in the FILENAME statement. When you use the SASXPRRP access method in the FILENAME statement, a SAS Business Intelligence Protocol (SBIP) (footnote1) URL identifies the external file to which you want to write. If your process generates multiple files in the same location, the SBIP URL should refer to a directory rather than to a specific file.
A trailing slash in the SBIP URL is required when specifying a directory. If the specified file or directory already exists, it is overwritten.
The following options to the SASXPRRP access method are required unless otherwise indicated:
USERID="user ID"
specifies the user ID to access the server.
PASSWORD="password"
specifies the password to access the server.
DOMAIN="domain"
specifies the authentication domain name for the server.
OMRHOST="host"
specifies the network name of the machine hosting the metadata repository.
OMRPORT="nnnn"
specifies the port number of the metadata server for accessing the repository.
OMRUSER="user ID"
specifies the metadata user ID to access the repository. This can be the same as the server user ID, or it can be different.
OMRPASSWORD="password"
specifies the password to access the repository. This can be the same as the server password, or it can be different.
OMRREPOSNAME="name"
specifies the name of the repository.
For example, the following code outputs SAS Report XML to the specified report storage container:
filename dest sasxprrp
 "SBIP://METASERVER/Department1/2008/Users/xyz/Reports"
   userid="xyz" password="bip2004" domain="thisDomain"
   OMRHost="bipsvrxyz.na.sas.com" OMRPort="9999" OMRUser="xyz"
   OMRPassword="bip2004" OMRReposName="FOUNDATION"
   ;

option noovp;
ods sasreport file="myreport.xml" path=dest;
proc print data=sashelp.class;
run;
ods sasreport close;
FOOTNOTE 1:SBIP is a proprietary protocol for specifying the location of resources in a SAS Metadata Repository. For example, this path SBIP://METASERVER/Department1/2008/Reports/MyReport.srx specifies the location of a report named MyReport within a repository named Foundation. [return]