SAS-BI (Business Intelligence)

What is Business Intelligence?

As name suggests it’s the Intelligence one gains from the business; about the business.

Typically it is achieved by various Data warehousing, Data mining and reporting tools and techniques.

These tools and techniques help the system to provide right information to right people at right time and right format. So decision makers can more concentrate on their business of making decisions instead of wasting time in digging plies of enterprise data.

How SAS deals with Business Intelligence?

SAS has developed end to end business intelligence solution named as SAS Enterprise Intelligence Platform. It enables the users to extract and transform enterprise wide data into fully integrated reporting warehouse, leading to more usable business data and more effective decision making.

With the way; the platform is structured and the way metadata (The metadata is explored in details at the below sections) is handled; it becomes feasible to represent the single version of truth to the intended users.

SAS stores the data only once which and shares its metadata across all the applications dealing with that data which might be ETL tool trying to update that data or data mining tool trying to dig out that data for some ad-hoc queries or might be reporting tool producing monthly report for the business.

After all what is METADATA?

This question teased me a lot since my college days. Metadata is often referred as ‘data about data’; but I would like to say it as it is nothing but additional information of your data.

Usually many applications which deal with the DATA need some basic information about it from their perspective; for example a database system where you are going to save the data needs to know how user wants the data to be saved? So when you fire a create table command on the database is nothing but you give that information to the database system. In more specific term you define the table structure which is gets recognized as tables Metadata.

In another example when some reporting application needs to produce the weekly report it needs the information about the fields on the report, format of those fields which are going to be represented to the user; what all database tables its going to deal with; in which library or schema they are located etc. etc. All those terms are referring nothing other than metadata.

So it is same with SAS as well; In the context of SAS; metadata is the information about all the resources used in the provision of BI. For example it would be

  • The name of the column rather than the actual values stored within it.

  • Information about How to read in data from non SAS location.

  • Description of report content rather than the actual report itself.

  • Details of the access rights of all users.

  • A description of the source and target tables used in data integration jobs; as well as details of all the transformations.

SAS Metadata Repository

It is the location where all this metadata is saved in some specific format.

SAS stores its metadata in centralised repository; which in turn is managed by SAS Metadata Server. This metadata is then shared with all the applications under SAS Open Metadata Architecture. This helps SAS in achieving single storage of data and consistency of the information among all the applications using it.

This can be easily imagined with the following diagram:

We can see Metadata repositories sitting besides all the applications including ETL, Warehouse and Reporting applications.

SAS Enterprise Intelligence Architecture

As discussed earlier it is platform designed for Business intelligence solution.

It has got different parts or tiers. The metadata sits alongside these tiers and works as glue to stick all these layers together. There are 4 different tiers; Data tier, Server tier, Client and Web tier. This has been shown in the following diagram.

All these tiers can have been installed on the same machine or might be on different machines; however it is common practise to have server tier and web tier on one machine and data tier and client tier on different machines.

  • Data tier – Is nothing but where the all Enterprise level data resides.

It includes SAS Datasets, OLAP cubes, SAS SPDS (Special Performance Data Server), SAS SPDE, Other RDBMS tables like oracle, ERP systems etc.

Using SAS/ACCESS we can connect to external databases like Oracle; DB2 etc.

  • Server Tier – This includes all different types of SAS Servers. SAS Servers are similar to windows servers; which run in the background to serve the requests rose from client.

SAS servers are usually installed on different machines. Various SAS servers all listed as below;

    1. SAS Workspace Server – The SAS Code generated by various client applications is sent to this server for execution. SAS Workspace server then access various datasets and libraries included in the code and executes them providing the output back to the end users. Each user has individual process allocated on the server.

    2. SAS Stored Process Server – This is place where all SAS Stored Process are executed. SAS stored processes are centrally stored SAS programs that can be accessed from different SAS client and web applications.

    3. Object Spawner – Its part of Server tier which is responsible for start up of SAS Work space server and connect them with the Metadata Server.

    4. SAS OLAP Server – This is used to access previously created OLAP cubes. It can read the cubes which have been created with other non-SAS applications. Process MDX queries. It is interesting to know that building the OLAP cubes is done by using SAS Workspace server while OLAP server can be used just for reading purpose.

    5. SAS/Connect Server – It used to submit SAS code from one machine to be executed on another. Provides Remote Library Services, Data transfer services etc.

    6. SAS/SHARE – Gives access to SAS files for multiple users at a time; and avoid connecting to the files thru different SAS/Connect remote logins.

Apart from this there are some additional SAS servers like Batch Server, Grid Server, Platform suit for SAS etc. However most important of all are SAS Workspace Server, SAS Stored Process Server, SAS OLAP server and Object Spwaner.

So what is SAS Application Server?

While working with SAS environment one frequently comes across this term.

In short SAS application server is a way of grouping together different logical servers.

A logical server is nothing but a group of one or more servers. Might be a group of logical workspace servers; a group of many workspace servers.

Or a logical stored process servers etc.

On SAS Application servers these different types of logical servers are usually grouped together. Different logical servers taking part to form SAS application server are SAS Work space servers, SAS Stored process servers, SAS OLAP Server, SAS Grid Server, SAS Batch Server and SAS/Connect Server.

SASMain and SASApp –

When SAS application Server and SAS Metadata Server are installed on the same machine then this machine will be called as SASMAIN.

Otherwise the individual SAS Application server will be called as SASApp.

  • SAS Web Tier – This tier contains number of components which are required to run any SAS Web applications like SAS Web Report Studio or SAS Information Delivery Portal.

The list of components of SAS Web Tier is as follows,

    1. Servlet container or J2EE application server.

    2. Java 2 Software Development Kit.

    3. WebDAV Server.

    4. SAS Application services.

    5. SAS Foundation services.

    6. SAS Web Infrastructure kit.

    7. SAS Web Applications.

  • Client Tier This tier consist of all the client applications of SAS. Usually those applications get installed on users PC’S. These applications are users interface to SAS EIP. Through these applications users log into SAS metadata server and share the metadata through centralised metadata repository. These client applications are java based, windows based or accessed via a web browser.

Below is the list of client applications

Java Based Client Applications – SAS Management Console, SAS DI Studio, SAS OLAP Cube studio, SAS Information Map Studio.

Window Based Client Applications - SAS Enterprise Guide, SAS Add in for Microsoft office etc.

Web Based Client Applications- SAS Web Report Studio, SAS Information Delivery Map.

SAS Metadata Server:

As mentioned earlier metadata server sits besides all the tiers and holds them together.

Metadata describing the whole SAS environment is stored in SAS metadata repositories; and is accessed and managed by SAS Metadata server.

There are 3 types of metadata repositories, Foundation, Custom, and Project.

  • Foundation – It is the parent repository and contains metadata of which is common to all the users e.g. Servers and Library definitions

  • Custom – This repository is dependent on either Foundation repository or some other Custom repository. It contains metadata specific to some department or project team. e.g. ETL jobs for sales department warehouse.

  • Project – This repository is dependent on Foundation or other custom repository. This is used in change managed environment; it protects multiple users potentially making changes to the same data file.

Metadata is stored in terms of metadata objects in repositories. The common metadata objects are Data Tables, Libraries, jobs, cubes, information maps, reports, servers, users etc.

Conclusion - The SAS Enterprise Intelligence Platform is an end-to-end framework for delivering BI across an organisation. Through its multi-tiered, metadata-sharing architecture, it meets the needs of different types of users.