<?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>Thema "Automatisierte Berechnung der Monatsmitte (Makrovariable)" in CoDe SAS German</title>
    <link>https://communities.sas.com/t5/CoDe-SAS-German/Automatisierte-Berechnung-der-Monatsmitte-Makrovariable/m-p/287419#M2062</link>
    <description>&lt;P&gt;Hallo, ich habe folgendes Problem:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Aus einer Makrovariable (=201604) würde ich gerne eine weitere Makrovariable generieren, die automatisch den Tag der Monatsmitte berechnet. Leider komm ich da momentan (trotz einigen Versuchen) nicht weiter, hat vielleicht hier jemand eine Idee dazu?!?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hier mein entsprechender Code:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;%let mon = 201604; &lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;%let Monatsmitte = intnx('month', input(put(&amp;amp;mon.,6.), yymmn6.), 0,'m');&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;%put &amp;amp;monatsmitte.;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Danke schonmal vorab und schöne Grüße!&lt;/P&gt;</description>
    <pubDate>Wed, 27 Jul 2016 06:56:57 GMT</pubDate>
    <dc:creator>Berlebeck22</dc:creator>
    <dc:date>2016-07-27T06:56:57Z</dc:date>
    <item>
      <title>Automatisierte Berechnung der Monatsmitte (Makrovariable)</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/Automatisierte-Berechnung-der-Monatsmitte-Makrovariable/m-p/287419#M2062</link>
      <description>&lt;P&gt;Hallo, ich habe folgendes Problem:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Aus einer Makrovariable (=201604) würde ich gerne eine weitere Makrovariable generieren, die automatisch den Tag der Monatsmitte berechnet. Leider komm ich da momentan (trotz einigen Versuchen) nicht weiter, hat vielleicht hier jemand eine Idee dazu?!?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hier mein entsprechender Code:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;EM&gt;%let mon = 201604; &lt;/EM&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;%let Monatsmitte = intnx('month', input(put(&amp;amp;mon.,6.), yymmn6.), 0,'m');&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;%put &amp;amp;monatsmitte.;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Danke schonmal vorab und schöne Grüße!&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jul 2016 06:56:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/Automatisierte-Berechnung-der-Monatsmitte-Makrovariable/m-p/287419#M2062</guid>
      <dc:creator>Berlebeck22</dc:creator>
      <dc:date>2016-07-27T06:56:57Z</dc:date>
    </item>
    <item>
      <title>Betreff: Automatisierte Berechnung der Monatsmitte (Makrovariable)</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/Automatisierte-Berechnung-der-Monatsmitte-Makrovariable/m-p/287423#M2063</link>
      <description>&lt;P&gt;Guten Morgen&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Damit man DATA Step Funktionen in der Makrosprache verwenden kann braucht es die %SYSFUNC Makro Funktion. Da die Makrosprache keine Variablentypen kennt, braucht es keine Hochkomma um Characterkonstanten. Die PUT und INPUT Funktionen werden nicht in %SYSFUNC unterstützt, aber es gibt die entsprechenden PUTC/N und INPUTC/N Funktionen.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Das Programm kann so aussehen:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let mon = 201604;

%let Monatsmitte = %sysfunc(intnx(month, %sysfunc(inputn(&amp;amp;mon.,yymmn6.)), 0, M));
%put NOTE: SAS Datumswert als Zahl=&amp;amp;monatsmitte.;
%put NOTE: formattiert=%sysfunc(putn(&amp;amp;Monatsmitte, date9.));
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Bruno&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jul 2016 07:05:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/Automatisierte-Berechnung-der-Monatsmitte-Makrovariable/m-p/287423#M2063</guid>
      <dc:creator>BrunoMueller</dc:creator>
      <dc:date>2016-07-27T07:05:16Z</dc:date>
    </item>
    <item>
      <title>Betreff: Automatisierte Berechnung der Monatsmitte (Makrovariable)</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/Automatisierte-Berechnung-der-Monatsmitte-Makrovariable/m-p/287424#M2064</link>
      <description>Super, vielen lieben Dank!!!</description>
      <pubDate>Wed, 27 Jul 2016 07:09:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/Automatisierte-Berechnung-der-Monatsmitte-Makrovariable/m-p/287424#M2064</guid>
      <dc:creator>Berlebeck22</dc:creator>
      <dc:date>2016-07-27T07:09:01Z</dc:date>
    </item>
    <item>
      <title>Betreff: Automatisierte Berechnung der Monatsmitte (Makrovariable)</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/Automatisierte-Berechnung-der-Monatsmitte-Makrovariable/m-p/287426#M2065</link>
      <description>&lt;P&gt;Wenn man in einem %let eine Base SAS Funktion verwendet, dann wird die Teil des Textes in der Makrovariablen; sie wird NICHT ausgeführt.&lt;/P&gt;
&lt;P&gt;Erst wenn man die Makrovariable in einem DATA Step verwendet, kommt es nach der Code-Ersetzung und dem Compile des DATA Step zur Ausführung der Funktion.&lt;/P&gt;
&lt;P&gt;Um eine Base SAS Funktion in einem %let sinnvoll zu verwenden, muss man sie in %sysfunc "einpacken". Da das oft unübersichtlich wird, ist man mM besser dran, einen DATA _NULL_ mit CALL SYMPUT zu verwenden:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;%let mon=201604;

data _null_;
monatsmitte = intnx('month',input("&amp;amp;mon.01",yymmdd8.),0,'m');
call symput('monatsmitte',put(monatsmitte,yymmddn8.));
run;

%put &amp;amp;monatsmitte.;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jul 2016 07:14:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/Automatisierte-Berechnung-der-Monatsmitte-Makrovariable/m-p/287426#M2065</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2016-07-27T07:14:14Z</dc:date>
    </item>
  </channel>
</rss>

