Everything Still Starts and Ends with Data in SAS Visual Analytics
SAS Visual Analytics is changing the way data is analyzed and delivered in the SAS world. The Visual Analytics LASR server brings a new method for handling large volumes of data directly in-memory. New tools give businesses more power with less effort to prepare data for analysis, explore data, and build reports and dashboards – did I mention… all from a Web browser?! You can even deploy reports to mobile devices, which makes Visual Analytics that much cooler.
Everything Starts and Ends with the Data
“With great power comes great responsibility” ~ Voltaire
Programming versus Visual Data Builder
Velocity and volume of data are two popular characteristics of working with data in SAS Visual Analytics. Not to be overlooked is the method used to load all of that data into the Visual Analytics LASR server. The SAS Visual Data Builder provides an easy to use, point and click environment for creating queries to load into the LASR server. But you may also want to handle loading with Base SAS programming. Both methods work – each has it’s own pros and cons.
Ultimately you are faced with the classic double-edged sword of software development. One method gives full power and control but is more complex and has more overhead. The other method is very easy to use but is somewhat limited in that it can only do what the interface is designed to do. All of which depends on the resources and people available in your environment.
The following diagram shows the pros and cons of each method for loading data into the Visual Analytics LASR Server (click for larger image):
The SAS Visual Data Builder is analogous to creating a SAS Information Map in the Enterprise BI platform. It’s an easier, less programmer-minded tool to connect reporting and explorations within the tool to the real data. If you need more control over your data or want to use other SAS products to pre-process the data, you can use SAS programming to do the legwork and then load the data into the LASR server for explorations and reporting.
Here are a few real world examples:
- You already have an existing SAS environment such as the traditional EBI server, with validated SAS ETL processing occurring and data already in place. You could migrate parts or all SAS code used to produce data from one environment and run within the Visual Analytics environment to load data for reporting. This assumes the Visual Analytics environment has the correct connections defined for source data and the necessary Base SAS products licensed for use.
- You want to automate loading data into the LASR server after some other scheduled ETL process either in the same environment or a completely separate SAS environment. Assuming the data is stored in a central database or shared resource, you could schedule code to load data into the LASR server after ETL processing has occurred assuming you have a scheduling system that is aware of other environments.
Notice any other common themes yet? The shared data infrastructure is key area for consideration as well as the skill sets to manage these processes behind the scenes if you choose to take a programmatic approach.
Get the Code Behind SAS Visual Analytics Data Loading
SAS does a very good job at using the same underlying language in most products. You can easily get the code being written behind the scenes in the Visual Analytics environment by checking one little box. You may need an IT administrator to assist depending on your capabilities. Getting the SAS code to load data into the LASR server allows you to do the same thing in Base SAS programming that the Data Administrator would do from within the Visual Analytics administration page (assuming permissions are set appropriately).
From the “Manage Environment” link in the hub, you can enable generation of the SAS code to a specific file on your server by going to File > Preferences and doing the following:
From the files generated in my environment, I can get the following code if I wanted to manage the LASR server using SAS programming:
/* Start the single-machine LASR server process */
libname ml sasiola startserver host="voyager" port=10010 signer="voyager:8080/SASLASRAuthorization";
/* Keep the SAS session up until SERVERTERM received */
/* Load into server */
/* Access the data */
LIBNAME la_mnt BASE "/projects/LatitudeAnalytics/data";
/* Non-colocated data source. SASIOLA load. */
/* Access the data */
LIBNAME VALIBLA SASIOLA TAG=hps PORT=10010 HOST=voyager SIGNER="voyager:8080/SASLASRAuthorization" ;
data VALIBLA.LOCATION_SUMMARY ( label="Latitude Analytics Summary" );
/* Register table in specified library */
omr (libid="AZ000003" repid="A5HL5O7W");
update_rule = (noadd);
%put PROC METALIB returned &SYSRC.;
Note: My environment is non-distributed (single-node environment without Hadoop support).
Choosing the Best Approach
The general concept is that data can be managed different ways within SAS Visual Analytics. In some scenarios, it might more effective to take a programmatic approach to pre-processing data before analyzing in SAS Visual Analytics. In other scenarios it may be more effective to keep it simple and manage your environment using the point-and-click tools provided by SAS Visual Analytics. You should choose the best approach depending on your environment and the requirements you have for visualizing data. Again…everything still starts and ends with the data!
Learn SAS Visual Analytics
When it comes to business intelligence and analytical capabilities, SAS® Visual Analytics is the premier solution for data discovery, visualization, and reporting. Click here to learn more about the book.
Latest posts by Steve Overton (see all)
- BulkLoading with PostgreSQL available in SAS 9.4 - 2013-10-22
- Everything Still Starts and Ends with Data in SAS Visual Analytics - 2013-07-30
- Describe Your Table in SAS to Write the SQL Code - 2013-05-22
- Update Table Metadata Using Base SAS Code - 2012-12-19
- SAS Administration: Fetch Data Faster across ODBC - 2012-11-01