SAS OLAP Cubes: Taking Advantage of OLAP Member Properties

Have you ever had a requirement to display additional details about data in a report but couldn’t find a good way to do so?  Showing OLAP Member Properties in a SAS Web Report could be a useful way to sneak more details about data into a crosstab table. Crossing Multiple Dimensions with High Cardinality Creates Data Headaches I recently ran into a data challenge with a large OLAP cube (NWAY of about 12 million records) where I needed to summarize a simple count by a “group ID” crossed with a “group name” crossed with another insignificant dimension.  There were a large number of “groups” – over a 1000 distinct group IDs with matching group names.  Since the cardinality between the “group ID” and “group name” with the source data was pretty high, the OLAP query took a very long time to run and ultimately failed due to a lack of memory.  Rather than figuring out how to cross two dimensions with high cardinality (which is not going to be realistic), I used the “group name” to define a member property of the “group ID”. Since the group name had a one-to-one relationship with the group ID, the member property makes sense. […]

NOTE: DS2. Data Step Evolved? #sasgf12

One of the other “futures” sessions I attended at SAS Global Forum was The New SAS Programming Language: DS2 with SAS’s Jason Secosky. Jason was at pains to point out that DS2 is not intended as a replacement for the good old DATA step. DS2 is an alter…

NOTE: Libnames, Who Needs ‘Em?

My team received what turned out to be an interesting call for help from one of our clients today. We resolved the client’s coding error but it also served as a reminder of a little used feature of BASE SAS,  namely the ability to specify director…

Example 9.29: the perils of for loops

A recent exchange on the R-sig-teaching list featured a discussion of how best to teach new students R. The initial post included an exercise to write a function, that given a n, will draw n rows of a triangle made up of “*”, noting that for a beginne…