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:
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:
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
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.
If you like it - let me know. Every feedback is welcome!
Bart
Thank you for this useful initiative!
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
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
@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?
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
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
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
Just for your information.
The SAS Package Framework macros were updated today to version 20200725.
Available here: https://github.com/yabwon/SAS_PACKAGES
Bart
Thank you @yabwon !
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 */
)
@ChrisNZ , Thanks a million!
My bad, will fix them and prepare new version.
Bart
Just for your information: the FunctionsImissinBASE package, version 0.5, is now available here: https://github.com/yabwon/SAS_PACKAGES.
Changes:
Thanks to @ChrisNZ for great feedback and valuable suggestions!
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:
SPFinit.sas
file in the directory ./SPF
[SAS Packages Framework].%installPackages()
macro changed../SPF
[for SAS Packages Framework content and documentation]./packages
[for packages repository]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.
If you like it - let me know. Every feedback is welcome!
Bart
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.