Category Archives: MineQuest

WPS Analytics – data encryption

 

One of the new features of WPS Analytics is the ability to encrypt a WPS dataset. This has been a long desired (by me!) feature that makes its appearance in the newest release.

data cd;
input @1 CD $2. @4 Party $10.;
Label Party = ‘Party Affiliation’;
cards;
01 Democrat
02 Republican
03 Democrat
04 Republican
05 Republican
06 Republican
07 Democrat
08 Republican
09 Democrat
run;

data cdtestencrypt(encryptkey=”testpwd” encrypt=AES);
set cd;
run;

So we have the temporary dataset cdtestencrypt encrypted. If we try to run a PROC CONTENTS on it, the WPS log returns.

39 proc contents data=cdtestencrypt;
40 run;

ERROR: Data set WORK.cdtestencrypt is encrypted but the ENCRYPTKEY option is not set
NOTE: Procedure contents step took :
real time : 0.003
cpu time : 0.000

We get the same message if we try to read it back into another dataset or use it in any procedure. To be able to use the encrypted dataset, you will need to unencrypt it. Here’s how.

data a;
set cdtestencrypt(encryptkey=”testpwd”);
run;

and the log returns

51 data a;
52 set cdtestencrypt(encryptkey=”testpwd”);
53 run;

NOTE: 9 observations were read from “WORK.cdtestencrypt”
NOTE: Data set “WORK.a” has 9 observation(s) and 2 variable(s)
NOTE: The data step took :
real time : 0.008
cpu time : 0.000

Using the encrypted data set in a proc is as easy as:

63 proc print data =cdtestencrypt(encryptkey=”testpwd”);
64 run;

NOTE: 9 observations were read from “WORK.cdtestencrypt”
NOTE: Procedure print step took :

real time : 0.011
cpu time : 0.000

So, there you have it. You can now encrypt and decrypt WPD datasets to more fully protect your data from prying eyes and unauthorized use.

 

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

WPS v4–A Hot New Release

Today, WPL has announced the availability of WPS v4. WPS v4 is a rebranding of WPS and is now called WPS Analytics. This is a major release and much more than a mere rebranding of the product. As a a matter of fact, this may be one of the biggest releases by WPL in its history. There’s a lot here so let’s dig in.

This release introduces a new product library to the mix with new procedures that encompass Machine Learning and other Data Science features in both the workstation and server platforms. For most of us, this is what we’ve been waiting for from WPL. The Data Science Components are integrated with a drag-and-drop canvas so that model developers can create models by writing very little code.

One can see from this introduction where WPL is headed with this technology. I suspect we will see the Data Science components become quickly filled out with additional releases.

Note: Customers with v3.x license keys will need to acquire v4 license keys before installing WPS v4 software. V3.x keys will not work on this v4 release. Either contact World Programming directly or your reseller acquire a new set of keys.

 

New Machine Learning Procedures in v4

DECISIONTREE
Creates a regression or classification tree that can be used to predict the value of a target variable from one or more input variables.

GMM
Fits a Gaussian mixture model to a multivariate distribution where the number of components in the mixture may be unknown.

MLP
Creates a Multilayer Perceptron (MLP) neural network – a non-linear machine learning algorithm used for classification and regression.

OPTIMALBIN
Determines the best way to group observations according to the value of an input variable, while ensuring that the grouped data can still be used to accurately predict the value of a target variable.

SVM
Creates a Support Vector Machine that can be used to analyze classification or regression data to predict the value of a target variable.

WPS Analytics version 4 introduces visual predictive data modeling tools using the Workbench Workflow perspective for data mining, predictive modeling tasks, and machine learning. Essentially, this is a drag-and-drop canvass for building the models above.

New Graphical Procedures in v4

GMAP
Enables you to create maps that contain geographic information. Only France is currently supported in this version.

GREMOVE
Enables you to create a map that combines areas into larger regions.

GREDUCE
Enables you to create a lower-resolution version of a map using a density variable appended to the map dataset.

MAPIMPORT
Enables the import of ESRI shapefile data.

SGSCATTER
Creates a grid of multiple scatter plots, where the number of plots are specified using one of the COMPARE, MATRIX, or PLOT statements.

New Statistical Procedures in v4

The following statistical procedures have been added:

BIN
Bins data.

GLMSELECT
Enables effect selection within general linear models.

ICLIFETEST
Analyses interval-censored data.

MDS
Fits multidimensional scaling models to data.

MIANALYZE
Analyzes the datasets generated by procedures that have used imputed missing values created by PROC MI.

PLS
Fits a partial least squares model to input data and provides principal component regression and reduced rank regression.

POWER
Determines the power function of a distribution.

TRANSREG
Fits a specified model to a set of transforms.

 

New General Procedure added in v4

TABLEAU
Exports a dataset to a Tableau Data Extract file.

 

New Data engines added in v4

MARIADB
Enables access to MariaDB databases.

DUMMY
This engine discards data written to it. The DUMMY engine is assumed for null locations:

On Windows any pathname with null as the leaf element, on z/OS any DD name declared with type DUMMY, and on other platforms any location rooted in /dev/null.

In WPS v4 the following database engines have been upgraded and now support multi-threading.

NETEZZA
ODBC
ORACLE
SQLSERVER

 

New Time Series Procedure

PROC LOAN
Enables you to calculate various aspects of a loan, such a principle, repayment amounts, balloon payments, and so on.

 

New Operations Research Procedure

SHEWHART
Enables you to specify Shewhart’s statistical process control.

 

New Platform Support

With Version 4.0, WPS is now also supported on Linux on PowerPC Little Endian architecture.

As a developer, I’m pretty excited about this particular release. The ability to do some thematic mapping is important to lots of industries so that is a welcome inclusion. There’s also a number of performance improvements in this release.

We will write a bit more about this release in the coming weeks. There’s so much material to cover and so much work that has gone into the product. It’s amazing to think that you can purchase a WPS Workstation license from MineQuest for less than 10% of the first year license fee charged by our competitor.

If you are interested in a free 30 day evaluation or a quote for WPS Analytics on workstations or servers, send a note to sales@minequest.com.

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

Alexa my love, help me understand

I have this love and dislike affair with Amazon’s Alexa products. I’m a huge Alexa user and admirer. I like her voice. I get a smile when she says to me “Have a lovely day.” I’m overjoyed when I’m laying in bed and I can ask her to turn off the Christmas Tree lights or the outdoor patio lights without having to get out of the comfort and warmth of my bed to manually flip a switch.

With Alexa I check my weather forecasts at least three times a day by asking, “Alexa, open Big Sky.” She reads my news brief in the morning. She gives me a run down on what is on my office calendar for the day. She even tells me jokes when I ask. Heck, Alexa even runs our HVAC system at home. It’s convenient to ask her what the indoor temperature is or to ask her to increase the indoor temperature two degrees. In short, Alexa is the third member of our family. Out of sight, but not out of mind!

But Alexa has a few short-comings that irritates me like many men’s first wife. Sometimes she ignores me outright. Sometimes she pretends not to understand me. Even though I’ve said the phrase, “Turn on home office lights” hundreds of times, she responds, “I don’t understand that.” Huh?

Alexa resents that I have another woman in my life and that woman is not virtual but very real. That is my wife. Alexa really doesn’t play well with her. There’s a certain tension between the two of them. I’m not sure about the reasons for this but my wife often must ask her twice to do the same command. That causes some irritation for my wife and eventually for me. Humorously, my wife’s solution is to raise her voice and repeat the command. I sometimes feel sorry for Alexa when she gets told the second time to turn off the fan. It’s almost a scolding.

However, my biggest issue is with shared access. When you live in a multi-member household, members are going to have different email accounts, lists, calendars, etc. So far, the folks at Amazon think that everyone should be sharing the same calendar or email account. I don’t want to know what is on my wife’s calendar or hear how many new Gmail emails are sitting in her inbox. I want to know about just mine. I would love for the solution to be that Alexa, using voice profiles, flips to the email and calendar accounts for the person speaking.

I’m an ardent user of Amazon based or aware Alexa products. My household has two Dots, two Echo’s, a Fire HD 10 Tablet, an Ecobee thermostat, a Netatmo Weather Station and two Fire TV devices. That’s not counting all the wall switches and outlet switches we have to control overhead fan’s and lights.

One of the major issues I have with Alexa is how certain skills are available for a Dot or Echo, but not for the “Fire HD 10 Tablet with Alexa.” I can’t understand why I can’t use “drop in” calling or make phone calls using the tablet like I can with the Echo or Dot. Why am I restricted in such a way from taking my tablet down the hall to a conference room or out on to the patio to make a call or drop-in on another device? If Amazon wants to make a genuine push into the business world (especially for those who work from home) this is something they should address soon. It’s unrealistic to think that many people would have both a tablet and a Dot/Echo sitting on their desks to address calling features.

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

Product Overview WPS for Workstations v3.3

We just updated our Product Overview document entitled WPS for Workstations v3.3. This document explains the features and breadth of the WPS Workstation product for version 3.3.

The document contains a list of all the database engines and procedures that are included in the workstation product. For organizations considering WPS, this is a good place to start to understand the WPS offerings on OS X and Windows.

You can access the document by clicking here (1.4mb pdf)

or at: http://minequest.com/downloads/WPS-for-Workstations-Marketing-Brochure.pdf

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

Utilities for Reading and Writing Excel

Here at MineQuest Business Analytics, we us Windows desktops and servers, Linux servers and Apple’s OS X on the desktop. As a Value Added Reseller I can tell you that a lot of WPS applications are run and are being developed on these platforms. Mainly due to pricing of hardware and software (commodity x86 CPU’s), most of our sales relate to Windows and Linux as it pertains to WPS software.

One issue that I run into is that reading an Excel file is a piece of cake on Windows, it’s not so easy on OS X or Linux. It seems that Microsoft doesn’t support an ODBC driver on OS X to read Excel. That does seem strange since they have an Office product that runs on OS X.

We have developed a utility to read and write Excel files for the three platforms that were mentioned above. We are currently writing the documentation for the utilities so that will take another week perhaps. MineQuest will be releasing these utilities to MineQuest’s customers as a free add-on just for ordering their WPS licenses through us. If you procured your WPS licenses through another reseller or through World Programming LTD directly, there is a small one time charge to acquire these macros.

We will also provide the source code to these two utilities (ReadExcel and WriteExcel) so that developers can enhance and modify the code themselves. The support for the product will only be to update code that was developed by others to enhance the product.

If you want to use the utilities in a product that you or your company will be selling, then you will be required to have a commercial license. There is a small charge for a commercial license so that you can redistribute the product in your own application.

Note that these utilities are not designed to work in SAS. They are specific to WPS.

The utility to read an Excel workbook is a simple macro call.

          %ReadExcel( data = mydataset,
                      Workbook = “c:\temp\testbook1.xlsx”,
                      Sheet = “sheet1”);

Where

Data is the name of the WPS/WPD data set you want to create.
Workbook is the name of the Excel Workbook you want to read the data from.
Sheet is the name of the sheet in the workbook from which you want to read the data from.

The utility to write an Excel Workbook is just as simple.

          %WriteExcel( data = a,
                       Workbook =   “c:\excelutils\data\testworkbook.xlsx”,
                       Sheet = “sheet1”,
                       Datefmt = mm/dd/yyyy,
                       javamemsize = 500m,
                       Replace = TRUE);

Where

   Data is the WPS/WPD data set that you want to write out to Excel.
   Workbook is the name and location of the workbook you want to create.
   Sheet is the name of the sheet in the workbook that you want to create.
   Datefmt is the format that you want the date fields to look like.
   Javamemsize is the amount of memory you want to allocate to java (optional).
   Replace is whether you want to delete the existing workbook before creating the new workbook.

What I like about these two utilities is that you can use the exact same syntax across all three OS platforms to create an Excel Workbook. If you are creating or already have a product (i.e. a vertical market application) in WPS, you can open up your product to other platforms without changing any code.

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.

So What is this PROC R?

At the end of March 2014, World Programming introduced a new PROC that is a first for WPS. World Programming created a unique PROC called PROC R. What PROC R is all about is interfacing into the R ecosystem using WPS and allowing you, the user/developer/statistician to write R code and have it execute from within WPS.

PROC R is pretty neat. In contrast to our main competitor, integration with the R system comes as part of the WPS package. With the SAS System, you need to license IML (mucho moolaa $$$) to use Open Source R.

PROC R works as you would expect it to. You write your R code, submit the job and WPS manages the output for you. The output comes back into your LOG and LISTING windows (or files if you are running batch) just like any other PROCEDURE. R graphs, charts, plots, maps, etc… come back and are viewable from the WPS Workbench as well.

So what does PROC R look like? I think it is pretty straight forward because there only a couple of keywords to remember. Here’s an example using some population data that I have.

*--> You must have the R Hmisc package installed before running this program.;

data censusHistory;
   input year pop @@;
   pop2 = Round(Pop/1000000,.1);
   popsq=pop2*pop2;
   lpop=lag(pop2);
cards;
1790 3929214 1800 5308483 1810 7239881 1820 9638453 1830 12860702 1840 17063353 
1850 23191876 1860 31443321 1870 38558371 1880 50189209 1890 62979766 1900 76212168 
1910 92228496 1920 106021537 1930 123202624 1940 142164569 1950 161325798 
1960 189323175 1970 213302031 1980 236542199 1990 258709873 2000 291421906 
;;;;
run;


PROC R;
submit;

 # if you have the Hmisc package already installed - you do not need to run this part
 
 # options(repos=structure(c(CRAN="http://cran.case.edu/")))
 # install.packages("Hmisc", dependencies = FALSE)
 
 ENDSUBMIT;
 Quit;

 
 
 

PROC R;
EXPORT data=censusHistory R=census;

submit;

    census.lm <- lm(pop2 ~ year+lpop, data=census)
    summary(census.lm)
    coef(census.lm)
    resid(census.lm)
    fitted(census.lm)
    plot(census.lm)
    
ENDSubmit;
quit;

Here’s what the WPS log looks like for the above code.

87        *--> You must have the R Hmisc package installed before running this program.;
88        
89        data censusHistory;
90           input year pop @@;
91           pop2 = Round(Pop/1000000,.1);
92           popsq=pop2*pop2;
93           lpop=lag(pop2);
94        cards;

NOTE: A new line was read when INPUT statement read past the end of a line
NOTE: Data set "WORK.censusHistory" has 22 observation(s) and 5 variable(s)
NOTE: The data step took :
      real time : 0.012
      cpu time  : 0.015


95        1790 3929214 1800 5308483 1810 7239881 1820 9638453 1830 12860702 1840 17063353
96        1850 23191876 1860 31443321 1870 38558371 1880 50189209 1890 62979766 1900 76212168
97        1910 92228496 1920 106021537 1930 123202624 1940 142164569 1950 161325798
98        1960 189323175 1970 213302031 1980 236542199 1990 258709873 2000 291421906
99        ;;;;
100       run;
101       
102       
103       PROC R;
104       submit;
105       
106        # if you have the Hmisc package already installed - you do not need to run this part
107       
108        # options(repos=structure(c(CRAN="http://cran.case.edu/")))
109        # install.packages("Hmisc", dependencies = FALSE)
110       
111        ENDSUBMIT;
NOTE: Using R version 3.0.2 (2013-09-25) from C:\Program Files\R\R-3.0.2

NOTE: Submitting statements to R:

> 
>  # if you have the Hmisc package already installed - you do not need to run this part
>  
>  # options(repos=structure(c(CRAN="http://cran.case.edu/")))
>  # install.packages("Hmisc", dependencies = FALSE)
>  

NOTE: Processing of R statements complete

112        Quit;
NOTE: Procedure R step took :
      real time : 0.274
      cpu time  : 0.015


113       
114       
115       
116       
117       
118       PROC R;
NOTE: Using R version 3.0.2 (2013-09-25) from C:\Program Files\R\R-3.0.2
119       EXPORT data=censusHistory R=census;
NOTE: Creating R data frame 'census' from data set 'WORK.censusHistory'

120       
121       submit;
122       
123           census.lm <- lm(pop2 ~ year+lpop, data=census)
124           summary(census.lm)
125           coef(census.lm)
126           resid(census.lm)
127           fitted(census.lm)
128           plot(census.lm)
129       
130       ENDSubmit;

NOTE: Submitting statements to R:

> 
>     census.lm <- lm(pop2 ~ year+lpop, data=census)
>     summary(census.lm)
>     coef(census.lm)
>     resid(census.lm)
>     fitted(census.lm)
>     plot(census.lm)
>     

NOTE: Processing of R statements complete
NOTE: Successfully written image C:\Users\ADMINI~1\AppData\Local\Temp\WPS Temporary Data\_TD8748\ODS LISTING images\I0000005.jpeg
NOTE: Successfully written image C:\Users\ADMINI~1\AppData\Local\Temp\WPS Temporary Data\_TD8748\ODS LISTING images\I0000006.jpeg
NOTE: Successfully written image C:\Users\ADMINI~1\AppData\Local\Temp\WPS Temporary Data\_TD8748\ODS LISTING images\I0000007.jpeg
NOTE: Successfully written image C:\Users\ADMINI~1\AppData\Local\Temp\WPS Temporary Data\_TD8748\ODS LISTING images\I0000008.jpeg

131       quit;
NOTE: Procedure R step took :
      real time : 0.372
      cpu time  : 0.015


132       run;
133 

The output generated by R.

Call:                                                                                                                               
lm(formula = pop2 ~ year + lpop, data = census)                                                                                     
Residuals:                                                                                                                          
    Min      1Q  Median      3Q     Max                                                                                             
-4.9170 -0.9663 -0.0757  1.0125  5.8427                                                                                             
Coefficients:                                                                                                                       
              Estimate Std. Error t value Pr(>|t|)                                                                                  
(Intercept) -213.08618   53.54030  -3.980 0.000878 ***                                                                              
year           0.11848    0.02915   4.064 0.000728 ***                                                                              
lpop           1.01868    0.02191  46.491  < 2e-16 ***                                                                              
---                                                                                                                                 
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1                                                                      
Residual standard error: 2.338 on 18 degrees of freedom                                                                             
  (1 observation deleted due to missingness)                                                                                        
Multiple R-squared:  0.9994,    Adjusted R-squared:  0.9993                                                                            
F-statistic: 1.521e+04 on 2 and 18 DF,  p-value: < 2.2e-16                                                                          
 (Intercept)         year         lpop                                                                                              
-213.0861783    0.1184845    1.0186849                                                                                              
          2           3           4           5           6           7           8           9          10          11          12 
 1.14121085  0.43020696 -0.29013941 -0.61982824 -0.96633352 -0.32965525  0.47152164 -1.86653985  1.21408360  1.01249332 -0.01151889 
         13          14          15          16          17          18          19          20          21          22             
 1.35699492 -2.32680910 -0.36950625 -0.07573220 -1.51559104  5.84268162  0.13465832 -2.29862522 -4.91696081  3.98338854             
         2          3          4          5          6          7          8          9         10         11         12         13 
  4.158789   6.769793   9.890139  13.519828  18.066334  23.529655  30.928478  40.466540  48.985916  61.987507  76.211519  90.843005 
        14         15         16         17         18         19         20         21         22                                  
108.326809 123.569506 142.275732 162.815591 183.457318 213.165342 238.798625 263.616961 287.416611 

Finally, the graphs that R generated.

 

I0000001

I0000002

 

I0000003

I0000004

 

This gives you the idea of how easy PROC R is to use in WPS.  PROC R is available across all platforms that are supported by R and that includes the WPS platforms of Linux, AIX, Solaris, Unix, Windows and OS X.

WPS is a high value and low cost alternative to the SAS System and with the new PROC R being included (not an additional purchase), it confirms the value proposition of WPS in both small and large companies.

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.

Christmas Gift Ideas for your Business Intelligence Sweetheart

1. Does your sweetheart use R? How about a book on graphics and R using ggplot2 for creating some knockout plotss? Check out Amazon for current prices. About $50.

2. If your sweetie complains about how slow his or her computer is, how about speeding it up with a nice new SSD? Prices vary by manufacturer and capacity but you can typically get a 120GB SSD drive for about $80. Try the Kingston SSDNow v300 from Microcenter.

3. Looking for something that is a bit more fun? How about a tablet computer that can run Windows 8.1? A boy (or a girl) likes their toys and a Dell Venue 8 Pro would be a hoot. They price out between $250 and $300 so shop around for the best deal.

4. We all sit in front of our computers most of the day so a nice display would always be welcome. The Asus PA248Q is a pretty decent monitor. The display resolution is 1920×1200 which really helps when running a number of VNC or VM windows. The monitor typically sells for around $320 from Newegg and Walmart.

5. Since many of us sit in an office chair most of the day, why not make the most out of it? Target has a 10 motor heat and massaging chair cushion. I have something similar to this and love it. Heck, this cushion even has a cool control unit.

6. If your sweetie pie is looking to start coding on a Mac, then you can’t go wrong with a Mac Mini. For $599, it’s the most inexpensive way to get into the Apple Mac family. The Mac Mini comes with 4GB of RAM and a 500GB hard drive. The memory is easily expandable and with the new Thunderbolt port, so is the storage.

7. Are you (or the intended giftee) looking to voice recognition to enhance productivity? Nuance makes a product that works on both OS X and Windows called Dragon Naturally Speaking. It’s currently on Sale from the Nuance website for about $75. This package also includes a headset which can be used with Skype. The OS X version is a bit more expensive right now (cyber Monday special ~ $125).

8. A good set of desktop speakers is always great to have. The best, in my opinion are the Klipsch THX Promedia 2.1 speaker system. These are fabulous speakers with rich warm bass and incredible imaging and stereo separation. Check out Best Buy but make sure you shop around. If you pay over $140 for them, you have paid too much.

9. This is supposed to be the year of the tablet. I have bought a few now and can lay claim to knowing what the biggest bang is for the buck. My favorite tablet at the moment is the Hisense Sero 7 Pro 7” Quad Core Tablet. This tablet just rocks! Make sure you add a MicroSD card for it too. Online cost is $149 but I picked one up in store for $129.

10. If you really want to rock your honey’s life, consider buying a desktop license of WPS from MineQuest Business Analytics for $1,266 through the end of the year. WPS is a high value, low cost software product that can be used to write and execute most SAS language programs. Granted this would be an expensive gift but it’s the only one on the list that can be used to make some money and earn a living!

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.

 

 

Marianne for Miss Michigan!

plymouth

MineQuest Business Analytics is proud to sponsor Marianne Williamson of Plymouth Michigan as she gets ready to compete in the 2014 Miss Michigan competition. I’ve known Marianne since she was knee high to a June bug and we are excited to see her compete this year in Port Huron.

If it wasn’t enough that Marianne was blessed with incredible looks, Marianne is also a very smart young woman. She has a degree in Finance and works at Microsoft in marketing. There’s a lot of things that I like about Marianne but two things stand out to me. I admire her passion for exploring the uses of technology and I enjoy how much fun it is to be around her. She always manages to find humor at some event or in what someone says or does. Plus, it’s a treat when she gets that sly smile on her face and she turns to share the humor with those around her.

So this weekend, September 13-14, we will be pulling hard for Marianne to become the next Miss Michigan and we wish her the best of luck.

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

2013 WPS and SAS Server Pricing Comparison

It’s that time of the year again. We’ve updated our ever popular WPS vs. SAS Pricing Comparison document for 2013. As in previous years, we pulled data for SAS pricing from the GSA schedule. As most of you who have read previous years pricing comparisons, WPS continues to stay significantly less expensive than our competitor.

The pricing differential for even our most entry level server product in contrast with our competitor is stunning. For example, with the money you can save in the very first year in licensing WPS over SAS on just a two core server, you could:

  • Buy 5 Kia Souls.
  • Pay for food for a family of four for 7.5 years.
  • Will buy four years of in-state tuition and room and board at Ohio State University.
  • Buys 27 years worth of gasoline for the average U.S family.
  • You could add an employee to your company.
  • Buys 24 months of a high end vacation rental home that has a Jacuzzi and lap pool.

OK, you get the point! Click the following link for the updated “Pricing Comparison Document” in PDF format.

Note: We no longer provide the pricing comparison document due to the time and complexity of pulling our competitors pricing data.

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.

Sending SMS Text via WPS

As mobile has become ubiquitous in our culture, it’s become more of the norm to utilize cell phones and tablets in both our business and personal life. There’s a seismic shift in personal computing that has impacted us in both the work place as well as at home. Our phones and tablets are basically used as a consumer device. As a consumer device, I mean a gadget that we don’t program on to do various things, but a device to alert us and to keep us informed.

One of the interesting applications that can be done with WPS is the use of email from within your WPS application. For example, you can format a report and send it via email to those folks who need to see it as opposed to having to send emails manually. One cool thing is that you can also use WPS to send a text message via the WPS application.

There could be a use for sending a SMS message via your WPS program. For example, one use could be to notify you that a long running job has run to completion or has thrown an error code.

To send a text message, you need to find your cell phone’s gateway before you can send an SMS message. Below is a table with the four largest carriers in the United States with their respective gateways.

 

Table 1. Major Carriers SMS Gateway Addresses.

AT&T

number@txt.att.net

Sprint

number@messaging.sprintpcs.com

T-Mobile

number@tmomail.net

Verizon

number@vtext.com

Here is the basic code to send a text message via email using WPS. Of course, you could enhance the functionality of the code below and wrap it in a macro to make it even easier to use.

   1: FILENAME mail EMAIL "5555555555@vtext.com"

   2:          SUBJECT="Message from WPS: ";

   3:  

   4: data _null_;

   5:   file mail;

   6:   PUT "Program DAILY-BUILD has completed. Check log file for errors.";

   7:   PUT "!EM_SEND!";

   8: Run;

One issue that you are likely to encounter is that you will receive a message from Outlook or Windows Mail confirming that YOU are trying to send an email as opposed to a rogue program attempting doing it.

You can overcome this validation by using Context Magic’s ClickYes application or alternatively MapiLabs Outlook Security application.

image

You can overcome this validation check by using Context Magic’s ClickYes application or alternatively MapiLabs Outlook Security application.

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.