VIEWS News 61 (2020Q3) has been published!

Loading

VIEWS News issue 61 has now been published.

This newsletter issue welcomes 2 new VIEWS Consultants: Jonas Bilenas and Norman Williams. It also contains an article from LeRoy Bessler about Donut Charts, an ODS article from Jonas Bilenas, a solution to including program documentation from Norman Williams, and I have added a review of the SAS Analytics Explorers communities. As usual I have publicised some SAS‑related events for the next few months, and I have also added some more SAS formats, options and functions that you may or may not have come across before, but you might find interesting, and even useful.

If you would like to contribute an article on any SAS topic, or a SAS-related event date from December 2020 onward, to the next issue in November 2020 then please send an email with a description/attachment of your contribution to view-uk@hollandnumerics.org.uk or phil@hollandnumerics.org.uk.

To be able to read this and all previous issues you will need to follow these steps:

  1. If you have not already registered on this blog site, go to blog.hollandnumerics.org.uk and register for free membership.
  2. Once successfully registered, click the menu item [Subscriptions for Forums and Features] > [Request access to the VIEWS UK forum] to request free access to the VIEWS UK forum, then add your name and email address to the form before clicking [Send].
  3. On receipt of a request for an existing blog member I will register them for free access to the VIEWS UK forum, and then send them an email to confirm this.
  4. The next time they log onto the blog site they will see VIEWS UK in the forum list, where you will find the latest issue of VIEWS News, forum topics to find the backissues, functions and formats in every published issue, and a tag cloud covering every forum on the site to which you have access, including VIEWS UK and the VIEWS News issues.
  5. They will also be automatically informed of any VIEWS UK updates.

Enjoy!……………..Phil

Seeking active recruiters for US, India and Europe! SAS-related Jobs from Recruiters in UK in September 2020

Loading

Looking for a SAS-related job?

There are a number of SAS-related jobs in the SAS Jobs Listing this month in the UK, and the links are open to all site visitors:

  • UK: Pharmaceutical contract positions from CK Clinical.
  • UK: Pharmaceutical permanent positions from SQN Recruitment.

Please use the links in the SAS Jobs Listing to apply for these positions.

Recruiters

I’m always looking for new recruiters to post SAS-related jobs on this site covering India, UK, the Americas, Europe and the Rest of the World. In particular, I would like to include jobs in the US, India and Europe, where nearly 3/4 of the registered blog members are located, but currently there are no active recruiters for them.

If you have a regular supply of jobs, then there is a free trial which is open to all recruiters, but with 2 simple rules:

  1. The free trial will be extended by an additional calendar month only when a job is posted, and will expire automatically if no job has been posted in a calendar month.
  2. The posted jobs must be in some way SAS-related.

The current regional breakdown of registered blog members is as follows, but note that the SAS Jobs Listing is open to all site visitors:

  1. Indian sub-continent: 33.7% (246)
  2. The Americas: 24.0% (175)
  3. UK: 20.9% (152)
  4. Europe: 15.0% (109)
  5. Rest of the World: 6.4% (47)

Last call for articles for VIEWS News 61: Become a VIEWS Consultant this month!

Loading

Last call for articles for VIEWS News 61: Become a VIEWS Consultant this month! I’m planning to publish VIEWS News issue 61 at the end of August 2020, which means that I need you to send me your short SAS-related articles by 17Aug2020 to views-uk@hollandnumerics.org.uk.

Topics include:

  • Annoying SAS Programming Styles: I wrote Part 1 in issue 60 about indenting of SAS code. Do you have your own example of an annoying programming style, and how to fix it?
  • Event previews and reports.
  • Short articles on any SAS-related topics.

All the above examples will entitle the author to refer to themselves as a VIEWS Consultant!

There is also In Brief and Diary sections in each issue containing:

  • Links to interesting SAS-related web sites.
  • Announcements of SAS-related events occurring from mid-September onwards.

Looking forward to hearing from you soon…………..Phil

 

Seeking recruiters for India or Europe! SAS-related Jobs from Recruiters in UK and US in August 2020

Loading

Looking for a SAS-related job?

There are a number of SAS-related jobs in the SAS Jobs Listing this month in Europe, the UK and US, and the links are open to all site visitors:

  • UK: Pharmaceutical contract positions from CK Clinical.
  • UK: Pharmaceutical permanent positions from SQN Recruitment.
  • US: Pharmaceutical contract-to-hire positions from Advanced Clinical.

Please use the links in the SAS Jobs Listing to apply for these positions.

Recruiters

I’m always looking for new recruiters to post SAS-related jobs on this site covering India, UK, the Americas, Europe and the Rest of the World. In particular, I would like to include jobs in India and Europe, where nearly half of the registered blog members are located, but currently there are no active recruiters for them.

If you have a regular supply of jobs, then there is a free trial which is open to all recruiters, but with 2 simple rules:

  1. The free trial will be extended by an additional calendar month only when a job is posted, and will expire automatically if no job has been posted in a calendar month.
  2. The posted jobs must be in some way SAS-related.

The current regional breakdown of registered blog members is as follows, but note that the SAS Jobs Listing is open to all site visitors:

  1. Indian sub-continent: 33.9% (241)
  2. The Americas: 23.9% (170)
  3. UK: 20.6% (146)
  4. Europe: 15.1% (107)
  5. Rest of the World: 6.5% (46)

Seeking recruiters for India or Europe! SAS-related Jobs from Recruiters in UK and US in July 2020

Loading

Looking for a SAS-related job?

There are a number of SAS-related jobs in the SAS Jobs Listing this month in the UK and US, and the links are open to all site visitors:

  • UK: Pharmaceutical permanent positions from SQN Recruitment.
  • UK: Pharmaceutical contract positions from CK Clinical.
  • US: Analytics contract-to-hire positions from Pinnacle Solutions.

Please use the links in the SAS Jobs Listing to apply for these positions.

Recruiters

I’m always looking for new recruiters to post SAS-related jobs on this site covering India, UK, the Americas, Europe and the Rest of the World. In particular, I would like to include jobs in India and Europe, where nearly half of the registered blog members are located, but currently there are no active recruiters for them.

If you have a regular supply of jobs, then there is a free trial which is open to all recruiters, but with 2 simple rules:

  1. The free trial will be extended by an additional calendar month only when a job is posted, and will expire automatically if no job has been posted in a calendar month.
  2. The posted jobs must be in some way SAS-related.

The current regional breakdown of registered blog members is as follows, but note that the SAS Jobs Listing is open to all site visitors:

  1. Indian sub-continent: 33.9% (236)
  2. The Americas: 23.8% (166)
  3. UK: 20.7% (144)
  4. Europe: 15.2% (106)
  5. Rest of the World: 6.5% (45)

Seeking recruiters for India or Europe! SAS-related Jobs from Recruiters in UK and US in June 2020

Loading

Looking for a SAS-related job?

There are a number of SAS-related jobs in the SAS Jobs Listing this month in the UK and US, and the links are open to all site visitors:

  • UK: Pharmaceutical permanent positions from SQN Recruitment.
  • US: Analytics contract-to-hire positions from Pinnacle Solutions.

Please use the links in the SAS Jobs Listing to apply for these positions.

Recruiters

I’m always looking for new recruiters to post SAS-related jobs on this site covering India, UK, the Americas, Europe and the Rest of the World. In particular, I would like to include jobs in India and Europe, where nearly half of the registered blog members are located, but currently there are no active recruiters for them.

If you have a regular supply of jobs, then there is a free trial which is open to all recruiters, but with 2 simple rules:

  1. The free trial will be extended by an additional calendar month only when a job is posted, and will expire automatically if no job has been posted in a calendar month.
  2. The posted jobs must be SAS-related.

The current regional breakdown of registered blog members is as follows, but note that the SAS Jobs Listing is open to all site visitors:

  1. Indian sub-continent: 33.5% (226)
  2. The Americas: 24.3% (164)
  3. UK: 21.2% (143)
  4. Europe: 14.4% (97)
  5. Rest of the World: 6.5% (44)

Seeking recruiters for India or Europe! SAS-related Jobs from Recruiters in UK and US in May 2020

Loading

Looking for a SAS-related job?

There are a number of SAS-related jobs in the SAS Jobs Listing this month in the UK and US, and the links are open to all site visitors:

  • UK: Pharmaceutical permanent positions from SQN Recruitment.
  • US: Analytics contract-to-hire positions from Pinnacle Solutions.

Please use the links in the SAS Jobs Listing to apply for these positions.

Recruiters

I’m always looking for new recruiters to post SAS-related jobs on this site covering India, UK, the Americas, Europe and the Rest of the World. In particular, I would like to include jobs in India and Europe, where nearly half of the registered blog members are located, but currently there are no active recruiters for them.

If you have a regular supply of jobs, then there is a free trial which is open to all recruiters, but with 2 simple rules:

  1. The free trial will be extended by an additional calendar month only when a job is posted, and will expire automatically if no job has been posted in a calendar month.
  2. The posted jobs must be SAS-related.

The current regional breakdown of registered blog members is as follows, but note that the SAS Jobs Listing is open to all site visitors:

  1. Indian sub-continent: 33.5% (223)
  2. The Americas: 24.2% (161)
  3. UK: 21.2% (141)
  4. Europe: 14.6% (97)
  5. Rest of the World: 6.6% (44)

COVID-19 SAS Studio Project No.2: Visualising global trends in Johns Hopkins University data

Loading

This is a project to read the daily Johns Hopkins COVID-19 data and visualise the national infection and fatality trends using Base SAS and SAS/STAT:

  1. Download the GitHub Desktop software from https://desktop.github.com/ and install it on your computer where you will be running SAS Studio or SAS University Edition. For instructions on how to install SAS University Edition on your own computer please read my blog post “Are you learning about SAS?”.
  2. Clone the Johns Hopkins COVID-19 data at https://github.com/CSSEGISandData/COVID-19, and then Pull the latest data, using the GitHub Desktop. This will reduce the time need to download all of the latest data each time you run the SAS Studio project, as a simple and quick Pull request in GitHub Desktop is all that is required each time.
  3. Download my SAS Studio CPF project file (John-Hopkins-GitHub-data.cpf), which is a zipped CPF file and will be updated occasionally with accepted submitted updates. Please check for comments here when updates are added.
  4. Open the CPF project file in SAS Studio (requires Base SAS and SAS/STAT) or SAS University Edition (making certain you have created a Shared Folder(s) first that are pointing to where your GitHub files and CPF project file are stored).
  5. Update the “run first” program to include your GitHub file folder in the &_dir macro variable assignment. The CSV files we will be using can be found in the /csse_covid_19_data/csse_covid_19_daily_reports folder.
  6. Submit each program in order given below (or submit all of the programs in the project’s flow together):
    • (1) “run first” assigns the location of the data to the &_dir macro variable.
    • (2) “Read CSV files” creates the SAS data sets in WORK by reading all of the CSV files in the csse_covid_19_daily_reports folder. Summarise the records by Country_Region to remove finer detail in the csse_covid_19_daily_reports.
    • (3) “Calculate regression lines” generates the regression lines for confirmed cases between 100 and 10,000, and deaths between 10 and 1,000, to include on the graphs. The regression lines appear to be straight in the semi-log plots, but are actually exponential to match the initial growth of confirmed cases, so that “flattening” of the curves can be identified more easily.
    • (4) “Semi-log plots of confirmed vs deaths” generates the graphs for countries where COVID-19 has had more than 1,000 confirmed cases or more than 100 deaths.

Some questions for you to answer:

    • (a) Where could my “Read CSV files” program be improved?
    • (b) Why is the US graph split at around 20Mar2020? Is this a problem with the data or my program?
    • (c) Are all of cases being included?

This project is open to SAS programmers and to researchers. Follow the above instructions yourself, and then see if you can improve my SAS code by answering the questions.

Please send your saved SAS Studio flow containing your improved versions of the SAS programs to phil@hollandnumerics.org.uk. Anyone providing improvements that can be incorporated will be added to the credits for this project.

My first COVID-19 SAS project for SAS Studio/SAS University Edition can be found at “Can you help? Supporting Coronavirus Research by searching research papers with SAS“.

If you are still looking for SAS training, then please go to my blog post “SAS training for home-workers: Keeping your mind active and your skills current” for some more training options.

COVID-19 can be defeated, and, working together, we can make a difference!

Can you help? Supporting Coronavirus Research by searching research papers with SAS

Loading

Kaggle are running a competition to develop a Python or R application to filter the vast collection of medical research papers that are being published every day.


The CORD-19 dataset represents the most extensive machine-readable coronavirus literature collection available for data mining to date. This allows the worldwide AI research community the opportunity to apply text and data mining approaches to find answers to questions within, and connect insights across, this content in support of the ongoing COVID-19 response efforts worldwide. There is a growing urgency for these approaches because of the rapid increase in coronavirus literature, making it difficult for the medical community to keep up.

Many of these questions are suitable for text mining, and they are encouraging researchers to develop text mining tools to provide insights on these questions.

This dataset was created by the Allen Institute for AI in partnership with the Chan Zuckerberg Initiative, Georgetown University’s Center for Security and Emerging Technology, Microsoft Research, and the National Library of Medicine – National Institutes of Health, in coordination with The White House Office of Science and Technology Policy.


I am not a Python or R programmer, but a SAS programmer, so I decided to make use of the freely available dataset and try to develop a simple data mining application in SAS instead, which I would like to publish to the benefit of the fight against COVID-19. I have now created a basic framework, which I am opening up to the SAS-programming community to test, improve and enhance as a saved SAS Studio flow (*.cpf), which can be imported into a Single-User SAS Studio installation, or into a SAS University Edition installed on a PC (see my blog post “Are you learning about SAS?” for details about how to install this version of SAS), as these installations can directly access files on your own computer.

The SAS programs in the SAS Studio flow are as follows:

  • run first:
    • Assigns the location of the downloaded Kaggle dataset into &_dir.
      • This macro variable will need to be edited to match the location of the folder where you have downloaded and extracted the CORD-19 dataset. SAS University Edition users will also need to assign a shared folder pointing to this location.
    • Includes %create_json_extract_script used in the Read json xxx programs below to read the JSON files containing the selected research papers into SAS, and then print out the contents of the paper.
      • If more non-printable characters are present that are not catered for in this macro, then additional TRANWRD() statements will need to be added here.
      • If anyone can devise a more elegant solution than using multiple TRANWRD() statements to convert unicode (\u9999) strings to printable 8-bit ASCII values, then I will welcome tested suggestions.
  • Read metadata:
    • Reads the CSV file containing the metadata about the research papers, including the abstract, which can be searched, and the location(s) of the related paper(s). SAS data set created = work.metadata.
  • Filter metadata 31Dec19:
    • Filters the extracted metadata to only include papers published in or after December 2019. SAS data set created = work.Since_31Dec19.
  • Filter metadata xxx:
    • Filters the SAS data set (work.Since_31Dec19) created by Filter metadata 31Dec19 to select paper abstracts containing specific particular keywords. SAS data set created = work.Since_31Dec19_xxx:
      • xxx=infect: WHERE INDEX(lowcase(abstract), ‘infect‘) AND INDEX(lowcase(abstract), ‘rate’) AND INDEX(lowcase(abstract), ‘age’) AND (INDEX(lowcase(abstract), ‘hcov’) OR INDEX(lowcase(abstract), ‘-cov’) OR INDEX(lowcase(abstract), ‘covid’));
      • xxx=cured: WHERE INDEX(lowcase(abstract), ‘cured‘) AND INDEX(lowcase(abstract), ‘rate’) AND INDEX(lowcase(abstract), ‘age’) AND (INDEX(lowcase(abstract), ‘hcov’) OR INDEX(lowcase(abstract), ‘-cov’) OR INDEX(lowcase(abstract), ‘covid’));
      • xxx=fatal: WHERE INDEX(lowcase(abstract), ‘fatal‘) AND INDEX(lowcase(abstract), ‘rate’) AND INDEX(lowcase(abstract), ‘age’) AND (INDEX(lowcase(abstract), ‘hcov’) OR INDEX(lowcase(abstract), ‘-cov’) OR INDEX(lowcase(abstract), ‘covid’));
      • xxx=recover: WHERE INDEX(lowcase(abstract), ‘recover‘) AND INDEX(lowcase(abstract), ‘rate’) AND INDEX(lowcase(abstract), ‘age’) AND (INDEX(lowcase(abstract), ‘hcov’) OR INDEX(lowcase(abstract), ‘-cov’) OR INDEX(lowcase(abstract), ‘covid’));
  • Read json xxx:
    • Prints all of the papers in the filtered abstracts to HTML using the metadata in the SAS data set (work.Since_31Dec19_xxx) created by Filter metadata xxx.

This project is open both to SAS programmers and to researchers. Please download the CORD-19 dataset and my SAS Studio flow. Try it out yourself, and then see if you can improve the performance, usability, flexibility or maintenance of my SAS code.

Please send your saved SAS Studio flow containing your improved versions of the SAS programs to phil@hollandnumerics.org.uk. Anyone providing improvements that can be incorporated will be added to the credits for this project.

If you are still looking for SAS training, then please go to my blog post “SAS training for home-workers: Keeping your mind active and your skills current” for some more training options.

COVID-19 can be defeated, and, working together, we can make a difference!

SAS-related Jobs from Recruiters in UK and US in April 2020

Loading

Looking for a SAS-related job?

There are a number of SAS-related jobs in the SAS Jobs Listing this month in the UK and US, and the links are open to all site visitors:

  • UK: Pharmaceutical permanent positions from SQN Recruitment.
  • US: Healthcare permanent positions from Pinnacle Solutions.

Please use the links in the job listings to apply for these positions.

Recruiters

I’m always looking for new recruiters to post SAS-related jobs on this site covering India, UK, the Americas, Europe and the Rest of the World. In particular, I would like to include jobs in Europe and India, where nearly half of the registered blog members are located, but currently there are no active recruiters for them.

If you have a regular supply of jobs, then there is a free trial which is open to all recruiters, but with 2 simple rules:

  1. The free trial will be extended by an additional calendar month only when a job is posted, and will expire automatically if no job has been posted in a calendar month.
  2. The posted jobs must be SAS-related.

The current regional breakdown of registered blog members is as follows, but note that the SAS Jobs Listing is open to all site visitors:

  1. Indian sub-continent: 33.2% (218)
  2. The Americas: 24.0% (158)
  3. UK: 21.3% (140)
  4. Europe: 14.9% (98)
  5. Rest of the World: 6.5% (43)

SAS training for home-workers: Keeping your mind active and your skills current

Loading

I have been working from home on and off since 1996, so it now feels quite normal to start my work day by walking from my kitchen into my office. I know some of my colleagues have struggled with the many distractions that exist at home, so I suppose I’ve been lucky, but I still do not like doing nothing at all. To stop any boredom setting in I will look for ways to do something useful, and, over the years, I have taught myself many programming languages by reading books, running example code, and trying to write applications that will be useful day-to-day, for example:

  • Database applications for calculating hours left to work and printing invoices in Visual Basic.
  • Web applications to send me emails and SMS messages in Perl.
  • Smartphone apps for webOS (remember HP/Palm phones?) in Javascript and HTML5.
  • Smartphone apps for Android in Java.
  • Crossword puzzle word-finder scripts in LibreOffice Basic.
  • SAS Enterprise Guide custom tasks in VB.Net.
  • SAS Studio custom tasks in XML.

Each language presents a different set of problems and solutions, so each new solution will broaden your knowledge of the computer world. Not all language have been central to my day job, but my views on solving computer problems has been moulded by each new programming language I’ve used. In 1996 there was no significant online help, so you couldn’t easily ask anyone for help, but instead you had to rely on hints and tips in computer magazines. Later the online communities have become vital, but you will now have to ask your questions in the correct way, so that it will be understood by each community, as names are not necessarily consistent, otherwise your question is likely to be ignored. I’ve now found ways to improve the chances of my questions being answered, even if my problems are not always resolved:

  • Write a subject line that asks a question that could be answered, otherwise it probably won’t even be read.
  • Set the scene by describing the environment you are working in, such as operating system, and software language and version.
  • Describe in as much detail as you can what you are trying to do, what you have already tried, and any results/messages that you are getting, even if you don’t understand them.
  • Never assume that you’re problem can be solved, but work with anyone who offers you assistance.
  • Be humble and grateful, because there will be programmers out there who know more about this than you, and you might need to call on their skills again.

So what has all this got to do with SAS training? Well, thanks to COVID-19, there are now more home-workers than ever before, and in some cases the work available may not be filling your day, so what can you do to fill your spare time and improve your programming knowledge? I have gathered together some sources of SAS training and information which are either free or inexpensive, which you may find useful, and if you find out about any more, then post a comment and I’ll be happy to check them out:

  • Training courses:
    • My corporate SAS training courses are intended for large groups, but each course has an associated eBook that is much cheaper and available through the Training section on this site.
    • I have a low-cost forum with a monthly subscription called the SAS Programming Forum, which welcomes SAS programming questions, but also includes the SAS course with a growing number of SAS-related topics, such as Data Steps, SAS Macros and PROC SQL, either as individual posts or LMS courses.
    • If you prefer to learn from eBooks or Android apps, then the topics in the SAS course are also available as eBooks and Android apps (on Amazon Appstore and Google Play).
  • Papers and books:
    • The Conferences Paper section on this site is filled with papers covering a wide range of SAS-related topics, which can be downloaded for free.
    • Other SAS-related books can be bought through the Books section on this site.
    • The largest searchable collection of SAS-related conference papers is maintained by Lex Jansen, including papers from SUGI, SeUGI, regional SAS user groups and forums, VIEWS, PhUSE, PharmaSUG and SAS Global Forum.
  • Competitive learning:
    • Sasensei is a SAS-related quiz and learning site where the flashcards, questions and quizzes are contributed by the users, and you earn points and awards from contributions and correct answers, but you will always learn from your incorrect answers too.
  • SAS support:
  • SAS programming platforms for learning:
    • SAS University Edition is free for use as a learning platform, and can either be downloaded and installed on your laptop using VMware or VirtualBox, or accessed through the web on the AWS Cloud.
    • WPS Analytics Community Edition is a free version of WPS Analytics, which can be licensed from World Programming for 6 months at a time and installed on your PC, and can run SAS programs using quite a large subset of SAS programming features, and includes R and Python interfaces.

I think that should at least get you started on your SAS improvement projects!