8月 112016

Locating Modified ContentAs a SAS administrator, you may face situations where you need to locate content that has been modified in the system since a given point in time. If the system has many content developers, discovering all of the folders, libraries, tables, reports, explorations, and similar items that have been modified can be a daunting task. Fortunately, the ExportPackage command from the SAS Platform Object Framework provides just what we need for tackling this sort of question.

Having a command line utility that combs metadata for objects modified or created based on a date criteria can be helpful in many situations.  For example:

  • The administrator oversees a system where full backups are not scheduled to run every day. However, to minimize lost work in the event of a system failure, the administrator would like to create a package of all content that was modified each day so that it could be restored if necessary.
  • A content developer contacts the administrator saying that she would like to create a package of everything she has modified since yesterday but cannot recall everything that she has done.
  • It is Thursday and a problem has arisen that requires reverting the system to its state as of Sunday night which was the last backup. Before reverting the system from the backup, the administrator would like to create a package of any content modified since Monday morning so that it can be restored after the reversion.

The ExportPackage utility can help in all of these situations. To see how, I am going to run the command on my system to locate all of the content I have created today in the /Enterprise folder tree, which is where I store content for testing.

Locating Modified Content

As you can see, the ExportPackage command takes several arguments that allow me to control the scope of metadata that is searched for content and to filter that content on a date specification. The key arguments in my command are:

  • -profile “SASAdmin” – I am using the SASAdmin metadata connection profile to identify my metadata server and to provide a user and password rather than specifying each value individually on the command line.
  • -since “Today” – This is the magic. I just want today’s changes so the keyword “Today” is perfect. It also makes scripting this command much easier as I do not have to know the current date. Of course, if I needed to specify an exact date I can certainly do that here as well, or I can use any of the other keywords such as “Yesterday,” “Week to date,” “Month to date” and “Year to date.”  There is also a -before argument if we ever need to discover objects created or modified before a certain date.
  • -includeDep – This adds dependent objects into the package. For example, if I created a new report which is dependent on a specific table, both objects will be added.
  • -package “C:TempnewObjects.spk” – Names the package that will be created with my modified objects. This argument is required.
  • -objects “/Enterprise” – Specifies the folder where I want to start the search. This argument can also filter for specific types of objects if needed.
  • -noexecute – Lists the objects to export but does not create the package. I used this so we could see what the package would contain.

Continue reading »

8月 102016

Mastering SAS programming techniques at WUSSWhen I think of the Western Users of SAS Software conference, I think of my first event in 1994. I was just starting to learn SAS and wanted to meet others in my region who were also excited about the software. Meeting and discussing SAS topics face to face at the three day conference not only was a lot of fun, but helped me enhance my programming skills. I remember meeting SAS experts who went out of their way to explain concepts such as ODS, and provide practical examples. I also learned from SAS employees giving live demos and answering my technical questions. Finally, I took advantage of free technical support by taking my SAS programs with warnings and notes to the Code Doctors for a full examination.

Through this conference and others like it and years of experience, I developed some programming techniques that have saved me hours of time. And like those SAS experts at my first WUSS, I now share my knowledge at SAS conferences.

I’ve also contributed to SAS blogs, and my most popular online tip Something for Nothing – Adding Group Descriptive Statistics has over 9,000 views. When I presented this tip at a conference, it was standing room only. Below is the tip that easily adds SEXN variable, the number of males or females. This example gives you a flavor of the type of valuable insights I'll be sharing at this year’s WUSS conference and become more productive back in the office.

proc sql;
create table class2 as
   select a.*, b.sexn                                     /* add group count variable */
   from sashelp.class as a
   left join                                                       /* keep all records */
   (select sex, count(sex) as sexn               /* create group count variable */
    from sashelp.class where sex gt ' '       /* apply condition as needed */
    group by sex                                             /* group by variable */
   ) as b on;                               /* link by detail variable */

Want to learn more tips like these? If so, I encourage you to join fellow SAS programmers at WUSS.  As a presenter and SAS author, I personally enjoy helping others apply SAS syntax to solve real-world programs. I especially like techniques to standardize and automate process.

This year’s Western Users of SAS Software Educational Forum and Conference takes place from September 7-9 at the Grand Hyatt on Union Square in San Francisco. Join me there to learn more about my SAS tips.

Register now. It’s a great three days of educational opportunities, 100+ presentations, classes, workshops, networking and more. Visit for more information.

Hope to see you there!

Mastering SAS programming techniques at WUSS was published on SAS Users.

8月 082016

Passcode security for SAS Mobile BIMobile devices travel with humans pretty much anywhere that humans want to go. Unlike desktop computers that stay fixed and grounded within brick and mortar walls, mobile devices are used in all sorts of locales – offices, homes, cars, planes, swimming pools, soccer fields, movie theaters – the list goes on. So, it’s no surprise that your SAS administrator would want to protect SAS Visual Analytics reports that are viewed from the SAS Mobile BI 7.33 app running on mobile devices.

Several security strategies are available for SAS Mobile BI users. Let’s take a look at how passcode security, along with Touch ID for Apple devices, protects access to the app.

Required vs. Optional Passcode

There are two ways to apply passcode protection to SAS Mobile BI. Your administrator can enforce a passcode requirement for the server where the SAS Visual Analytics reports reside. On the server, this is done by enabling the Require Passcode on Mobile Devices capability and adding users as members of the group that is required to create and use a passcode for accessing SAS Mobile BI.

If a passcode is not required by your administrator, you can create an optional passcode to protect access to the app on your mobile device. In either scenario, if your mobile device is used by someone other than you, then you have the peace of mind that only you can access SAS Mobile BI by entering your passcode.

Creating an Optional Passcode

To set up an optional passcode for SAS Mobile BI, go to Settings for the app. Tap on the toggle switch for Passcode lock and create a passcode.

Passcode security for SAS Mobile BI

Optional Passcode Lock in Settings.

When presented with the Passcode dialog, create a 4-digit passcode for SAS Mobile BI.

Passcode security for SAS Mobile BI01

Creating a Passcode

By default, anytime that you access SAS Mobile BI after 5 minutes of inactivity (or for the period of inactivity that is set by your administrator), you are prompted by the Passcode dialog to enter your passcode.

Passcode security for SAS Mobile BI02

Entering Your Passcode to Access the App

If the passcode is mandated and not optional, then your administrator can customize and set a different inactivity timeout before a passcode needs to be entered.

What Happens If You Enter Incorrect Passcodes?

If you enter an incorrect passcode, you are given a total of 10 attempts to enter your correct passcode. This is the default behavior when you have an optional passcode for the app. Administrators that mandate the need for a passcode with the Require Passcode on Mobile Devices capability on the server can customize the settings for the server to determine the number of wrong passcode attempts.

Passcode security for SAS Mobile BI03

Entering an Incorrect Passcode

If you enter an incorrect passcode 10 times, you are locked out for 15. When the lock-out expires, you are prompted again to enter your passcode.

Passcode security for SAS Mobile BI04

Application Reset

When the lock-out expires, you are prompted again to enter your passcode.  On the second attempt, if you exceed the allowed number of passcode entry attempts, SAS Mobile BI removes all reports, data, and server connections from your mobile device. The app is reset to its default settings.

Passcode security for SAS Mobile BI05

Just Can’t Remember Your Passcode?

If you forget your passcode, the easy thing to do is delete the app, download and reinstall the app, create a new passcode, and set up your connections to the servers with SAS Visual Analytics reports.

Touch ID for Apple Devices

If you are an Apple device user who has simplified life further by using a Touch ID instead of a passcode, you can use the Touch ID to access the SAS Mobile BI app. To enable Touch ID on your iPhone or iPad, follow these instructions from Apple to add your fingerprint and create a Touch ID for your Apple device.

If Touch ID is enabled for your device, and there is an inactivity period with SAS Mobile BI, the app prompts you for your Touch ID fingerprint:

Passcode security for SAS Mobile BI06

Touch ID Prompt for SAS Mobile BI on Apple Devices

If your Touch ID fingerprint is incorrect, then the app prompts you to enter your passcode:

Passcode security for SAS Mobile BI07

Passcode Prompt if Touch ID is Incorrect

Now, you are familiarized with securing access to SAS Mobile BI on your devices. We will continue this journey to learn about various other security options available for the app.



tags: SAS Mobile BI, security

Passcode security for SAS Mobile BI was published on SAS Users.

8月 052016

SASCaresDo you need help finding product information or navigating the SAS website or options for getting started with SAS? Do you need, information about course availability and registrations, training discounts, and certifications? Would access to sample code be helpful? How about, event-related support, assistance identifying and connecting with the right person at SAS, or maybe just someone to listen to your feedback and ensure it is shared with the appropriate parties within SAS?  The Customer Contact Center can help with these and more!

When customers are looking for information from their business partners, they want the ability to self-serve or receive quick assistance. We recognized that it was not always easy for our customers to find information or reach the right person here at SAS. To help in this regard, we empowered our Customer Contact Center to provide consistent frontline support across inbound channels. We also streamlined our 1-800 phone lines and expanded our customer service resources all with the goal of better serving our customers.

When you need help, reach out to our knowledgeable Customer Contact Center Engagement team. You can reach us via phone, email, live chat, web contact form and social media. If we don’t have the ability to resolve your issue, we’ll guide you to the right place (perhaps a SAS Communities conversation or a document on our web site, for example), we’ll refer you to a subject matter expert (Sales, Tech Support, Education Operations, Contracts, just to name a few).

Our mantra is availability and consistency. We’re available from 8am – 8pm Mon-Thurs and 8am-5pm on Friday (US Eastern time). And we are global, supporting the Americas (all countries) and EMEA  (UK, Ireland and Italy, with plans to expand across other countries). A positive customer experience is a key focus and your feedback is encouraged and shared. Regardless of your role or area of interest we are here to serve you.  If you need help but aren’t sure where to start just give us a call (or chat with us, or complete a web form or send an email, or reach out on social media). We look forward to serving you!

Contact us.

tags: sas cares, sas customer contact center

Who ya gonna contact? Customer Contact Center! was published on SAS Users.

8月 042016

Testing EMC Storage and Veritas shared file systemsIn my current role I have the privilege of managing the Performance Lab in SAS R&D. Helping users work through performance challenges is a critical part of the Lab’s mission. This spring, my team has been actively testing new and enhanced storage arrays from EMC along with the Veritas clustered file system.  We have documented our findings on the SAS Usage note 42197 “List of Useful Papers.”

The two different flash based storages we tested from EMC are the new DSSD D5 appliance and XtremIO array.  The bottom line: both storages performed very nicely with a mixed analytics workload.  For more details on the results of the testing along with the tuning guidelines for using SAS with this storage, please review these papers:

As with all storage, please validate that the storage can deliver all the “bells and whistles;” you will need to support your failover and high availability needs of your SAS applications.

In addition to the storage testing, we tested with the latest version of Veritas InfoScale clustered file system.  We had great results in a distributed SAS environment with several SAS compute nodes all accessing data in this clustered file system.  A lot of information was learned in this testing and captured in the following paper:

My team plans to continue testing of new storage and file system technologies throughout the remainder 2016.  If there is a storage array or technology you would like to have tested, please let us know by sharing it in the comments section below or contacting me directly.


tags: performance, storage

Testing EMC Storage and Veritas shared file systems was published on SAS Users.

8月 042016

Color Names, Formats, Macros, ODS, Excel®, and PROC REPORTNot too long ago I had a report generation request from an Alaska state agency. The request had some very specific requirements that detailed the use of user defined colors (by name), data driven control of the report, and Excel delivery using ODS and PROC REPORT. Along the way I had to: determine what colors are known to SAS by name; develop a user tool for color selection that would feed uniformly into a data driven table; construct formats based on the data that would match the user selected colors to specific types of report cells; and deliver the report using Excel. The process was interesting enough that it has resulted in two papers, which I will present at WUSS, September 7-9 in San Francisco.

In these two papers the process for discovering how to name, select, and display the colors is described. Formats are built from the color names and the reported data (DATA steps with two SET statements are used to perform a data merge). Traffic lighting is used is used at the cell level in PROC REPORT, and the whole process is driven by macros. Talk about a fun project! For those of you unable to join me in San Francisco for the full talk, here are two quick tips on how to do this.

Extracting color names from the SAS Registry

The names of available colors are stored in the SAS Registry. They can be extracted to a file through the use of PROC REGISTRY. The following REGISTRY step writes the list of color names and their HEX definitions to the text file COLORNAMES.TXT.

proc registry export= "colornames.txt" 

Displaying a list of colors

If a list of color names is stored in a SAS data set, those colors can be displayed using PROC REPORT. In the following REPORT step, an Excel spreadsheet is created that shows the list of available colors that are stored in WORK.COLORS both with and without the color in the cell background.

proc report data=work.colors;
  column  colorname colorname=clr; 
  define colorname/ 'Color Name';
  define clr  / 'Color';
  compute clr /char length=35; 
     call   define(_col_,'style','style={background='||colorname||'}');

I hope you enjoyed these tips. Please join me for the complete talk at the Western Users of SAS Software Educational Forum and Conference, September 7-9 at the Grand Hyatt on Union Square in San Francisco.  Discounted registration is still available through August 8th! Register now. It’s a great three days of educational opportunities, 100+ presentations, classes, workshops, networking and more.

Visit for more information.

Editor's note: If you can't attend WUSS 2016 but would like to view Art's paper in it's entirety, the conference has plans to publish conference proceedings after the event.  

tags: ods, PROC REPORT, SAS ODS, US Regional Conferences, wuss

Tips for working with Color Names, Formats, Macros, ODS, Excel®, and PROC REPORT was published on SAS Users.

8月 022016

One of the jobs of SAS Administrators is keeping the SAS license current.  In the past, all you needed to do was update the license for Foundation SAS and you were done. This task can be performed by selecting the Renew SAS Software option in the SAS Deployment Manager.

More recently, many SAS solutions require an additional step which updates the license information in metadata. The license information is stored in metadata so that middle-tier applications can access it in order to check whether the license is valid. Not all solutions require that the SAS Installation Data file (SID) file be stored in metadata, however the list of solutions that do require it is growing and includes SAS Visual Analytics. For a full list you can check this SASNOTE. To update the license information in metadata, run the SAS Deployment Manager and select Update SID File in Metadata.

Recently, I performed a license renewal for a Visual Analytics environment. A couple of days later it occurred to me that I might not have performed the update of the SID file in metadata. That prompted the obvious question: how do I check the status of my license file in metadata?

To check the status of a SAS Foundation license you can use PROC setinit. PROC setinit will return the details of the SAS license in the SAS log.

proc setinit;run;

steps to update your SAS License

The above output of PROC setinit shows the:

  • Expiration Date as 25MAY2017
  • Grace Period ends on 09JUL2917
  • Warning Period ends on 04SEP2017

This indicates that the software expires on 25MAY2017, however nothing will happen during the Grace Period. During the Warning Period messages in the SAS log will warn the user that the software is expiring. When the Warning Period ends on 04SEP2017 the SAS Software will stop functioning. PROC setinit is only checking the status of the Foundation SAS license, not the license in metadata.

If the foundation license is up-to-date but the license stored in metadata is expired the web applications will not work. It turns out SAS Environment Manager will also monitor the status of the SAS license. But is it the Foundation license or the license stored in metadata?

To see the status of the license in SAS Environment Manager, select Resources then select Browse > Platforms > SAS 9.4 Application Server Tier. The interface displays:

  • Days Until License Expiration:  the number of days until the license expires.
  • Days Until License Termination: the number of days until the software stops working.
  • Days Until License Termination Warning: the number of days until the Grace period.

steps to update your SAS License

Some testing revealed that Environment Manager is monitoring not the status of the foundation license but the status of the license in metadata. This is an important point, because as we noted earlier not all SAS solutions require the SID to be updated in metadata. Since Environment Manager monitors the license by checking the status of the SID file in metadata, administrators are recommended, as a best practice, to always update the SID file in metadata.

Environment manager with Service Architecture configured also will generate events that warn of license termination when the license termination date is within a month.

In addition, as of SAS 9.4 M3, SAS Management Console has an option to View metadata setinit details. To access this functionality you must be a member of the SAS Administrators Group or the Management Console: Advanced Role.

To check on a SID file in metadata open SAS Management Console and in the plug-ins tab:

1.     Expand Metadata Manager

2.     Select Metadata Utilities

3.     Right- click and select View metadata setinit details

steps to update your SAS License

Selecting the option gives details of the current SID file in metadata, with similar information as PROC setinit displays including the expiration date, the grace period and the warning period.  In addition it displays the date the SID file was last updated in metadata.

steps to update your SAS License

The takeaway: to fully renew SAS software, and ensure that SAS Environment Manager has the correct date for its metrics on license expiration, always use SAS Deployment Manager to both Update the SAS License, AND Update the SID File in Metadata.

To check if your SAS Deployment license has been fully updated, do the following:

1.     Run PROC setinit to view the status of the SAS Foundation license.

2.     Use SAS Management Console or SAS Environment Manager to check if the SID file has been updated in metadata.

For more information on this topic see the video, “Use SAS Environment Manager to Get SAS License Expiration Notice” and additional resources below:


SAS® Deployment Wizard and SAS® Deployment Manager 9.4:User’s Guide: Update SID File in Metadata
SAS® Deployment Wizard and SAS® Deployment Manager 9.4:User’s Guide: Renew SAS Software
SAS(R) 9.4 Intelligence Platform: System Administration Guide: Managing Setinit (License) Information in Metadata
SAS® Environment Manager 2.5 User’s Guide

tags: configuration, SAS Administrators, SAS architecture, SAS Environment Manager, SAS Professional Services

Two steps to update your SAS License and check if it is updated was published on SAS Users.

7月 272016

Bellagio Hotel for Analytics ExperienceFirst it was the patriarch of my favorite family. That shocking Red Wedding scene meant I could cross off several more characters I’d grown to love. When the season finale of Season 5 left me asking if we’d lost yet another one of my favorites, I wasn’t sure how much more I could take. Of course, I’m talking about the often surprising deaths of some of our favorite characters in HBO’s wildly popular series Game of Thrones. If you’re a fan of the show you know that no one, regardless of how important they are to the storyline, is safe from an untimely demise.

Though I’ve grown somewhat accustomed to saying goodbye, it sure would be nice to know the likelihood a particular character will live or die, just so I can prepare for the heartache in advance if need be. Thankfully, Taylor Larkin, a student at the University of Alabama, thinks survival data mining can help. He plans to show us how in an e-poster he'll present at this year’s Analytics Experience conference, September 12 – 14, at the Bellagio hotel in Las Vegas.

Using plot points from the books the TV series is based on, along with survival data mining using the Survival node in SAS® Enterprise Miner™ 13.1, Larkin has created an analysis that estimates the probabilities popular Game of Thrones characters will survive through time. His research was inspired by the analysis and datasets created by Olin College Computer Science Professor Allen Downey and some of his students, who used Bayesian survival analysis to do something similar.

Analytics Experience conference presentations

Larkin’s sure-to-be awesome presentation is one I’m really looking forward to seeing, but it’s also just one of more than 100 talks planned for the event. The Analytics Experience conference provides attendees an in-depth look at some of the latest research, top trends and new techniques being used in the field of analytics. This is the nineteenth consecutive year that SAS has hosted the event.

This year’s conference offers six keynote addresses and dozens of session talks. Some of the topics presenters will cover include customer intelligence, business intelligence, data management, Hadoop, fraud, cybersecurity, risk analytics, and the Internet of Things. E-Poster presentations, demos, training classes and table talks provide even more insight and allow attendees to explore other creative ways to use analytics.

A number of the talks will come from university students – I always find them to be a great addition to the conference’s content. Besides Larkin’s talk, student presenters will show you how to use analytics to do things like detect sarcasm on social media, build a restaurant recommender engine or defend Steph Curry, something the rest of the NBA couldn’t seem to do last season.

Though talks are still being added every day, a large portion of conference presentations are now available.

Keynote speakers include:

  • Jared Cohen, President of Jigsaw and Chief Advisor to the Executive Chairman of Alphabet.
  • Jim Goodnight, CEO of SAS.
  • Amber MacArthur, President of Konnekt.
  • Jeremiah Owyang, Founder of Crowd Companies.
  • Jake Porway, Founder and Executive Director of DataKind.
  • R. Ray Wang, Principal Analyst, Founder and Chairman of Constellation Research.

If you’re in the field of analytics, there isn’t a better conference to help advance your knowledge. It’s an event I look forward to every year and I hope to see you there.

For more information, visit the website or join the community dedicated to the event. You can also view a number of videos from last year’s event on YouTube.

P.S. If you do make it to Vegas in September, let’s plan to meet at Larkin’s e-poster. We’ll find out together how likely Tyrion is to make it safely through Season 6!

tags: analytics, analytics conference, analytics experience, Game of Thrones

Will your favorite Game of Thrones character survive next season? was published on SAS Users.

7月 262016

SAS Business Data Network is SAS’ solution for managing glossaries of common business terms. This is part of the SAS Data Governance offering as well as bundled with Advanced versions of all SAS Data Management bundles. One thing that is important regarding Data Governance in general, and this solution in particular, is the ability to search for terms. SAS Business Data Network provides a web search that is sometimes overlooked, but can be used in different ways to help you derive meaning and context from your data. Let’s take a look.

1 – Use a URL to get to the main web page

The main URL that brings you to the SAS Business Data Network Search page is http://<host>/SASBusinessDataNetwork/search

Conduct a web search for business terms with SAS Business Data Network

The search box allows you to search business terms using a specific string. This string is processed entirely, no AND or OR operators. Specifying 2 words will generate a search of those 2 words consecutively. The following fields are processed for the search: Name, Description, Requirements, Attributes, Links, Associated Items and Notes. It is case insensitive and one has to sign in if not already logged on.

Conduct a google-like web search for business terms with SAS Business Data Network2

After a search, among the results, you can choose to open one term in particular or all the terms in SAS Business Data Network.

2 – Customize the URL and call it from external applications

You can also parameterize the search URL and then integrate with it or call it from any other application.

For example, the URL http://<host>/SASBusinessDataNetwork/search?q=gender will search for the string “gender” in all business terms.

The URL http://<host>/SASBusinessDataNetwork/search?q=currency+code will search for “currency code”.

The same search results page will open.

Conduct a google-like web search for business terms with SAS Business Data Network3

This is very useful when you want to seamlessly integrate SAS Business Data Network with other SAS applications or external applications in order to provide more insights on the sense of an indicator or the terminology of a business noun. Within SAS Visual Analytics, we can easily define such parameterized URLs to help the business user understand the meaning of a measure for example. See the end for an example.

3 – Use the bookmarklet to search for highlighted text

You can use the bookmarklet to interact with the BDN search capability smartly. The bookmarklet enables you to search against BDN for a highlighted text in your browser.

Conduct a google-like web search for business terms with SAS Business Data Network01

That means that you can call SAS BDN search from any HTML page in the company. A user can browse an intranet article and call BDN for more information on a term. He can open a business report and call BDN for more information on a specific value.

To install the bookmarklet, you need to follow instructions described in the SAS Business Data Network Search extras.

Conduct a google-like web search for business terms with SAS Business Data Network4

4 – Use the browser search provider

You can register SAS Business Data Network Search as a search provider with your browser. This will allow the user to search strings in a dedicated zone in the toolbar.

Conduct a google-like web search for business terms with SAS Business Data Network5

To install the search provider, you need to follow instructions described in the SAS Business Data Network Search extras.

A final example

I talked earlier about integrating a Visual Analytics report with BDN in order to provide explanations of a specific data item: what is the meaning of that data item? How is it calculated? Who owns that data item? Has there been a change recently in the formula? What is the lineage of that data item? These are questions which BDN can help to answer… Note example treemap from SAS Visual Analytics below.

Conduct a google-like web search for business terms with SAS Business Data Network02

An external link to BDN search is easily configurable in SAS Visual Analytics.

Conduct a google-like web search for business terms with SAS Business Data Network6

BDN also supports deep linking to go directly to a term, without going through search results. This capability requires additional data from the calling SAS Visual Analytics solution.

These are just a few examples of some of the incredible power that SAS Business Data Network gives you to relate and search for business and technical metadata to improve discovery and increase the sharing and reuse of your data assets.

Thanks for your attention and I hope you found this post helpful.

tags: data governance, data management, SAS Professional Services, SAS Visual Analytics

Four ways to conduct a web search for business terms with SAS Business Data Network was published on SAS Users.

7月 222016

In DataFlux Data Management Studio, the predominate component of the SAS Data Quality bundle, the data quality nodes in a data job use definitions from something called the SAS Quality Knowledge Base (QKB). The QKB supports over 25 languages and provides a set of pre-built rules, definitions and reference data that conduct operations such as parsing, standardizing and fuzzy matching to help you cleanse your data.  The QKB comes with pre-built definitions for both customer and product data and allows for customization and addition of rules to accommodate new data types and rules specific to your business. (You can learn more about the QKB here.)

Sometimes you may want to work with an alternate QKB installation that contains different definitions within the same data job. For example, your default QKB may be the Contact Information QKB; however, in your data flow you may want to use a definition that exists in the Product Data QKB.  These data quality nodes have the BF_PATH attribute as part of their Advanced Properties enabling you to do this.
Note: You must have the alternate QKB data installed and be licensed for any QKB locales that you plan to use in your data job.

Here is an example data job that uses the Advanced property of BF_PATH to call the Brand/Manufacturer Extraction definition from the Product Data QKB. It also calls Standardization definitions from the default QKB of Contact Info. Notice that from the data flow perspective, it is one seamless flow.

Using an alternate Quality Knowledge Base in a DataFlux Data Management Studio data job

The BF_PATH advanced property setting for the Extraction node that is using the Brand/Manufacturer definition from the Product QKB contains the path of where the Product Data QKB was installed.
Note: The path setting could be set as a macro variable.  The path information can be obtained from the QKB registration information in the Administration riser bar in Data Management Studio.

Using an Alternate Quality Knowledge Base (QKB) in a DataFlux Data Management Studio Data Job02

Once BF_PATH advanced property is set, you will not be able to use the user interface to make your definition selection. You will need to know the definition name and any other relevant information for the node, so you can add the information using the appropriate Advanced properties.

In my example, I need to set the definition and token fields for the Brand/Manufacturer definition using the PARSE_DEF and PARSE_DEF Advanced properties.

Using an Alternate Quality Knowledge Base (QKB) in a DataFlux Data Management Studio Data Job03

Note: I was able to find out the needed information by viewing the Product Data QKB information in the Administration riser bar in Data Management Studio.

Using an Alternate Quality Knowledge Base (QKB) in a DataFlux Data Management Studio Data Job04

Here is the user interface for the Extraction node that is using the Brand/Manufacturer definition from the Product QKB and its data preview.

Note: The definition cannot be displayed since it is not in the Active QKB.  You can select the Extraction field and Additional Output information on the user interface.

Using an Alternate Quality Knowledge Base (QKB) in a DataFlux Data Management Studio Data Job05

In conclusion, the Advanced property of BF_PATH is useful when you want to use an Alternate QKB installation in your data job.  For more information on Advanced properties for nodes in DataFlux Data Management Studio, refer to the topic “Advanced Properties” in the DataFlux Data Management Studio 2.7: User’s Guide. For more information on the SAS Quality Knowledge Base (QKB), refer to its documentation. Finally, to learn more about SAS Data Quality, visit

tags: data management, data quality, DataFlux Data Management Studio

Using an alternate Quality Knowledge Base (QKB) in a DataFlux Data Management Studio data job was published on SAS Users.