<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: SAS Packages Framework, version 20230520 in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20230520/m-p/878704#M347181</link>
    <description>&lt;DIV class="logged-in env-production page-responsive" data-turbo-body=""&gt;
&lt;DIV class="application-main " data-commit-hovercards-enabled="" data-discussion-hovercards-enabled="" data-issue-and-pr-hovercards-enabled=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class="clearfix container-xl px-3 px-md-4 px-lg-5 mt-4"&gt;
&lt;DIV class="" data-hpc=""&gt;
&lt;DIV class="Box" data-view-component="true"&gt;
&lt;DIV class="Box-body" data-view-component="true"&gt;
&lt;DIV class="markdown-body my-3" data-pjax="true" data-test-selector="body-content" data-view-component="true"&gt;
&lt;H2&gt;The BasePlus package [ver.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;1.26.0&lt;/CODE&gt;]&lt;/H2&gt;
&lt;P&gt;Located at:&amp;nbsp;&lt;STRONG&gt;&lt;A title="BasePlus" href="https://github.com/SASPAC/baseplus" target="_self"&gt;https://github.com/SASPAC/baseplus&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;HR /&gt;
&lt;H3&gt;Updates:&lt;/H3&gt;
&lt;P&gt;Two new macros were introduces in the release:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://github.com/SASPAC/baseplus/blob/main/baseplus.md#finddswithvarval-macro" target="_blank"&gt;&lt;CODE&gt;%findDSwithVarVal()&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;macro searches for all datasets (available for a given session) containing a variable of a given value.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://github.com/SASPAC/baseplus/blob/main/baseplus.md#gettitle-macro" target="_blank"&gt;&lt;CODE&gt;%getTitle()&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;macro extract text of titles or footnotes into a delimited list.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Documentation updated.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;With this release the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;BasePlus&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;gained its first official co-author:&lt;STRONG&gt;&amp;nbsp;&lt;A href="https://www.linkedin.com/in/quentinmcmullen/" rel="nofollow" target="_blank"&gt;Quentin McMullen&lt;/A&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;(&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/19879"&gt;@Quentin&lt;/a&gt;&amp;nbsp; )&amp;nbsp;&lt;/SPAN&gt;who provided the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;%getTitle()&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;macro.&lt;/P&gt;
&lt;HR /&gt;
&lt;H3&gt;Examples:&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;EXAMPLE 1.&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Search numeric variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;AGE&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;containing value&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;14&lt;/CODE&gt;:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;  %findDSwithVarVal(age, &lt;SPAN class="pl-c1"&gt;14&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;type&lt;/SPAN&gt;=num)&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;EXAMPLE 2.&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Search library&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;WORK&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;for variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;NAME&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;starting with value&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;Jo&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;ignoring cases and trimming blanks from value:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;  &lt;SPAN class="pl-k"&gt;data&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;A&lt;/SPAN&gt;;
    name=&lt;SPAN class="pl-s"&gt;"Joanna"&lt;/SPAN&gt;;
  &lt;SPAN class="pl-k"&gt;data&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;B&lt;/SPAN&gt;;
    name=&lt;SPAN class="pl-s"&gt;"john"&lt;/SPAN&gt;;
  &lt;SPAN class="pl-k"&gt;data&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;C&lt;/SPAN&gt;;
    name=&lt;SPAN class="pl-s"&gt;"  Joseph"&lt;/SPAN&gt;;
  &lt;SPAN class="pl-k"&gt;data&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;D&lt;/SPAN&gt;;
    name=&lt;SPAN class="pl-s"&gt;"  joe"&lt;/SPAN&gt;;
  &lt;SPAN class="pl-k"&gt;run&lt;/SPAN&gt;;

  %findDSwithVarVal(name, Jo, ic=&lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt;, tb=&lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt;, cts=&lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;lib&lt;/SPAN&gt;=&lt;SPAN class="pl-c1"&gt;WORK&lt;/SPAN&gt;)&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;EXAMPLE 3.&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Get titles in different forms:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;  &lt;SPAN class="pl-c1"&gt;title1&lt;/SPAN&gt; j=c &lt;SPAN class="pl-s"&gt;"Hi Roger"&lt;/SPAN&gt; ;
  &lt;SPAN class="pl-c1"&gt;title2&lt;/SPAN&gt; j=l &lt;SPAN class="pl-s"&gt;"Good Morning"&lt;/SPAN&gt; ;
  &lt;SPAN class="pl-c1"&gt;title3&lt;/SPAN&gt; &lt;SPAN class="pl-s"&gt;"How are you?"&lt;/SPAN&gt; ;
  &lt;SPAN class="pl-c1"&gt;title4&lt;/SPAN&gt; ;
  &lt;SPAN class="pl-c1"&gt;title5&lt;/SPAN&gt; &lt;SPAN class="pl-s"&gt;"Bye bye!"&lt;/SPAN&gt; ;

  &lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%put&lt;/SPAN&gt; &lt;/SPAN&gt;%GetTitle() ;

  &lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%put&lt;/SPAN&gt; &lt;/SPAN&gt;%GetTitle(&lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;3&lt;/SPAN&gt;,&lt;SPAN class="pl-c1"&gt;dlm&lt;/SPAN&gt;=c, qt=[]) ;

  &lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%put&lt;/SPAN&gt; &lt;/SPAN&gt;%GetTitle(&lt;SPAN class="pl-c1"&gt;2&lt;/SPAN&gt;:&lt;SPAN class="pl-c1"&gt;4&lt;/SPAN&gt;,&lt;SPAN class="pl-c1"&gt;dlm&lt;/SPAN&gt;=&lt;SPAN class="pl-c1"&gt;s&lt;/SPAN&gt;, qt=&lt;SPAN class="pl-s"&gt;''&lt;/SPAN&gt;) ;&lt;/PRE&gt;
&lt;DIV class="zeroclipboard-container position-absolute right-0 top-0"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="Box-footer" data-view-component="true"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV id="js-global-screen-reader-notice" class="sr-only" aria-live="polite"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
    <pubDate>Thu, 01 Jun 2023 15:56:43 GMT</pubDate>
    <dc:creator>yabwon</dc:creator>
    <dc:date>2023-06-01T15:56:43Z</dc:date>
    <item>
      <title>SAS Packages Framework, version 20230520</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20230520/m-p/876796#M346373</link>
      <description>&lt;P&gt;Hey SAS-C!&lt;/P&gt;
&lt;P&gt;Just FYI.&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;SAS Packages Framework&lt;/STRONG&gt;, version 20230520,&lt;/P&gt;
&lt;P&gt;Available at GitHub:&amp;nbsp;&lt;STRONG&gt;&lt;A title="SAS Packages Framework" href="https://github.com/yabwon/SAS_PACKAGES" target="_self"&gt;https://github.com/yabwon/SAS_PACKAGES&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Fixes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Bug fixes for the "Additional Content" feature. In the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md#loadpackageaddcnt" target="_blank"&gt;&lt;CODE&gt;%loadPackageAddCnt()&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/SPFinit.md#generatepackage" target="_blank"&gt;&lt;CODE&gt;%generatePackage()&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;macros lengths of the "file path" variables were extended.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Packages:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/SASPAC/baseplus/releases/tag/1.24.1" target="_blank"&gt;&lt;CODE&gt;BasePlus&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;package, version&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;1.24.1&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;was regenerated with latest version of the framework.&lt;/LI&gt;
&lt;LI&gt;The&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/SASPAC/baseplus/blob/main/baseplus.md#raincloudplot-macro" target="_blank"&gt;&lt;CODE&gt;%RainCloudPlot()&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;macro from the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;BasePlus&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;packages was updated with new parameters (see the documentation).&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Base Plus&lt;/STRONG&gt; [1.24.1]:&amp;nbsp;&lt;STRONG&gt;&lt;A title="BasePlus" href="https://github.com/SASPAC/baseplus" target="_self"&gt;https://github.com/SASPAC/baseplus&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;%RainCloudPlot()&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;macro from the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;BasePlus&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;packages was updated with new parameters:
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;CODE&gt;sganno&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;-&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Optional&lt;/EM&gt;, default value is empty.&lt;BR /&gt;keeps name of a data set for the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;sganno=&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;option&lt;BR /&gt;of the SGPLOT procedure.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;CODE&gt;sgPlotOptions&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;-&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Optional&lt;/EM&gt;, default value is&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;noautolegend noborder&lt;/CODE&gt;.&lt;BR /&gt;List of additional options values for SGPLOT procedure.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;CODE&gt;odsGraphicsOptions&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;-&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Optional&lt;/EM&gt;, default value is empty.&lt;BR /&gt;List of additional options values for&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;ODS Graphics&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;statement.&lt;BR /&gt;By default only the:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;width=&lt;/CODE&gt;,&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;height=&lt;/CODE&gt;, and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;antialiasmax=&lt;/CODE&gt;&lt;BR /&gt;are modified.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Example: Rain Cloud plot with formatted groups and annotations.&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;  &lt;SPAN class="pl-k"&gt;data&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;annotation&lt;/SPAN&gt;; 
    function=&lt;SPAN class="pl-s"&gt;"text"&lt;/SPAN&gt;;
    &lt;SPAN class="pl-k"&gt;label&lt;/SPAN&gt;=&lt;SPAN class="pl-s"&gt;"This graph is full(*ESC*){sup '2'} of annotations!"&lt;/SPAN&gt;;
    drawspace=&lt;SPAN class="pl-s"&gt;"graphpercent"&lt;/SPAN&gt;;
    rotate=&lt;SPAN class="pl-c1"&gt;30&lt;/SPAN&gt;;
    anchor=&lt;SPAN class="pl-s"&gt;"center"&lt;/SPAN&gt;;
    textsize=&lt;SPAN class="pl-c1"&gt;32&lt;/SPAN&gt;;
    x1=&lt;SPAN class="pl-c1"&gt;50&lt;/SPAN&gt;;
    y1=&lt;SPAN class="pl-c1"&gt;50&lt;/SPAN&gt;;
    textcolor=&lt;SPAN class="pl-s"&gt;"red"&lt;/SPAN&gt;; 
    justify=&lt;SPAN class="pl-s"&gt;"center"&lt;/SPAN&gt;;
    textweight=&lt;SPAN class="pl-s"&gt;"bold"&lt;/SPAN&gt;;
    width=&lt;SPAN class="pl-c1"&gt;100&lt;/SPAN&gt;;
    widthunit=&lt;SPAN class="pl-s"&gt;"percent"&lt;/SPAN&gt;;
  &lt;SPAN class="pl-k"&gt;run&lt;/SPAN&gt;; 

  &lt;SPAN class="pl-c1"&gt;proc format&lt;/SPAN&gt;;
    &lt;SPAN class="pl-c1"&gt;value&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;system&lt;/SPAN&gt;
    &lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt;=&lt;SPAN class="pl-s"&gt;"Windows"&lt;/SPAN&gt;
    &lt;SPAN class="pl-c1"&gt;2&lt;/SPAN&gt;=&lt;SPAN class="pl-s"&gt;"MacOS"&lt;/SPAN&gt;
    &lt;SPAN class="pl-c1"&gt;3&lt;/SPAN&gt;=&lt;SPAN class="pl-s"&gt;"Linux"&lt;/SPAN&gt;
    ;
  &lt;SPAN class="pl-k"&gt;run&lt;/SPAN&gt;;

  &lt;SPAN class="pl-k"&gt;data&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;test&lt;/SPAN&gt;;
    &lt;SPAN class="pl-k"&gt;do&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;system&lt;/SPAN&gt; = &lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;to&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;3&lt;/SPAN&gt;;
      &lt;SPAN class="pl-k"&gt;do&lt;/SPAN&gt; i = &lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;to&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;30&lt;/SPAN&gt;;
        &lt;SPAN class="pl-c1"&gt;x&lt;/SPAN&gt; = &lt;SPAN class="pl-c1"&gt;rannor&lt;/SPAN&gt;(&lt;SPAN class="pl-c1"&gt;123&lt;/SPAN&gt;)&lt;SPAN class="pl-k"&gt;/&lt;/SPAN&gt;&lt;SPAN class="pl-c1"&gt;system&lt;/SPAN&gt;;
        &lt;SPAN class="pl-c1"&gt;output&lt;/SPAN&gt;;
      &lt;SPAN class="pl-k"&gt;end&lt;/SPAN&gt;;
    &lt;SPAN class="pl-k"&gt;end&lt;/SPAN&gt;;
    &lt;SPAN class="pl-k"&gt;format&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;system&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;system&lt;/SPAN&gt;.;
  &lt;SPAN class="pl-k"&gt;run&lt;/SPAN&gt;;


  %RainCloudPlot(&lt;SPAN class="pl-c1"&gt;test&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;system&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;x&lt;/SPAN&gt;
  , formated=&lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt;
  , sganno=annotation
  , sgPlotOptions=noborder
  , WidthPX=&lt;SPAN class="pl-c1"&gt;2000&lt;/SPAN&gt;
  , HeightPX=&lt;SPAN class="pl-c1"&gt;420&lt;/SPAN&gt;
  )&lt;/PRE&gt;
&lt;/DIV&gt;</description>
      <pubDate>Sun, 21 May 2023 10:07:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20230520/m-p/876796#M346373</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2023-05-21T10:07:37Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Packages Framework, version 20230520</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20230520/m-p/877657#M346708</link>
      <description>&lt;H2&gt;The BasePlus package [ver.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;1.24.2&lt;/CODE&gt;]&lt;/H2&gt;
&lt;P&gt;Current release is natural continuation of&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/SASPAC/baseplus/releases/tag/1.24.1" target="_blank"&gt;1.24.1&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Updates:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;The&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;%RainCloudPlot()&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;has 2 new parameters:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;catLabelAttrs&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;xLabelAttrs&lt;/CODE&gt;:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;&lt;CODE&gt;catLabelAttrs&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;-&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Optional&lt;/EM&gt;, default value is empty.&lt;BR /&gt;List of attributes for group axix labels (vertical).&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;CODE&gt;xLabelAttrs&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;-&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;Optional&lt;/EM&gt;, default value is empty.&lt;BR /&gt;List of attributes for data variable axix labels (horizontal).&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;catLabelAttrs&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;and&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;xLabelAttrs&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;should be space separated lists of&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;key=value&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;pairs,&lt;BR /&gt;e.g.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;xLabelAttrs=size=12 color=Pink weight=bold&lt;/CODE&gt;, see Example below.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Documentation was updated (new examples with plots), and some spellings were fixed.&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The SHA256 hash digest for package BasePlus:&lt;BR /&gt;&lt;CODE&gt;F*2A4F3953EC56DB914024457F74286D565C23DCF220FF151040BDB704FD8DDB06&lt;/CODE&gt;&lt;/P&gt;
&lt;HR /&gt;
&lt;P&gt;&lt;STRONG&gt;Example:&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Rain Cloud plot for&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;sashelp.cars&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;dataset with groups by Origin or Type for Invoice variables:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;  %RainCloudPlot(
    &lt;SPAN class="pl-c1"&gt;sashelp&lt;/SPAN&gt;.cars(&lt;SPAN class="pl-c1"&gt;where&lt;/SPAN&gt;=(&lt;SPAN class="pl-c1"&gt;Type&lt;/SPAN&gt; &lt;SPAN class="pl-k"&gt;ne&lt;/SPAN&gt; &lt;SPAN class="pl-s"&gt;"Hybrid"&lt;/SPAN&gt;))
  , Origin &lt;SPAN class="pl-c1"&gt;Type&lt;/SPAN&gt;
  , Invoice 
  , HeightPX=&lt;SPAN class="pl-c1"&gt;300&lt;/SPAN&gt; 
  , y2axisLevels=&lt;SPAN class="pl-c1"&gt;3&lt;/SPAN&gt;
  , catLabels=(&lt;SPAN class="pl-s"&gt;"Continent of Origin"&lt;/SPAN&gt;, &lt;SPAN class="pl-s"&gt;"Car Type"&lt;/SPAN&gt;)
  , xLabels=&lt;SPAN class="pl-s"&gt;"Invoice, [$]"&lt;/SPAN&gt;
  , xLabelAttrs=size=&lt;SPAN class="pl-c1"&gt;12&lt;/SPAN&gt; color=Pink &lt;SPAN class="pl-c1"&gt;weight&lt;/SPAN&gt;=bold
  )&lt;/PRE&gt;
&lt;/DIV&gt;</description>
      <pubDate>Fri, 26 May 2023 09:34:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20230520/m-p/877657#M346708</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2023-05-26T09:34:07Z</dc:date>
    </item>
    <item>
      <title>Re: SAS Packages Framework, version 20230520</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20230520/m-p/878704#M347181</link>
      <description>&lt;DIV class="logged-in env-production page-responsive" data-turbo-body=""&gt;
&lt;DIV class="application-main " data-commit-hovercards-enabled="" data-discussion-hovercards-enabled="" data-issue-and-pr-hovercards-enabled=""&gt;
&lt;DIV class=""&gt;
&lt;DIV class="clearfix container-xl px-3 px-md-4 px-lg-5 mt-4"&gt;
&lt;DIV class="" data-hpc=""&gt;
&lt;DIV class="Box" data-view-component="true"&gt;
&lt;DIV class="Box-body" data-view-component="true"&gt;
&lt;DIV class="markdown-body my-3" data-pjax="true" data-test-selector="body-content" data-view-component="true"&gt;
&lt;H2&gt;The BasePlus package [ver.&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;1.26.0&lt;/CODE&gt;]&lt;/H2&gt;
&lt;P&gt;Located at:&amp;nbsp;&lt;STRONG&gt;&lt;A title="BasePlus" href="https://github.com/SASPAC/baseplus" target="_self"&gt;https://github.com/SASPAC/baseplus&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;HR /&gt;
&lt;H3&gt;Updates:&lt;/H3&gt;
&lt;P&gt;Two new macros were introduces in the release:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://github.com/SASPAC/baseplus/blob/main/baseplus.md#finddswithvarval-macro" target="_blank"&gt;&lt;CODE&gt;%findDSwithVarVal()&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;macro searches for all datasets (available for a given session) containing a variable of a given value.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://github.com/SASPAC/baseplus/blob/main/baseplus.md#gettitle-macro" target="_blank"&gt;&lt;CODE&gt;%getTitle()&lt;/CODE&gt;&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;macro extract text of titles or footnotes into a delimited list.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Documentation updated.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;With this release the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;BasePlus&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;gained its first official co-author:&lt;STRONG&gt;&amp;nbsp;&lt;A href="https://www.linkedin.com/in/quentinmcmullen/" rel="nofollow" target="_blank"&gt;Quentin McMullen&lt;/A&gt;&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;(&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/19879"&gt;@Quentin&lt;/a&gt;&amp;nbsp; )&amp;nbsp;&lt;/SPAN&gt;who provided the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;%getTitle()&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;macro.&lt;/P&gt;
&lt;HR /&gt;
&lt;H3&gt;Examples:&lt;/H3&gt;
&lt;P&gt;&lt;STRONG&gt;EXAMPLE 1.&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Search numeric variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;AGE&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;containing value&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;14&lt;/CODE&gt;:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;  %findDSwithVarVal(age, &lt;SPAN class="pl-c1"&gt;14&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;type&lt;/SPAN&gt;=num)&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;EXAMPLE 2.&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Search library&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;WORK&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;for variable&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;NAME&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;starting with value&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE&gt;Jo&lt;/CODE&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;ignoring cases and trimming blanks from value:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;  &lt;SPAN class="pl-k"&gt;data&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;A&lt;/SPAN&gt;;
    name=&lt;SPAN class="pl-s"&gt;"Joanna"&lt;/SPAN&gt;;
  &lt;SPAN class="pl-k"&gt;data&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;B&lt;/SPAN&gt;;
    name=&lt;SPAN class="pl-s"&gt;"john"&lt;/SPAN&gt;;
  &lt;SPAN class="pl-k"&gt;data&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;C&lt;/SPAN&gt;;
    name=&lt;SPAN class="pl-s"&gt;"  Joseph"&lt;/SPAN&gt;;
  &lt;SPAN class="pl-k"&gt;data&lt;/SPAN&gt; &lt;SPAN class="pl-en"&gt;D&lt;/SPAN&gt;;
    name=&lt;SPAN class="pl-s"&gt;"  joe"&lt;/SPAN&gt;;
  &lt;SPAN class="pl-k"&gt;run&lt;/SPAN&gt;;

  %findDSwithVarVal(name, Jo, ic=&lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt;, tb=&lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt;, cts=&lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;lib&lt;/SPAN&gt;=&lt;SPAN class="pl-c1"&gt;WORK&lt;/SPAN&gt;)&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;STRONG&gt;EXAMPLE 3.&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Get titles in different forms:&lt;/P&gt;
&lt;DIV class="highlight highlight-source-sas notranslate position-relative overflow-auto"&gt;
&lt;PRE&gt;  &lt;SPAN class="pl-c1"&gt;title1&lt;/SPAN&gt; j=c &lt;SPAN class="pl-s"&gt;"Hi Roger"&lt;/SPAN&gt; ;
  &lt;SPAN class="pl-c1"&gt;title2&lt;/SPAN&gt; j=l &lt;SPAN class="pl-s"&gt;"Good Morning"&lt;/SPAN&gt; ;
  &lt;SPAN class="pl-c1"&gt;title3&lt;/SPAN&gt; &lt;SPAN class="pl-s"&gt;"How are you?"&lt;/SPAN&gt; ;
  &lt;SPAN class="pl-c1"&gt;title4&lt;/SPAN&gt; ;
  &lt;SPAN class="pl-c1"&gt;title5&lt;/SPAN&gt; &lt;SPAN class="pl-s"&gt;"Bye bye!"&lt;/SPAN&gt; ;

  &lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%put&lt;/SPAN&gt; &lt;/SPAN&gt;%GetTitle() ;

  &lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%put&lt;/SPAN&gt; &lt;/SPAN&gt;%GetTitle(&lt;SPAN class="pl-c1"&gt;1&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;3&lt;/SPAN&gt;,&lt;SPAN class="pl-c1"&gt;dlm&lt;/SPAN&gt;=c, qt=[]) ;

  &lt;SPAN class="pl-k"&gt;&lt;SPAN class="pl-c1"&gt;%put&lt;/SPAN&gt; &lt;/SPAN&gt;%GetTitle(&lt;SPAN class="pl-c1"&gt;2&lt;/SPAN&gt;:&lt;SPAN class="pl-c1"&gt;4&lt;/SPAN&gt;,&lt;SPAN class="pl-c1"&gt;dlm&lt;/SPAN&gt;=&lt;SPAN class="pl-c1"&gt;s&lt;/SPAN&gt;, qt=&lt;SPAN class="pl-s"&gt;''&lt;/SPAN&gt;) ;&lt;/PRE&gt;
&lt;DIV class="zeroclipboard-container position-absolute right-0 top-0"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="Box-footer" data-view-component="true"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV id="js-global-screen-reader-notice" class="sr-only" aria-live="polite"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Thu, 01 Jun 2023 15:56:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-Packages-Framework-version-20230520/m-p/878704#M347181</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2023-06-01T15:56:43Z</dc:date>
    </item>
  </channel>
</rss>

