<?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 Informat with Perl in SAS Users Group in Israel</title>
    <link>https://communities.sas.com/t5/SAS-Users-Group-in-Israel/Informat-with-Perl/m-p/792143#M279</link>
    <description>&lt;P class="lia-align-right" style="direction: rtl;"&gt;שלום לכולם,&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;בעקבות שאלה שנשאלתי היום גיליתי יכולת שלא הייתי מודע לה והיא שאפשר לייצר Informat שמוגדר על ידי ביטוי Perl. הרעיון הוא להגדיר בשפת הביטויים הנפוצה Perl את מבנה הקלט כולל אפשרות לבצע החלפות של תווים בקלט בתווים אחרים ו/או להוסיף תווים לקלט על מנת שיתאימו למבנה סטנדרטי לדוגמה אם בקלט מופיע החודש כ "1" ולא כ "01" כנדרש.&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;להלן דוגמה נחמדה שהכנתי שמשלימה את התאריך החלקי לתאריך מלא. שימו לב שהקלט הוא מספר רגיל בעוד הפלט לאחר הפעלת ה informat עם ה Perl הוא תאריך SAS תקני וכמו כן שימו לב שבשני המספרים אין את היום בחודש וכן שמספר החודש הוא לפעמים ספרה אחת (7) ובמקרה השני שתי ספרות (12). ה Informat מתמודד עם זה על ידי זיהוי שני המקרים והשלמת ה "חלקים החסרים".&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc format;
  invalue mmyy (default=8)
             's/(^\d{6}$)/01\1/o'  (regexpe)=[ddmmyy8.]
             's/(^\d{5}$)/010\1/o' (regexpe)=[ddmmyy8.]		  
;
run;

data test;
	infile cards;
	input d:mmyy6.;
	format d ddmmyy10.;
cards;
72021
122021
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;הפלט המתקבל הוא שתי רשומות עם תאריכי SAS תקניים הראשון 01/07/2021 והשני 01/12/2021&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;אייל&lt;/P&gt;</description>
    <pubDate>Tue, 25 Jan 2022 13:09:12 GMT</pubDate>
    <dc:creator>EyalGonen</dc:creator>
    <dc:date>2022-01-25T13:09:12Z</dc:date>
    <item>
      <title>Informat with Perl</title>
      <link>https://communities.sas.com/t5/SAS-Users-Group-in-Israel/Informat-with-Perl/m-p/792143#M279</link>
      <description>&lt;P class="lia-align-right" style="direction: rtl;"&gt;שלום לכולם,&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;בעקבות שאלה שנשאלתי היום גיליתי יכולת שלא הייתי מודע לה והיא שאפשר לייצר Informat שמוגדר על ידי ביטוי Perl. הרעיון הוא להגדיר בשפת הביטויים הנפוצה Perl את מבנה הקלט כולל אפשרות לבצע החלפות של תווים בקלט בתווים אחרים ו/או להוסיף תווים לקלט על מנת שיתאימו למבנה סטנדרטי לדוגמה אם בקלט מופיע החודש כ "1" ולא כ "01" כנדרש.&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;להלן דוגמה נחמדה שהכנתי שמשלימה את התאריך החלקי לתאריך מלא. שימו לב שהקלט הוא מספר רגיל בעוד הפלט לאחר הפעלת ה informat עם ה Perl הוא תאריך SAS תקני וכמו כן שימו לב שבשני המספרים אין את היום בחודש וכן שמספר החודש הוא לפעמים ספרה אחת (7) ובמקרה השני שתי ספרות (12). ה Informat מתמודד עם זה על ידי זיהוי שני המקרים והשלמת ה "חלקים החסרים".&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc format;
  invalue mmyy (default=8)
             's/(^\d{6}$)/01\1/o'  (regexpe)=[ddmmyy8.]
             's/(^\d{5}$)/010\1/o' (regexpe)=[ddmmyy8.]		  
;
run;

data test;
	infile cards;
	input d:mmyy6.;
	format d ddmmyy10.;
cards;
72021
122021
;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;הפלט המתקבל הוא שתי רשומות עם תאריכי SAS תקניים הראשון 01/07/2021 והשני 01/12/2021&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-right" style="direction: rtl;"&gt;אייל&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jan 2022 13:09:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Users-Group-in-Israel/Informat-with-Perl/m-p/792143#M279</guid>
      <dc:creator>EyalGonen</dc:creator>
      <dc:date>2022-01-25T13:09:12Z</dc:date>
    </item>
    <item>
      <title>Re: Informat with Perl</title>
      <link>https://communities.sas.com/t5/SAS-Users-Group-in-Israel/Informat-with-Perl/m-p/792152#M280</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13766"&gt;@EyalGonen&lt;/a&gt;&amp;nbsp;Can you post your question in English, you are more likely to get a response then.&lt;BR /&gt;I ran google translate on it, and it looks like you are asking about&lt;A href="https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/proc/p1pmw90bl3jzgdn1w4202kclxtho.htm#p0lkbqldpdpaeun1ljxhy63v8voe" target="_self"&gt; Using Regular Expressions in PROC FORMAT&lt;/A&gt;&amp;nbsp;there's a link on that page to an example:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/proc/n1jriq5xib5j45n1pwpwzk311v0p.htm#n1jriq5xib5j45n1pwpwzk311v0p" target="_self"&gt;Example 10: Creating a Format Using Perl Regular Expressions&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jan 2022 11:58:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Users-Group-in-Israel/Informat-with-Perl/m-p/792152#M280</guid>
      <dc:creator>AMSAS</dc:creator>
      <dc:date>2022-01-25T11:58:30Z</dc:date>
    </item>
    <item>
      <title>Re: Informat with Perl</title>
      <link>https://communities.sas.com/t5/SAS-Users-Group-in-Israel/Informat-with-Perl/m-p/792153#M281</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/226241"&gt;@AMSAS&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It is not a question but more of an announcement to our local SAS users in Israel about this capability &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;I just updated my post with an example.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;Eyal&lt;/P&gt;</description>
      <pubDate>Tue, 25 Jan 2022 12:04:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Users-Group-in-Israel/Informat-with-Perl/m-p/792153#M281</guid>
      <dc:creator>EyalGonen</dc:creator>
      <dc:date>2022-01-25T12:04:58Z</dc:date>
    </item>
  </channel>
</rss>

