Tag Archives: MineQuest

Why WPS needs to be part of your Corporate BI Stack

Recently, I’ve been talking to a few customers about why they decided to bring WPS into the company. After all, these firms have lots of money and talent. They can pretty much license any software they feel they need as long as it gets the job done. Of course, there are constraints due to pricing and training, but for the most part, these companies have free reign.

Below are the four major topics that everyone has touched on. Remember, these are large firms that are stalwarts in the analytics field offering products and services that are dependent on their IT and business staffs to generate revenue.

Innovation

WPS is rapidly growing and introducing additional procedures to the product. The customers that I have spoken with have all stated that WPS contains all the PROCS that they need to access, analyze and report on the data. Remember, we are talking about Fortune 500 companies here so that says a lot about how fleshed out the product is at this point.

Efficiency in Licensing

If you are a large corporation, it is likely that you have offices overseas. Licensing WPS is a dream compared to our competitors. There’s no multiple sales teams to have to work with and no differentiated licensing.

Also mentioned was that ALL the library modules are included in the price. There is no longer any confusion on what is part of the product.

Cost Reductions

It’s well known that WPS is a high value low cost alternative to the SAS System. Whether considering expanding the footprint with workstations or servers, WPS is an extremely competitive proposition. This is especially true on the server side. Since WPS is priced so competitively, even small workgroups can easily afford a server for their department.

Sole Source provider

One of the most interesting responses I received, and one that caught my attention (especially from a risk mitigation perspective) was that they didn’t want to find themselves beholden to a single source supplier of the language. I asked why they were concerned about that issue specifically. The three major points brought up are:

  1. They lacked flexibility in how they could use the product to deliver data, analytics and reports to their customers.
  2. They could take advantage of new concepts and features as they are introduced across two platforms.
  3. Fear that they would be held hostage in pricing negotiations. With a multiple providers, they felt they had leverage if they chose to not expand their footprint with the sole source provider.

 

About the author: Phil Rack is President of MineQuest Business Analytics, LLC located in Grand Rapids, Michigan. Phil has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and is a authorized reseller of WPS in North America.

WPS 2.5.2 Released

I just wanted to post a quick note to let all the WPS users and license holders know that a new release of WPS is available for download for the World Programming Download Servers. The latest release includes support for PROC CLUSTER and database support for Netezza.

One great aspect of WPS is that so much is included in the basic product. You don’t pay thousands of dollars more for database support like you do with our competitors. Your organization saves thousands of dollars by using WPS instead of SAS and (as Martha Stewart would say) that is a good thing.

In this release there are numerous bug fixes so I highly recommend that you grab a copy of the latest release and install it.

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and a reseller of WPS in North America.

WPS and the Small Business Market

One of the more popular markets for using WPS is for small businesses who need to maintain large amounts of data and process them in an efficient manner. Interestingly enough, small businesses often have to manage mountains of data just like large corporations do. One thing that separates small and large business users are the number of users that are hitting against the data. So the administrative tasks of being a DB Administrator are often similar, but the volume of users are quite different.

When you take out a WPS license, you receive multiple access engines to databases that companies like SAS Institute charge a heck of a lot for. Let’s face it, costs for small businesses are important and WPS is an ideal solution for the small and middle market business segment when it comes to saving money. Using WPS allows you to leverage the training and know how you have invested your time and money into as it pertains to the language of SAS. Using WPS allows you to use the tools that large organizations use too.

As companies have become more data centric, World Programming has stepped up to the plate and has dramatically increased performance on Linux x86 platforms. I have field tested WPS on Linux x86 as well as ported software from Windows over to it, and the performance is truly stellar. If you are one of those shops that do a lot of sorting of data, then WPS on Linux is for you.

There is one thing I want to point out if you are a small or midsized business and are starting to build out your BI stack. If you really needed some oomph for database processing and wanted to [1] use the language of SAS and [2] use a powerful and inexpensive database system, I would definitely go with a WPS solution and GreenPlum’s Free Edition. I’m amazed that GreenPlum can offer this to the community and the combination of WPS and GreenPlum, cost wise, cannot be beat.

All-in-all, there are a number of options for the SMB market out there, but there is only one cost effective solution when you want to use the language of SAS. MineQuest is targeting the SMB market over the next few years and I fully suspect that WPS will be the dominant player in this market segment as analytics become more important than ever.

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and is a reseller of WPS in North America.

Consulting Outlook for the Rest of 2010 and 2011

I hope everyone had a Happy Thanksgiving and that you were able to spend quality time with your family. I know over the years that the best part of Thanksgiving is telling and reliving the stories of my parents and the pranks that we pulled when we were kids. I think the kids enjoy the stories as much as we enjoy telling them.

Traditionally, the holidays have been slow for the consulting side of business. Lots of folks burn through their unused vacation days and it’s more challenging to contact people to make sales calls. This year will probably not be an exception but I will say that there’s a fair amount of consulting work available if you are willing to look for it or travel. That’s a significant change from last year.

A local consulting house that I have had the pleasure of doing business with over the years, Protec distributes a quarterly newsletter and they describe the state of the industry as it pertains to consulting. They find that the third quarter is much better than the 2nd quarter across the board and rates are starting to slowly increase again. That’s good news!

The other news that I find significant is that companies who have been putting off BI projects are now starting to ramp up to both fund the project and actually get the project initiated. This too is a change over last year where the funding might have been there, but the uncertainty with the economy made the decision to actually go forward with implementation less likely.

That plays into the new mantra that I hear more often which is, “Flat is the new normal.” In my mind that means companies are willing to start projects where there is a good case that money will be saved by reducing costs or by streamlining processes. I also hear from other vendors that companies and state and county governments are renegotiating enterprise agreements that are multi-year in nature to single year contracts due to long term instability.

One area that I’m going to be watching closely is the local and state governments and how they change their spending habits. Here in Ohio, we are looking at an $8,000,000,000 (that’s 8 billion) deficit for the next two year budget. Government employees are probably the most reluctant people when it comes to change, but I suspect that there’s going to be massive layoffs in states like California, Ohio, Illinois, Texas and New York. What I’m most interested in watching is how these governments reduce cost through software licensing, hardware acquisition and operating cost (can we say virtualization?) and privatization of services that are now being done by government workers.

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and a reseller of WPS in North America.

Creating Maps with WPS and the Bridge to R

A while back, I demonstrated how you can use the Bridge to R to create almost any graph or plot using WPS in combination with R. I showed how you can create the cowboy hat as well as some basic and not so basic charts and plots. One thing that I didn’t demonstrate was how you can create thematic maps (aka chloropleth maps) using the Bridge.

Today, I want to delve into that area a little bit and provide some programming samples that you can use to create these maps. First, you need to have a copy of the Bridge to R and WPS (or SAS) to run these demos. Some of the later code also uses the county2000 dataset available from the downloads section of the minequest.com website.

First a little background. Thematic mapping is a great way to show how certain attributes change or vary over given political boundaries. For example, depicting how states differ in terms of income tax assessment, or what are the most populous counties in the country. Providing a visual map for your users to understand variation across geography is always helpful in my opinion. R provides a library called “maps” that contains polygons for drawing thematic maps and a means for attaching a variable that you want to visually display demonstrating change over a given geography. I will show how you can use state and county outlines from R to do just that with the Bridge to R.

To draw a simple outline of the United States using the Bridge, it only takes three lines of R code. For example:

Program 1. Displaying U.S. State Outlines.

   1: *--> Outline of the United States - by state;

   2: %Rstart(dataformat=manual, data=, rGraphicsViewer=true);

   3: datalines4;

   4:

   5:  library(maps)  # load the boundary file

   6:  map("state", interior = TRUE, projection="polyconic", col="blue")

   7:  title('United States')  # draw the map

   8:

   9: ;;;;

  10: %Rstop(import=);

Map 1. U.S. State Outlines Map.

US_States

Click on map to view an expanded image

We can expand on the above map by adding one more line of code which will draw the county outlines inside of the state boundary outline.

Program 2: Creating State and County Outlines.

   1:

   2: *--> Outline of the United States - by state/county;

   3: %Rstart(dataformat=manual, data=, rGraphicsViewer=true);

   4: datalines4;

   5:

   6: library(maps)

   7:

   8:  map('county', boundary=TRUE,

   9:  interior=TRUE, projection="polyconic", col='lightgray', fill=TRUE, resolution=0, lty=1)

  10:  map('state', boundary=FALSE,

  11:      projection="polyconic", col='white', fill=FALSE, add=TRUE, lty=1)

  12: ;;;;

  13: %Rstop(import=);

Map 2. State County Outlines.

US_State_county_outline Click on map to view an expanded image

We can take this one step further by selecting only the geographic areas that we are interested in displaying by passing an argument to R passing just the regions we are interested in viewing. In this case, I’ve taken the liberty to pass the string containing the regions to R by using a macro variable. The Bridge to R can pass macro variables to R to help minimize typing and making mistakes.

Program 3. Selecting specific areas to map.

   1: *--> Great Lakes States by county - How to map a subset;

   2: %let geogarea = 'ohio','michigan','indiana','illinois','wisconsin';

   3:

   4: %Rstart(dataformat=manual, data=, rGraphicsViewer=true);

   5: datalines4;

   6:

   7: library(maps)

   8:  map('county',region= c(&geogarea), boundary=TRUE,

   9:  interior=TRUE, projection="polyconic", col='lightgray', fill=TRUE, resolution=0, lty=1)

  10:  map('state',region= c(&geogarea), boundary=FALSE,

  11:      projection="polyconic", col='white', fill=FALSE, add=TRUE, lty=1)

  12:

  13:  title('Great Lakes States')

  14:

  15: ;;;;

  16: %Rstop(import=);

When we run the code above (Program 3), we are presented with a map that just contains the counties for the Great Lakes States Ohio, Michigan, Indiana, Illinois, and Wisconsin.

Map 3. Great Lakes States.

greatlakes_states_county_outlineClick on map to view an expanded image

So far, I’ve shown you how to (1) create a map, (2) overlay two geographic areas (state and county) on a map, and (3) how to select a specific subset of the data to display (Great Lakes States) in creating your maps. Let’s move on and see how you can map your data using the Bridge to R and the R maps library.

The data I’m using to create the county population density map below is from a zip file that you can download from the MineQuest website. Basically, I’m using WPS to manipulate the data to get it into a format that R can use and then using the Bridge to R, call the mapping routines to display this data.

Program 4. Displaying your data in a thematic map.

   1: libname cntydata 'c:\data';

   2:

   3: proc format;

   4: value popval

   5: 0-24999 = 1

   6: 25000-99999=2

   7: 100000-249999=3

   8: 250000-499999=4

   9: 500000-749999=5

  10: 750000-high=6;

  11: run;

  12:

  13:

  14: data cntydata(keep=names cntypop);

  15:   set cntydata.county2000;

  16:   length names $ 32 cntypop 8;

  17:   cntypop = pop100;

  18:   if state in('02','15','72') then delete;

  19:   x=indexw(name,'County');

  20:   if x > 0 then cntyname=substr(name,1,x-1);

  21:

  22:   y=indexw(name,'Parish');

  23:   if y > 0 then cntyname=substr(name,1,y-1);

  24:

  25:   names=trim(lowcase(fipname(state)))||','||trim(lowcase(cntyname));

  26:   format cntypop popval.;

  27: run;

  28:

  29:

  30: *--> great a US map at county level showing population density;

  31: %Rstart(dataformat=csv, data=cntydata, rGraphicsViewer=true);

  32: datalines4;

  33:

  34: library(maps)  # Load the maps library

  35: popdata <- (cntydata)

  36:

  37: #define the color map to be used

  38: cols <- c("#F1EEF6", "#D4B9DA", "#C994C7", "#DF65B0", "#DD1C77", "#980043")

  39:

  40: mp <- map("county", plot=FALSE,namesonly=TRUE)

  41: # draw the county outlines

  42: map("county", col=cols[popdata[match(mp,popdata$names),]$cntypop],fill=TRUE, projection="polyconic")

  43:

  44: # Draw the state outlines

  45: map('state', boundary=FALSE,projection="polyconic", col='white', fill=FALSE, add=TRUE, lty=1)

  46:

  47: title('U.S. County Population Density')

  48: ;;;;

  49: %Rstop(import=);

Map 4. U.S. County Population Density.

us_state_county_pop_2000 Click on map to view an expanded image

Above is the map generated by the code in Program Listing 4. Personally, I think it’s a nice thematic map and does demonstrate population density by county. It obviously can be enhanced by adding a legend and perhaps a footnote, but I will leave that up to you to figure out. The code that creates the map is only seven lines long. This could easily be made into a template by users for further expanding the map as well as for code reuse purposes.

For more information on creating maps with R, visit Cran at:

http://cran.r-project.org/web/packages/maps/index.html and download the maps.pdf file.

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and a reseller of WPS in North America.

Services for WPS Conversions and Evaluations

It’s been a while since we’ve reviewed and re-jiggered the services that we offer and the ones we do offer need a bit of a makeover. Although our existing services are still pretty pertinent, we are looking at expanding and rounding out our consulting services in the area of SAS to WPS conversions. In the next few weeks we’ll be modifying our website to reflect these changes as well as creating some marketing brochures that can be downloaded and shared.

Many organizations are looking to significantly reduce software cost over the next two to three years. They don’t want to necessarily change their current architecture and most want to continue using existing source code whenever and wherever possible. Based on those premises, we’ll soon be putting together a services portfolio that encompasses the following practices.

Work with IT or an organizations Analytics Departments in providing a WPS Proof of Concept.

  1. Evaluate Price/Performance
  2. Define the requirements for an analytical and/or reporting replacement.

Assist in the evaluation of WPS Software as a replacement to existing SAS products.

Perform detailed Code Evaluation on existing SAS user and production SAS code libraries to evaluate compatibility with WPS and provide or recommend workarounds as necessary.

Recommend hardware and specific configurations for a WPS Server Installation.

Provide SMP libraries for Symmetrical Multi-Processor Hardware.

Install and test The Bridge to R.

Provide guidance to companies who are Data Service Providers on how best to reduce their exposure to SAS DSP fees.

Provide Consulting to departments and users who are focused on particular projects, i.e.

  1. For re-architecting their systems.
  2. For jump start/quick start scenarios.

Although these last two may seem a little “out there” for many people, you would be surprised to find out how common it is that a company acquires another organization and inherits a system that requires immediate attention in terms of licensing, cost reduction or consulting assistance to move the system to a new platform. It’s also not a rare situation where a company needs to immediately move their source code off of SAS due to DSP issues, escalating server costs or license problems. In these situations, MineQuest and World Programming can be of immense help.

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and a reseller of WPS in North America.

Extending the Bridge to R – Statistical Processing

We put the Bridge to R out on the internets for a free 60 day trial to try to gauge some interest from users about (1) the usage of R and (2) to gain some exposure for the software. So far, there has been more downloads for the WPS version than the SAS version of the Bridge. Although it’s only been available for four days now, I did receive an interesting email on Sunday morning. The question posed in the email was if it would be possible to create a standardized set of macros and a standard calling and implementation convention as part of the Bridge to R that would allow developers to create statistical macros using R as the calculation engine.

I have to admit, this has me really intrigued. So what would be involved in creating a standardized suite of macros that other developers can use to create user defined routines that would use R from either WPS or SAS? Personally, I can’t see the value in replicating anything that already exists in the SAS/Base or WPS-Core library. I can see value in replicating some of the most popular statistical procedures as a macro that takes a predefined set of parameters. As an example, let’s take a look at what would be required to create a forecast using the R library forecast created by Robert Hyndman.

if we are trying to forecast the variable pop and have another variable called startyr, all we really need to do is to pass to R the start date of the forecast, the frequency of the series, and the variable we want to forecast (pop). If start = 1970 and the frequency of the series is 1, then the R code would like:

yr =ts(year, start=1970, freq=1)

est <- ets(pop)

accuracy(est)

 

fit <- fitted(est)

res <- residuals(est)

pred <- forecast(est)

fit <- as.data.frame(fit)

res <- as.data.frame(res)

pop <- as.data.frame(pop)

yr <- as.data.frame(yr)

We can easily generate this code to run within the Bridge to R and using the macro language populate parameters. A simple template that would run the R code would like:

%let startyr = 1970; *--> do some preprocessing to get rid of this;

 

%Rstart(dataformat=csv,data=mydata,rGraphicsViewer=False);

datalines4;

 

library(forecast)

attach(&data)

 

yr =ts(year,start=&startyr, freq=&freq)

 

est <- ets(&var)

accuracy(est)

fit <- fitted(est)

res <- residuals(est)

pred <- forecast(est)

fit <- as.data.frame(fit)

res <- as.data.frame(res)

&var <- as.data.frame(&Var)

&date <- as.data.frame(&date)

 

;;;;

%Rstop(import=&var fit res &date pred);

The Bridge will take care of validating the existence of the data sets as well as reading in the output (log and list files) from R including importing the R data frames back into WPS or SAS. What would have to be added are routines to parse out variable names from a list (easily done), check that they exist in the data set, checking that the variables are of the correct type (alphanumeric, numeric) to be passed to R and the handling of missing values.

Thus, a very simple macro that a developer might implement for the automated forecasting of a univariate time series might look like:

%AutoForecast(dataset=mydata,

          date=Yr,

          Freq=1    

          var= pop,

          output= dataset that contains all the forecasted values);

Of course, the above example is very elemental. The developer would probably want to add some bells and whistles such as being able to suppress the printing of the output, creating plots and capturing them into a catalog, processing multiple variables, etc…

The value of creating a standardized set of macros and routines for statistical developers includes:

1) Ability to create a custom statistical routine in WPS or SAS that is not possible with just WPS or SAS by itself.

2. Inexpensively distribute these custom routines without requiring users to have specific statistical libraries.

3. Cost savings where one doesn’t have to license the SAS/Toolkit.

4. Reduce cost by replacing those statistical libraries where your organization uses just one or two procedures.

5. Use it as a basis for developing cost effective vertical market applications because your customers will not have to license additional modules/libraries from SAS.

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and a reseller of WPS in North America.

Notes on the Next Release of the Bridge to R

Thought I’d write a little about what MineQuest has been working on for the next release of the Bridge to R. We just wrapped up the programming for the latest release and I’m pretty happy with what is right around the corner for our current users and new users as well.

First, we’ve added the ability to export WPS data sets directly into your R workspace as R data frames. We’ve always provided support for taking a single WPS data set into a data frame but this release makes it easy to export multiple data sets into R. This actually required a lot of effort to do and is based on a request from numerous customers who are using the Bridge.

Originally, I envisioned that people would use the Bridge in a similar way that they would use a WPS or SAS procedure. They would create a data set that contained all the variables they needed for a specific statistical routine in R and use that for their analysis. But I was easily convinced that this was short-sighted because it didn’t allow for the analyst to move all the data sets needed for such things as matrix operations into the R work space.

The other thing that convinced me that this was necessary is that I recently became aware of a book called "A Practical Guide to Geostatisical Mapping" by Tomislav Hengl. Tomislav writes about mapping and to create maps, you need to have multiple data sets. You need one that contains the data to be displayed and a data set that contains the coordinate files. I eventually want to provide some mapping data sets for the Bridge to R so one can create maps using the Bridge so the ability to read multiple WPS data sets is necessary.

Exporting WPS data sets to R is accomplished by specifying the names of the WPS data sets in the %Rstart() clause. Here’s an example:

%Rstart(DataFormat=xpt, data=a b c, rGraphicsViewer=No)

The data sets a, b, c are automatically exported to R dataframes for you without any other commands or programming.

The other improvement in the next release of the Bridge to R is that you can import multiple data frames from your R session to WPS. This is easily done and just requires the analyst to list the R data frames on the Import= clause of the %Rstop macro to bring all the frames back into WPS. For example:

%Rstop(import=dataframe1 dataframe2 dataframe3);

where dataframe1, dataframe2 and dataframe3 are the names of the R data frames that you want to import back into WPS. This will create three WPS data sets named dataframe1, dataframe2, and dataframe3, respectively.

We’ve also added more error checking to the Bridge. We now catch errors when using the XPORT transport format. One problem with using XPORT as a transport format is that it’s limited to eight character variable names. We now examine all the WPS data sets before they are exported to make sure that the variable names are eight characters or less in length and if not, we throw an exception, report on it and don’t try to process the R code because we already know it won’t execute.

By the way, the reason we support the transport format is due to customer requests from those in the biostats area. They wanted to make sure that they can pass a possible data processing audit and they felt much more comfortable with the XPORT format than passing data via a CSV format.

So what’s left? With the next release of the Bridge to R (by the end of April 2010) we are updating the documentation and adding more sample R programs that demonstrate how to use the Bridge. We are adding another half dozen R graphic sample programs and a few more statistical type programs as well.

I’m very confident that the Bridge to R when used with WPS can complement the WPS system by allowing the analysts to do just about any kind of graphics or statistical procedures all from within the WPS IDE. With the low cost of the Bridge (free if you license WPS from MineQuest) and the use of open source R, you can replace SAS/IML, SAS/Graph and many of the SAS statistical modules and be state-of-the-art on your analytics platform.

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and a reseller of WPS in North America.

But can it do the Cowboy Hat?

One of the interesting things about having a blog are the comments and emails that you receive. In the previous posting, I demonstrated how you can use the Bridge to R and R graphics to create histograms and contour plots that rivals anything that SAS/Graph can do. Well, I received an email from a long lost soul who I worked with in Michigan for about a year on a banking project. He asked, "But can it do the Cowboy Hat?"

That made me laugh out loud and brought back a lot of memories. David and I were both doing a lot of SAS programming work for a bank and this was in the era of IBM 3179G graphics terminals. SAS had just pushed out a new procedure called g3d for creating three dimensional plots. We were both kind of blown away by the sample program that came with SAS/Graph called the "Cowboy Hat." Well, long story short, David and I both wanted to find a way to create that kind of plot with our bank data, even if it killed us.

Over the course of three weeks (mostly in our spare time, obviously), we tried numerous variations of data that we had in our DB but the plots that came out of g3d never looked anywhere as good as the sample program. We would submit programs and wait for 10 minutes to slowly see our graphics terminal display the top part of the plot, wait another five seconds, and then watch the bottom part of the plot appear. We were always disappointed at what we had created.

One day, we learned that there was a project going on inside the bank to optimize the branch system and all the customer accounts had been geocoded with lat/long coordinates. Both our eyes lit up at the same time because we knew we finally had some data we could use to make a "cool" plot. As we investigated the file, things just kept getting better. There were additional coordinate pairs that specified the nearest "major intersection" and the coordinates of the centroid for the census block group that the account belonged.

We ended up using deposit balances for our Z axis, and the lat/long coordinates for our X and Y pair. After tweaking the code, we got this amazing plot to come out. It was a plot showing the strength of deposit balances over a specified area (Wayne, Oakland and Macomb counties) and the plot demonstrated all the characteristics of the Central Business District and Central Place Theory that is discussed in modern geography. We were both tickled to death. In retrospect, between the mainframe charge backs and our time that we billed, that plot could vie for the most expensive plot made to that date. But we didn’t care! It looked amazingly cool.

So to answer your question David, "Yes, R can do the Cowboy Hat." For reference, here’s a link to the SAS/Graph version.

Here’s the WPS and R code to do the same plot.

*–> Cowboy hat;
data hat;
   do x=-5 to 5 by .25;
      do y=-5 to 5 by .25;
         z=sin(sqrt(x*x+y*y));
         output;
      end;
   end;

*–> Perspective plots;
%Rstart(csv, hat,GRAPHWINDOW);
datalines4;

library(akima)
attach(hat)
surface <- interp(x, y, z)

persp(surface, axes="TRUE", theta=110, phi=15,
      ticktype="detailed", expand=0.50)
title("Cowboy Hat with R",font.main=1)

;;;; 
%Rstop(import=);

 

And the R version of the Cowboy Hat.

 

cowboyhat

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and a reseller of WPS in North America.

A Cleaner and More Efficient Web Site

After working for at least a week on revamping the MineQuest website, we can finally take a nice long breath. I’ve wanted to change the look of the site as well as reorganize the the structure to make things easier to find and more efficient.

The website revolves around three areas that we are engaged in. First, is consulting and contract programming for WPS and SAS. The second area that we are featuring is WPS by World Programming. WPS is the SAS language alternative that runs SAS code on Windows, Linux, AIX, Solaris and Macintosh platforms. The third area that the website focuses on is the Bridge to R. The Bridge to R is our own product that allows WPS users to execute R from inside WPS.

When recreating the website, one thing we did was create two columns for most of the web pages. The column on the left contains information on how to quickly find information that we’ve identified through our weblogs that users are most likely looking for on those topics. The text on the right hand side offers information on the current page for the topic you requested.

We’ve also included pricing for WPS on the Windows Desktop and Server platforms that you can download in PDF format. Pricing for other platforms that we resell, such as Linux, Solaris, AIX and Macintosh are available if you contact us and request a quote. We hope to roll out more pricing on the website in the near future.

Over the next few weeks, we’ll continue to flush out the rest of the website, tweak it where it needs tweaking and add back in more downloads. The downloads that have been referenced in prior blog postings are still available so you can continue to download them but we’ve not yet had time to categorize and post them on the new site yet.

Regarding the downloads section, there were a number of macros and such that are no longer necessary and will be deprecated. The newer versions of WPS has many of these functions built-in and make these tools obsolete.

About the author: Phil Rack is President of MineQuest, LLC. and has been a SAS language developer for more than 25 years. MineQuest provides WPS and SAS consulting and contract programming services and a reseller of WPS in North America.