BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
yabwon
Onyx | Level 15

Hi SAS Programmers,

 

During the SAS Global Forum 2020 Virtual Event I had a chance to present my article "SAS Packages: the way to share". The presentation I had at the conference was a 20 minute general overview talk explaining the idea of SAS Packages from the User and the Developer perspective (you can find link to the recording below).

 

Today I would like to share with you the technical video in which I am explaining how SAS Packages work from the User point of view:

SASPackagesLiveDemo.PNG

 

Link to YouTube video: https://youtu.be/qX_-HJ76g8Y

 

The recording is a combination of a Live Demo and a Workshop (with emphasis on the workshop part, ~65%). The goal is that after watching the video you will know how to use SAS Packages.

 

During these 87 minutes I am providing detailed tutorial which explains how to use packages and work with them in different platforms such as: Base SAS windowing environment, Enterprise Guide on a server, and SAS Studio on CAS. I am also answering some questions which the User may ask, such as:

  • "Why do I need packages?"
  • "How to get a package?"
  • "How to use a package?"
  • "Where to use a package?"
  • "Is there a repository of SAS packages?"
  • "What packages are available?"
  • "Is any additional SAS software required to use a package?"
  • "Is any ZIP software required to use a package?"
  • "How to handle when the loadPackage.sas framework missing?"

All materials presented in the video could be found in this GitHub repository.

 

I am constantly improving the SAS Package framework and your feedback is very important to me. In case, after watching the video, you have any questions or comments please do reach me out.

 

Within the upcoming two weeks I will be preparing the second part of the material, i.e. the Developer point of view (a.k.a. "How to build my own package"). If you are interested in taking part in the recording contact me off-line.

 

All the best

Bart

 

P.S. Disclaimer: I am not a native speaker so be gentle to all my language mistakes in the video 😉

 

---

Link to the recording from SGF 2020: https://www.youtube.com/watch?v=qCkb-bx0Dv8

 

_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



1 ACCEPTED SOLUTION

Accepted Solutions
yabwon
Onyx | Level 15

You don't have 87 minutes to watch the YouTube tutorial but you really want to start using *SAS Packages*  and you don't know how...

Try the "Getting Started with SAS Packages" presentation.

GSwSPF.PNG

 If you like it - let me know. Every feedback is welcome!

 

Bart

 

_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



View solution in original post

16 REPLIES 16
yabwon
Onyx | Level 15

Just for your information.

The new version of the SQLinDS Package (2.0) was released today.

It's available here: https://github.com/yabwon/SAS_PACKAGES

Bart

_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



yabwon
Onyx | Level 15

Just for your information.

The %installPackage() macro was added to the loadpackage.sas framework today.

It's available here: https://github.com/yabwon/SAS_PACKAGES

Bart

_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



ChrisNZ
Tourmaline | Level 20

@ChrisHemedinger Have you looked at @yabwon's initiative?

Can you share the idea with the powers-that-be and see if packaging can be made a standard feature of SAS's?

 

 

yabwon
Onyx | Level 15

Just for your information.

The %generatePackage() macro was updated today to version 20200609.

Element of type "functions" has been added (mind the s at the end, it is not the same as "function").

It allows to compile multiple functions with one FCMP call.
The code of each new function in a 'xxx_functions' subfolder can be stored in a single `*.sas` file but without the "proc fcmp;" header and the "run;" footer - just plain code of function/subroutine definition.

It's available here: https://github.com/yabwon/SAS_PACKAGES

Bart

_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



yabwon
Onyx | Level 15

Just for your information.

The %generatePackage() macro was updated today to version 20200619.

Element of type "imlmodule" has been added - it allows to generate IML modules. Modules are stored in work.packageNameIML catalog.

The code of each new module in a 'xxx_imlmodule' subfolder should be stored in a single `*.sas` file - just a plain code of the module definition without `proc iml;`

 

Available here: https://github.com/yabwon/SAS_PACKAGES

 

Bart

_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



yabwon
Onyx | Level 15

Just for your information.

 

I've just added new package FunctionsImissinBASE(0.1), which contains few functions I miss in BASE SAS. The package was inspired by: @mkeintz , @hashman ,and @RichardDeVen posts on various forums.

 

It's available here: https://github.com/yabwon/SAS_PACKAGES

Bart

 

 

_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



yabwon
Onyx | Level 15

Just for your information.

The SAS Package Framework macros were updated today to version 20200725.

 

Available here: https://github.com/yabwon/SAS_PACKAGES

 

Bart

_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



ChrisNZ
Tourmaline | Level 20

A few typos in the catx functions

/*** HELP START ***/
/*
The >>catXFj()<< function is a wrapper
of the catX() function but with ability
to format character values.

catXFc("upcase.", "*", ["a", " ", "c"]) -> "A**C"

If format does not handles nulls they are
printed as an empty string.

*/

function catXFj(
    format    $ /* name of the character format applied */
  , delimiter $ /* deliniter string                     */
  , A[*]      $ /* character array to concatenate       */
)

 

 

yabwon
Onyx | Level 15

@ChrisNZ , Thanks a million! 

 

My bad, will fix them and prepare new version.

 

Bart

_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



yabwon
Onyx | Level 15

Just for your information: the FunctionsImissinBASE package, version 0.5, is now available here: https://github.com/yabwon/SAS_PACKAGES.

 

Changes:

  • some functions were renamed: arrVal() is arrFill(), replaceNull() is now arrFillMiss(), kill() is now delDataset() ,and the "shifting" functions have "arr" prefix and are now arrMissToLeft/Right(),
  • macros have new parameters: quote=,
  • new format added: boolz,
  • corrected help info.

 

Thanks to @ChrisNZ for great feedback and valuable suggestions!

_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



yabwon
Onyx | Level 15

Just for your information.

The SAS Package Framework macros were updated today to version 20200730.

 

Available here: https://github.com/yabwon/SAS_PACKAGES

 

Version 20200730, change list:

  • All elements of the SAS Packages Framework were moved to the SPFinit.sas file in the directory ./SPF [SAS Packages Framework].
  • The public repository was reordered [two new folders].
  • Location link in the %installPackages() macro changed.
  • New directories:
    • ./SPF [for SAS Packages Framework content and documentation]
    • ./packages [for packages repository]
  • Package FunctionsImissinBASE renamed to BasePlus.
  • All packages recompiled with new setup.
_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



yabwon
Onyx | Level 15

You don't have 87 minutes to watch the YouTube tutorial but you really want to start using *SAS Packages*  and you don't know how...

Try the "Getting Started with SAS Packages" presentation.

GSwSPF.PNG

 If you like it - let me know. Every feedback is welcome!

 

Bart

 

_______________
Polish SAS Users Group: www.polsug.com and communities.sas.com/polsug

"SAS Packages: the way to share" at SGF2020 Proceedings (the latest version), GitHub Repository, and YouTube Video.
Hands-on-Workshop: "Share your code with SAS Packages"
"My First SAS Package: A How-To" at SGF2021 Proceedings

SAS Ballot Ideas: one: SPF in SAS, two, and three
SAS Documentation



SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 16 replies
  • 2928 views
  • 18 likes
  • 2 in conversation