Hints and Tips for Using the Information Maps Engine

Improving the Performance of the Information Maps Engine

To improve the performance of the Information Maps engine, consider the following:
  • Use filters to reduce the amount of data that the engine has to return.
  • Use the DROP= or KEEP= data set options to select only the data items that you need.
  • If you use static data (that is, data that you know will not change during the time you are using it), retrieve the data once with the Information Maps engine and then save the data to a data set that is local to your SAS session. You will save time by not having to access the static data (which could be on another server) multiple times.
  • If the data is on your local machine or if you have clients on your local machine that can access the data, then you will get the best performance from the engine. If the data or the clients are not on your local machine, then the following message appears in the SAS log indicating that performance will not be optimal:
    NOTE: The Information Maps LIBNAME Engine is retrieving data via a remote connection. Performance is not optimized.
  • It is important that your middle-tier components be configured for efficiency and performance. This includes making sure that your Java Virtual Machine (JVM) is properly tuned and has the relevant memory settings specified correctly. The garbage collector for the JVM should be configured appropriately.
    For detailed information about improving the performance of your middle-tier components, see "Best Practices for Configuring Your Middle Tier" in the SAS Intelligence Platform: Web Application Administration Guide.

Creating Information Maps That Work Well with the Information Maps Engine

Following SAS Naming Restrictions

Information maps that meet the following restrictions work well with the Information Maps engine:
  • Names have a maximum length of 32 bytes in Base SAS software.
    Information map names can be up to 60 bytes long, but you must use names that are no more that 32 bytes long for information maps that you access using the Information Maps engine.
    If a filter or data item in the information map has a name that is more than 32 bytes long, then the name is reduced to a unique 32-byte name when it is used in a SAS program.
  • Descriptions have a maximum length of 256 bytes in Base SAS software. If you create a description in an information map that is more than 256 bytes long, then the description is truncated when it is used in SAS programs.
Note: Clients that rely on the Information Maps engine, such as SAS Enterprise Guide and SAS Add-in for Microsoft Office, are affected by these name and description length constraints.
For more information about names in the SAS language, see "Rules for Words and Names in the SAS Language" in SAS Language Reference: Concepts.

Using Calculated Data Items

Calculated data items in information maps used by the Information Maps engine or by clients that rely on the engine, such as SAS Enterprise Guide and SAS Add-in for Microsoft Office, should be created using the data in the expression whenever possible. Data items that are based on expressions that include either business data or summarization functions cannot be used in detailed queries. Calculated data items appear only when the AGGREGATE=YES option is used.

Working with Natural Language Names in SAS

Information map names, data item names, and filter names can be stored as natural language names in the metadata. Natural language names have blank spaces separating the words in the name or include symbols in the name. To use natural language names in SAS, you need to do the following:
  • Make sure that the PRESERVE_MAP_NAMES option is set to YES (the default) if you are using information maps with natural language names and want them to be accessible to the Information Maps engine. For more information about the PRESERVE_MAP_NAMES option, see Other Options for the Information Maps Engine.
  • Specify the VALIDVARNAME=ANY system option to allow names that contain any character, including blank spaces or mixed-case letters. This SAS system option controls the type of SAS variable names that can be created and processed during a SAS session. For more information about the VALIDVARNAME= system option, see SAS System Options: Reference.
  • For SAS variable names and filter names, specify natural language names (names that contain blank spaces or symbols) as SAS name literals. For more information about SAS name literals, see "Rules for Words and Names in the SAS Language" and "Avoiding Errors When Using Name Literals" in SAS Language Reference: Concepts.
The following example uses the Information Maps engine to make an information map with a natural language name available for use in the PRINT procedure:
libname mymap infomaps ... ;

option validvarname=any;
proc print data=mymap."Results (Yearly)"n (drop="Tax Rate (Yearly)"n);
run;
The VALIDVARNAME=ANY option allows the variable name in the DROP= data set option to include blank spaces, as well as the parentheses symbols. The SAS name literal surrounds the information map name in the PRINT procedure statement to allow the name Tax Rate (Yearly) to remain intact and contain the symbols that are otherwise not allowed in SAS.
Note: The VALIDVARNAME= option applies only to variable names and filter names. Results (Yearly) is a valid information map name because the PRESERVE_MAP_NAMES= option in the LIBNAME statement for the Information Maps engine defaults to YES.