Say what? Analysing speech at SAS

I rarely get to talk about my work at SAS since mostly it’s experimental research and development, and therefore kept fairly hush hush. Recently, however, I had to the opportunity to write a guest article for about a project I’ve been working on for the past few months. Having partnered up with a Scottish speech-to-text company, we built a system which could take reams of audio, transcribe them, and then… Read More »Say what? Analysing speech at SAS

How to invoke a SAS macro stored in a catalog

Having not done the Advanced Base SAS certification, this was a nightmare to work out. I’m documenting it here for my own future use, and to help anyone else who found themselves in the same situation as me. What situation was that? SAS Social Network Analysis can create networks from input data, and to do so it makes use of a pre-compiled “link macro” which is bundled with SNA. This… Read More »How to invoke a SAS macro stored in a catalog

Removing duplicate rows in base SAS

If you ever need to remove duplicate rows from a SAS dataset, here’s an approach I use quite often. Get your data. Let’s assume it’s in the following format: – ID Name 123 John 456 Bob 123 John Sort your data. – /* Step 1 – Sort data */ proc sort data=my_lib.my_dataset; /* Sort by a field which you want to be unique, and which will be the same for duplicate… Read More »Removing duplicate rows in base SAS

SAS Dashboard – Fixing the “too many dials” issue

There’s an interesting feature of SAS BI Dashboard that caught me out when trying to put together some KPI gauges. We wanted a set of dials that would show us the counts for several types of public security offences. Naturally we configured indicators using count as the measure, but found that the dashboard was showing an indicator per record in our system:   With a bit of faffing around, I… Read More »SAS Dashboard – Fixing the “too many dials” issue

SAS – How to Export/Import packages

My team and I have been developing a solution which involves a degree of SAS reports and related metadata. I set up a scheduled, automated backup of our information maps, reports, etc for posterity, and out of general paranoia. For this I used SAS’s command line export and import capabiltiies, which probably weren’t designed to be used that way, but which turned out to be really useful. It took a… Read More »SAS – How to Export/Import packages

Converting custom date formats in SAS Information Map Studio

Background Let’s assume you have some dates in a custom format:   date20131007 month102013 SAS Reports need to be able to a) present dates in a human readable format and b) understand dates to allow filtering and other funky stuff. For that reason we need a way of translating these custom dates into SAS dates. Step 1 – Get an Information Map with a date field Use an existing one,… Read More »Converting custom date formats in SAS Information Map Studio

How to restart SAS server

More detailed instructions can be found here, but below are the steps I use. Note – All instructions assume the SAS is installed on a linux box, in /usr/local/, since that’s where it was installed on my machine. Stop all JBoss server instances /usr/local/jboss-5.1.0.GA/bin/ stop Stop SAS processes /usr/local/config/Lev1/sas.servers stop Start SAS processes /usr/local/config/Lev1/sas.servers start (wait a couple of minutes) Start JBoss server instances /usr/local/jboss-5.1.0.GA/bin/ start (wait about 5, 10… Read More »How to restart SAS server

Creating SAS Web Reports from an Oracle data source

Here’s a sparse set of instructions for the steps you need to take to configure SAS to access data from an Oracle data store and surface it through SAS Web Report Studio (as an example). Note that once it’s in a SAS format this can be used in any SAS product, and therefore means you can do all sorts of analytics on it. Hence the VA screenshot. Caveats – Please… Read More »Creating SAS Web Reports from an Oracle data source