Cookies help us display personalized product recommendations and ensure you have great shopping experience.

By using this site, you agree to the Privacy Policy and Terms of Use.
Accept
SmartData CollectiveSmartData Collective
  • Analytics
    AnalyticsShow More
    data driven insights
    How Data-Driven Insights Are Addressing Gaps in Patient Communication and Equity
    8 Min Read
    pexels pavel danilyuk 8112119
    Data Analytics Is Revolutionizing Medical Credentialing
    8 Min Read
    data and seo
    Maximize SEO Success with Powerful Data Analytics Insights
    8 Min Read
    data analytics for trademark registration
    Optimizing Trademark Registration with Data Analytics
    6 Min Read
    data analytics for finding zip codes
    Unlocking Zip Code Insights with Data Analytics
    6 Min Read
  • Big Data
  • BI
  • Exclusive
  • IT
  • Marketing
  • Software
Search
© 2008-25 SmartData Collective. All Rights Reserved.
Reading: SAS Coding: Scattered Data Might Need CPORT Procedure Help
Share
Notification
Font ResizerAa
SmartData CollectiveSmartData Collective
Font ResizerAa
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
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

big data warren buffett
Warren Buffett, the Human Big Data Engine
The Big Data Analyst’s Skillset
Why is IT Planning Stupid to Do?
Beyond BigData, the Shift To Decision Management w/ James Taylor
Master Data Governance in a Multi-Cloud Environment

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.

Share This Article
Facebook Pinterest LinkedIn
Share

Follow us on Facebook

Latest News

crypto marketing
How a Crypto Marketing Agency Can Use AI to Create Powerful Native Advertising Strategies
Blockchain Exclusive Marketing
data driven insights
How Data-Driven Insights Are Addressing Gaps in Patient Communication and Equity
Analytics Big Data Exclusive
image fx (37)
Boosting SMS Marketing Efficiency with AI Automation
Exclusive
pexels pavel danilyuk 8112119
Data Analytics Is Revolutionizing Medical Credentialing
Analytics Big Data Exclusive

Stay Connected

1.2kFollowersLike
33.7kFollowersFollow
222FollowersPin

You Might also Like

Forecast Product Demand with Confidence

8 Min Read

Big Data Analytics: Don’t Forget the Endgame

3 Min Read
data and password security measures
Best PracticesBig DataData ManagementExclusivePrivacyRisk Management

Data Savvy Hackers Enhance Password Vulnerability In 2019

11 Min Read
Image
Big DataCloud ComputingCommentaryExclusiveMobilityPolicy and Governance

It’s Time to Ditch Scarcity Thinking

5 Min Read

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

data-driven web design
5 Great Tips for Using Data Analytics for Website UX
Big Data
ai chatbot
The Art of Conversation: Enhancing Chatbots with Advanced AI Prompts
Chatbots

Quick Link

  • About
  • Contact
  • Privacy
Follow US
© 2008-25 SmartData Collective. All Rights Reserved.
Go to mobile version
Welcome Back!

Sign in to your account

Username or Email Address
Password

Lost your password?