By using this site, you agree to the Privacy Policy and Terms of Use.
Accept
SmartData Collective
  • Analytics
    AnalyticsShow More
    predictive analytics in dropshipping
    Predictive Analytics Helps New Dropshipping Businesses Thrive
    12 Min Read
    data-driven approach in healthcare
    The Importance of Data-Driven Approaches to Improving Healthcare in Rural Areas
    6 Min Read
    analytics for tax compliance
    Analytics Changes the Calculus of Business Tax Compliance
    8 Min Read
    big data analytics in gaming
    The Role of Big Data Analytics in Gaming
    10 Min Read
    analyst,women,looking,at,kpi,data,on,computer,screen
    Promising Benefits of Predictive Analytics in Asset Management
    11 Min Read
  • Big Data
  • BI
  • Exclusive
  • IT
  • Marketing
  • Software
Search
© 2008-23 SmartData Collective. All Rights Reserved.
Reading: SAS Coding: Scattered Data Might Need CPORT Procedure Help
Share
Notification Show More
Latest News
ai software development
Key Strategies to Develop AI Software Cost-Effectively
Artificial Intelligence
ai in omnichannel marketing
AI is Driving Huge Changes in Omnichannel Marketing
Artificial Intelligence
ai for small business tax planning
Maximize Tax Deductions as a Business Owner with AI
Artificial Intelligence
ai in marketing with 3D rendering
Marketers Use AI to Take Advantage of 3D Rendering
Artificial Intelligence
How Big Data Is Transforming the Maritime Industry
How Big Data Is Transforming the Maritime Industry
Big Data
Aa
SmartData Collective
Aa
Search
  • About
  • Help
  • Privacy
Follow US
© 2008-23 SmartData Collective. All Rights Reserved.
SmartData Collective > Data Management > Best Practices > SAS Coding: Scattered Data Might Need CPORT Procedure Help
Best PracticesData Management

SAS Coding: Scattered Data Might Need CPORT Procedure Help

Tricia Aanderud
Last updated: 2013/12/17 at 9:00 AM
Tricia Aanderud
9 Min Read
SHARE

My computer is a hot mess!  I have datasets and code everywhere.  I’m serious … you name it … there is not a hard drive, thumb drive, and even a DVD in my office that doesn’t have data on it.  I call it Scattered Data Syndrome and I had to do something before I kicked a stray dataset across the room and broke the printer.

Contents
It’s Scattered Data SyndromeLady, What You Need is a File ServerOh, Why Can’t Windows Fit My Budget?Oh the Horror! Session Encoding Does Not MatchSolving the Issue with the CPORT ProcedureUsing the CPORT ProcedureUsing the CIMPORT ProcedureNow for My Next Task

Who knew this seemingly simple task would be related to PROC DATASET not working. Gasp? What?  Yep … cross environment data access (CEDA) issues are all I got for Christmas, kids!

My computer is a hot mess!  I have datasets and code everywhere.  I’m serious … you name it … there is not a hard drive, thumb drive, and even a DVD in my office that doesn’t have data on it.  I call it Scattered Data Syndrome and I had to do something before I kicked a stray dataset across the room and broke the printer.

Who knew this seemingly simple task would be related to PROC DATASET not working. Gasp? What?  Yep … cross environment data access (CEDA) issues are all I got for Christmas, kids!

More Read

database compliance guide

Four Strategies For Effective Database Compliance

Use this Strategic Approach to Maximize Your Data’s Value
5 Big Data Storage Solutions
AI Significantly Increases the Dangers of Social Media Hacking
Strategies to Make Better Profits for CPAs During Tax Season

It’s Scattered Data Syndrome

Forget about big data issues – I had scattered data issues.  It’s a syndrome common to those who created everything on the fly with no thought of reuse. After several years of creating examples for blogs, user conference papers, and customers – I realized that my computers were a minefield of SAS code, SAS datasets, Enterprise Guide projects, and what have you. People would ask for examples that I knew I had created before, but could not locate.  Thus I would recreate the example, which was basically a waste of time.

Lady, What You Need is a File Server

I have multiple SAS environments available for demo purposes.  This blog is a good example of demos that I create.  To keep multiple environments going, my IT department (aka husband Ken) has set up several virtual environments that run various environments for quick access.

After hearing all my scattered data drama, Ken decided I needed a central storage location and he created a file server. All of the environments can reach it.  As I create new demos, I decide if I want to add the data through a metadata library.  Not all of these environments are needed, for instance, I also have a SAS 9.2 (not shown) that I if I need to test how something worked before.

This drawing shows the final environment along with how it is backed-up to an external hard drive and Sugar Sync.  I backup code but not data – mainly due to the file size.  Plus most of it is sample data that I can recreate or access from elsewhere.  In SAS 9.3+, the metadata is backed up with automagically. [Here’s another clever way.]

sas environment setup

Oh, Why Can’t Windows Fit My Budget?

I like Windows but Ken prefers the Linux Red Hat-based CentOS 64 system.  After discussing purchasing yet another Windows license – it seemed smarter to continue with Linux.  Unknown to me … this is where the topic of this blog post actually started.

Oh the Horror! Session Encoding Does Not Match

I was really pleased to learn the SAS Global Forum 2014 accepted by paper about SAS Add-In for Microsoft Office (AMO). The paper covers 7 different examples of how to get more value out of AMO.  It is a lot work to put together that many examples, so of course I wanted to reuse older examples.  BGKPI was a dataset I had moved from my Windows-based system to the Linux-base file server.

All I really needed to do was rename the variables so it would be more clear how I was using it in the example.  But look what happened when  I tried to use the Datasets procedure to do it. Curses!  –  ”Cannot be updated because encoding does not match session encoding!”  Ugh .. what does that even mean?

sas cport procedure example

In the prior step I had used PROC CONTENTS to review the dataset and SAS issued a note that it has identified a dataset native to another operating system. SAS lets me know it used the Cross Environment Data Access (which require more resources) to handle the dataset. [More about cross environment data access and its limitations.]

This is no issue if I want to view the data or even use it in a data step. Since I was not able to use the datasets procedure on the data set – it was a disaster.  Considering the other 100 datasets were also Windows-based – seems like I needed a better solution.

Solving the Issue with the CPORT Procedure

How do you change a dataset format?  Well you just need the handy-dandy CPORT procedure.  It is similar to how zipping a file with WinZip works.  WinZip compresses files and places them in a ZIP file.  The ZIP file can then be transported to another system where the user can unzip the files into a new directory.  However, CPORT converts the data for the operating system where it is being extracted – very nice.

Using the CPORT Procedure

In the following figure, I used the CPORT procedure to combine the files in the MY_LIB library into an output file called Z_DATA2MOVE.DAT file.  You can see the resulting file was placed alongside the other datasets.

sas cport example

Here’s the basic code you need.    In the above figure, notice that I included the LIBNAME and FILENAME statements to be more clear about what I was doing. If you have a metadata library or a BASE library it works either way.

 proc cport   lib =   file =<fileref|'filename'> ; run;

There are other options available to CPORT, such as limiting the compression or only selecting a single file.  You can explore those topics on your own. [ More about the CPORT procedure.]

Using the CIMPORT Procedure

Now, I need to get the data into its new location, which only required a CIMPORT procedure.  It is basically the same code with just a slightly different procedure name: CIMPORT.

sas cimport procedure

Here’s the code for reference.  Notice that in the figure above that I used a meta data library but I had to turn on the METAOUT option.  Also notice that I placed the incoming file in a different location where I had manually moved it using FTP.

 proc cimport   lib =   file =<fileref|'filename'> ; run;

There are other options available with CIMPORT that you can learn about here.  Here’s another write-up about transporting SAS libraries from University of Massachusetts.

Now for My Next Task

I can imagine other uses for CPORT/CIMPORT, such as sharing files with others or just having a way to compress files for storage. But now I need to get busy with a SGF paper!

What ideas do you have or have you used?  Tell me in the Comments below.

Tricia Aanderud December 17, 2013
Share this Article
Facebook Twitter Pinterest LinkedIn
Share

Follow us on Facebook

Latest News

ai software development
Key Strategies to Develop AI Software Cost-Effectively
Artificial Intelligence
ai in omnichannel marketing
AI is Driving Huge Changes in Omnichannel Marketing
Artificial Intelligence
ai for small business tax planning
Maximize Tax Deductions as a Business Owner with AI
Artificial Intelligence
ai in marketing with 3D rendering
Marketers Use AI to Take Advantage of 3D Rendering
Artificial Intelligence

Stay Connected

1.2k Followers Like
33.7k Followers Follow
222 Followers Pin

You Might also Like

database compliance guide
Data Management

Four Strategies For Effective Database Compliance

8 Min Read
analyzing big data for its quality and value
Big Data

Use this Strategic Approach to Maximize Your Data’s Value

6 Min Read
Data Management

5 Big Data Storage Solutions

6 Min Read
AI leads to a new range of cybersecurity risks for social media users
Artificial Intelligence

AI Significantly Increases the Dangers of Social Media Hacking

11 Min Read

SmartData Collective is one of the largest & trusted community covering technical content about Big Data, BI, Cloud, Analytics, Artificial Intelligence, IoT & more.

ai in ecommerce
Artificial Intelligence for eCommerce: A Closer Look
Artificial Intelligence
ai is improving the safety of cars
From Bolts to Bots: How AI Is Fortifying the Automotive Industry
Artificial Intelligence

Quick Link

  • About
  • Contact
  • Privacy
Follow US

© 2008-23 SmartData Collective. All Rights Reserved.

Removed from reading list

Undo
Go to mobile version
Welcome Back!

Sign in to your account

Lost your password?