Chapter 10 Using SAS® Information Map Studio Section 10.1 Overview of the SAS Information Map Studio A Problem In most businesses, there are many information consumers who need reports from business data, but relatively few IT professionals available to meet their requests. Information Consumers Overworked IT 3 A Solution? One way to reduce this backlog is to empower the end users so that they can create more of their own reports, leaving IT to the business of managing and developing mission critical applications. Allowing end users access to business data gives them the ability to create reports quickly and make changes as often as needed. 4 Understanding the Data Unfortunately, empowering end users is not as easy as just telling them how to get to the data and turning them loose with Excel spreadsheets. Most people outside of the IT department are not trained to understand and interpret the complex data structures that store business data. 5 What Are SAS Information Maps? SAS Information Maps consist of metadata that describe a data warehouse in business terms. This provides the ability to take a ubiquitous data warehouse and surface it to business users in context to the way they work. 6 What Are SAS Information Maps? Instead of seeing a multitude of tables and columns… Physical Data View STREETCODE COUNTY MUNICIPALITY STREETID: DECIMAL(15) STREETNAME: CHARACTER(30) STREETCODE: NUMERIC(8) ZIPCODE: NUMERIC(3) (FK) ZIPCODE: NUMERIC(3) MUNICIPALITY: CHARACTER(18) MUNICIPALITY: CHARACTER(18) (FK) COUNTY: CHARACTER(18) CUSTOMER CUSTTYPE CUSTTYPE: NUMERIC(3) CUSTOMERNO: NUMERIC(8) CUSTTYPENAME: CHARACTER(18) CUSTGROUP: NUMERIC(3) CUSTGROUPNAME: CHARACTER(40) SOCIAL_SECURITYNO: CHARACTER(15) NAME: CHARACTER(30) ADDRESS: CHARACTER(30) STREETID: DECIMAL(15) (FK) STREETNO: NUMERIC(3) CUSTTYPE: NUMERIC(3) (FK) ORGANIZATION ACCMAN: NUMERIC(3) ORGNAME: CHARACTER(40) ORGLEVEL: NUMERIC(3) (FK) ORGREFID: NUMERIC(3) (FK) ORGLEVEL ORDER ORDERID: NUMERIC(8) ACCMAN: NUMERIC(3) (FK) CUSTOMERNO: NUMERIC(8) (FK) ORDERDATE: DATE DELIVERDATE: DATE ITEMS ORDERID: NUMERIC(8) (FK) ITEMS: NUMERIC(3) PRODUCTNO: NUMERIC(8) (FK) AMOUNT: NUMERIC(8) PRICE: NUMERIC(8) 7 PRODUCT PRODUCTNO: NUMERIC(8) PRODUCTNAME: CHARACTER(18) SUPPLIERID: NUMERIC(3) (FK) PRODUCTNIV: NUMERIC(3) (FK) PRODUCTREFID: NUMERIC(8) (FK) PRICELIST PRODUCTNO: NUMERIC(8) (FK) STARTDT: DATE ENDDATE: DATE UNITPRICE: NUMERIC(8) ORGLEVEL: NUMERIC(3) ORGTEXT: CHARACTER(40) SUPPLIER SUPPLIERID: NUMERIC(3) SUPPNAME: CHARACTER(30) SUPPADDRESS: CHARACTER(30) SUPPSTREETNO: NUMERIC(3) SUPPZIPCODE: NUMERIC(3) PRODLEVEL PRODLEVEL: NUMERIC(3) PRODTEXT: CHARACTER(40) What Are SAS Information Maps? … the user gets a list of business terms that they can select. These items are surfaced with relevant labels that are customized for the business user. Information Map STREETCODE COUNTY MUNICIPALITY STREETID: DECIMAL(15) STREETNAME: CHARACTER(30) STREETCODE: NUMERIC(8) ZIPCODE: NUMERIC(3) (FK) ZIPCODE: NUMERIC(3) MUNICIPALITY: CHARACTER(18) MUNICIPALITY: CHARACTER(18) (FK) COUNTY: CHARACTER(18) CUSTOMER CUSTTYPE CUSTTYPE: NUMERIC(3) CUSTOMERNO: NUMERIC(8) CUSTTYPENAME: CHARACTER(18) CUSTGROUP: NUMERIC(3) CUSTGROUPNAME: CHARACTER(40) SOCIAL_SECURITYNO: CHARACTER(15) NAME: CHARACTER(30) ADDRESS: CHARACTER(30) STREETID: DECIMAL(15) (FK) STREETNO: NUMERIC(3) CUSTTYPE: NUMERIC(3) (FK) ORGANIZATION ACCMAN: NUMERIC(3) ORGNAME: CHARACTER(40) ORGLEVEL: NUMERIC(3) (FK) ORGREFID: NUMERIC(3) (FK) ORGLEVEL ORDER ORDERID: NUMERIC(8) ACCMAN: NUMERIC(3) (FK) CUSTOMERNO: NUMERIC(8) (FK) ORDERDATE: DATE DELIVERDATE: DATE ITEMS ORDERID: NUMERIC(8) (FK) ITEMS: NUMERIC(3) PRODUCTNO: NUMERIC(8) (FK) AMOUNT: NUMERIC(8) PRICE: NUMERIC(8) 8 PRODUCT PRODUCTNO: NUMERIC(8) PRODUCTNAME: CHARACTER(18) SUPPLIERID: NUMERIC(3) (FK) PRODUCTNIV: NUMERIC(3) (FK) PRODUCTREFID: NUMERIC(8) (FK) PRICELIST PRODUCTNO: NUMERIC(8) (FK) STARTDT: DATE ENDDATE: DATE UNITPRICE: NUMERIC(8) ORGLEVEL: NUMERIC(3) ORGTEXT: CHARACTER(40) SUPPLIER SUPPLIERID: NUMERIC(3) SUPPNAME: CHARACTER(30) SUPPADDRESS: CHARACTER(30) SUPPSTREETNO: NUMERIC(3) SUPPZIPCODE: NUMERIC(3) PRODLEVEL PRODLEVEL: NUMERIC(3) PRODTEXT: CHARACTER(40) ... What Are SAS Information Maps? An information map contains metadata about the physical tables used in the information map how the tables relate to each other how to surface data items to end users business rules. 9 Who Uses Information Maps? Information maps are used by business users when they are asking questions of the data. Because the warehouse is surfaced in terms they understand, business users can be more self-sufficient with ad hoc questions and reports. Reporting applications such as SAS Web Report Studio, which is targeted at business users, surface information maps as data sources for queries and reports. 10 SAS Information Map Studio SAS Information Map Studio provides the bridge between your data warehouse and the end user who builds reports from the data. Physical Data Warehouse Business Metadata Reporting SAS ETL Studio SAS Information Map Studio SAS Web Report Studio Builds warehouse metadata Reads warehouse metadata Builds Information Maps Reads Information Maps SAS Metadata Server 11 Report Viewing Ad-hoc Reporting Builds and reads report metadata SAS Information Map Studio SAS Information Map Studio is a Java application used to create, edit, and manage SAS Information Maps. The application runs on several Windows operating systems: Windows NT Windows 2000 Windows XP. 12 Where Are Information Maps Used? End users can access information maps through SAS Web Report Studio (create reports) SAS Information Delivery Portal (view only) SAS Solutions (SAS Marketing Automation) custom applications developed through SAS AppDev Studio. 13 Who Will Build Information Maps? SAS Information Map Studio is targeted at data modelers or data architects who have experience in data modeling are familiar with SQL, MDX, or both know the physical data have a strong understanding of the business domain. Most report writers are consumers of information maps for building reports. Typically, these users do not create information maps. 14 Information Maps versus Database Views Information maps are much more powerful than database views. In addition to surfacing physical database variables, they capture metadata about allowable usage and query generation rules. Information maps describe what can be done. Information maps hide the physical structure of the data from the business user. Query code is generated in the background, so the business user does not need to know SQL. continued... 15 Information Maps versus Database Views Information maps support the ability to group data items logically into folders, providing a simpler way of locating items. Information maps contain business rules such as filters and calculated items. These rules are surfaced whenever the information map is accessed, providing consistent and accurate results. continued... 16 Information Maps versus Database Views 17 Information maps can be extended by SAS Stored Processes, integrating the power of SAS transformations and analytics with business reporting. Information maps interact with the common OMR security scheme, allowing for centralized security management through SAS applications. Interaction with SAS Application Servers Information maps can use different types of application servers: SAS Metadata Server Required to read and write metadata in a SAS metadata repository. SAS Workspace Required to execute SAS code and Server access data. SAS OLAP Server 18 Required to generate information maps from OLAP cubes. ... Section 10.2 Using the Information Map Studio SAS Information Map Studio Interface The main window of SAS Information Map Studio is used to view, create, and modify information maps and contains the following elements: Menu Bar Toolbar Repository Tree Presentation Tab Properties Tab Relationships Tab. 20 Menus and Tools 21 ... Repository Tree 22 ... Presentation Tab 23 Properties Tab 24 ... Relationships Tab 25 Joining Tables When joining tables, the default relationship is an inner join, which returns only matching rows. Outer joins can also be used to return non-matching rows. The modifiers left, full, and right determine which table contributes the non-matching rows. Left 26 Full Right Information Map Data Items An information map is made up of data items. Each data item has metadata to specify its properties, such as data item name description classification aggregation format permissions value generation method. 27 ... Information Maps – Filters A filter is an information map item that contains criteria to enable the information map consumer to subset a result set. Having filters stored in an information map can be useful when the filter is complex and difficult for an end user to build without advance knowledge of data values. 28 Information Maps – New Data Items Information map data items can refer to a physical data field or a calculation. When you create a new data item, the underlying data sources are not changed. You are creating a field that is created dynamically every time the information map is accessed. You are not physically saving the result in the data. It is only a metadata instruction on how to build the field. 29 Using the SAS Information Map Studio This demonstration shows how to build an information map. 30 Define Data Libraries Create Stored Processes Register Source Tables View and Analyze Data Define Target Tables Create Information Maps Metadata Create ETL Jobs Create Reports Create OLAP Cubes Use the Information Delivery Portal Exercise Create an information map named Employee Listing from the Organization_Dim table. 31 Define Data Libraries Create Stored Processes Register Source Tables View and Analyze Data Define Target Tables Create Information Maps Metadata Create ETL Jobs Create Reports Create OLAP Cubes Use the Information Delivery Portal Exercise Modify the Employee Listing information map by adding filters, new data items and Folders. 32 Define Data Libraries Create Stored Processes Register Source Tables View and Analyze Data Define Target Tables Create Information Maps Metadata Create ETL Jobs Create Reports Create OLAP Cubes Use the Information Delivery Portal Exercise Modify the Employee Listing map by joining it with the Order_Fact table. 33 Define Data Libraries Create Stored Processes Register Source Tables View and Analyze Data Define Target Tables Create Information Maps Metadata Create ETL Jobs Create Reports Create OLAP Cubes Use the Information Delivery Portal