<?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: Simplify data step in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Simplify-data-step/m-p/709931#M26745</link>
    <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/281554"&gt;@PierreYvesILY&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;hello dear SAS experts,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have this data step in a new programm:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; RKR_MBR_Tag_2 (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;= _: NIEDERLASSUNG_BT_EC MARKTBEREICH_BT_EC);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;merge&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; CBR_TGL_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=a &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat kw tag)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CBR_KW_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=b &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat kw)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CBR_Monat_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=c &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CBR_Jahr_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=d)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Offene_Filialen_t_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=e)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_t_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=f &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat kw tag)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_k_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=g &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=kw)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_m_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=h &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_j_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=i);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;by&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; MR_KURZ_BT NIEDERLASSUNGBEZ_BT_EC MARKTBEREICHBEZ_BT_EC; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_Tag) &amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Tag = Offene_Filialen - Anzahl_aktive_FIL_Tag;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Tag = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_Jahr) &amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Jahr = Offene_Filialen - Anzahl_aktive_FIL_Jahr;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Jahr = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_Monat)&amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Monat = Offene_Filialen - Anzahl_aktive_FIL_Monat;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Monat = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_KW) &amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_KW = Offene_Filialen - Anzahl_aktive_FIL_KW;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_KW = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; NIEDERLASSUNGBEZ_BT_EC &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;not&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; in (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'DrKlein'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'P7S1'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'SMAVA'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; , &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Direktvertrieb'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Online'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Swiss_Life'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Sonstige_ZE'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Nicht_zustellbar'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Vortag = coalesce(NGV_Vortag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Vortag_Anzahl_RKR = coalesce(Vortag_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_Tag = coalesce(Anzahl_aktive_FIL_Tag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Woche = coalesce(NGV_Woche,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Woche_Anzahl_RKR = coalesce(Woche_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_KW = coalesce(Anzahl_aktive_FIL_KW,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Monat = coalesce(NGV_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Monat_Anzahl_RKR = coalesce(Monat_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_Monat = coalesce(Anzahl_aktive_FIL_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Jahr = coalesce(NGV_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Jahr_Anzahl_RKR = coalesce(Jahr_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_Jahr = coalesce(Anzahl_aktive_FIL_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Offene_Filialen = coalesce(Offene_Filialen,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_Vortag = coalesce(Antraege_Vortag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_KW = coalesce(Antraege_KW,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_Monat = coalesce(Antraege_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_Jahr = coalesce(Antraege_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_Tag = coalesce(Anzahl_inaktive_FIL_Tag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_Jahr =coalesce(Anzahl_inaktive_FIL_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_Monat =coalesce(Anzahl_inaktive_FIL_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_KW =coalesce(Anzahl_inaktive_FIL_KW,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;1) the coalesce formel is used to get rid of missing values and set them at 0.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;2) all the variables used in the coalesce are numeric&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;question:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;1) how can I store all the variable names in a macro variable and use it in a loop to set all missing values to 0 ?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;2) how can I replace the if - then - else at the beginning with a more efficient procedure? can I store the names jahr - monat - tag - kw in a macrovariable and then use them in a loop or something else to execute the formal 4 times, and how?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;3) do you have better ideas?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;thanks in advance&lt;/P&gt;
&lt;P&gt;regards&lt;/P&gt;
&lt;P&gt;PY&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;No macro coding needed. When you want to do the same thing to multiple variables the approach is to use an array and loop over the elements (variables in an array). The example below creates a small example data set with some missing values. Then the second data step uses an array to set the missing values to 0.&lt;/P&gt;
&lt;PRE&gt;data have;
   input x y z;
datalines;
1 . 2 
1 2 3
. 5 .
. . .
;

data example;
   set have;
   /* create an array named A with the variables
      x y z as elements*/
   array a {*} x y z;
   do i=1 to dim(a);
      if missing(a[i]) then a[i]=0;
   end;
   drop i;
run;&lt;/PRE&gt;
&lt;P&gt;The Dim function returns the number of elements in an array. You can reference the specific element in an array using arrayname(integer expression). The integer expression needs to return a value in the range of the number of elements for a basic array with 1 to n elements. You can use different brackets to enclose the expression. I find the [ ] makes it easier to tell that I am using an array element quickly. The {*} tells SAS that a list of variables follows.&lt;/P&gt;
&lt;P&gt;Note: you can create new variables with: Array newvarname {4} ; creating Newvarname1, Newvarname2, Newvarname3 and Newvarname4.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Basic array caveats: All elements of an array must be of the same type, either all numeric or all character.&lt;/P&gt;
&lt;P&gt;The name of an array cannot duplicate the name of an existing variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To do parallel processing involving multiple variables you create an array for each of the similar variables, order and spelling count, and loop over them. Pseudo code for something similar to what you do:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;array act {*}  fil_tag fil_jahr fil_monat fil_kw;
array inact {*}  _inact_fil_tag _inact_fil_jahr _inact_fil_monat _inact_fil_kw;

do i= 1 to dim(act);
   if (offene_filialen - act[i] &amp;gt; 0 then inact[i] = offene_filialen - act[i];
   else inact[i] = 0;
end;

&lt;/PRE&gt;
&lt;P&gt;You can also use an array in functions like sum.&amp;nbsp; Result = sum (of arrayname(*)); which uses all of the elements of an array as arguments in the Sum function.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 07 Jan 2021 15:24:38 GMT</pubDate>
    <dc:creator>ballardw</dc:creator>
    <dc:date>2021-01-07T15:24:38Z</dc:date>
    <item>
      <title>Simplify data step</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Simplify-data-step/m-p/709925#M26744</link>
      <description>&lt;P&gt;hello dear SAS experts,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have this data step in a new programm:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; RKR_MBR_Tag_2 (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;= _: NIEDERLASSUNG_BT_EC MARKTBEREICH_BT_EC);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;merge&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; CBR_TGL_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=a &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat kw tag)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CBR_KW_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=b &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat kw)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CBR_Monat_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=c &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CBR_Jahr_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=d)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Offene_Filialen_t_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=e)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_t_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=f &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat kw tag)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_k_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=g &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=kw)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_m_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=h &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_j_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=i);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;by&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; MR_KURZ_BT NIEDERLASSUNGBEZ_BT_EC MARKTBEREICHBEZ_BT_EC; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_Tag) &amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Tag = Offene_Filialen - Anzahl_aktive_FIL_Tag;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Tag = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_Jahr) &amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Jahr = Offene_Filialen - Anzahl_aktive_FIL_Jahr;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Jahr = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_Monat)&amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Monat = Offene_Filialen - Anzahl_aktive_FIL_Monat;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Monat = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_KW) &amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_KW = Offene_Filialen - Anzahl_aktive_FIL_KW;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_KW = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; NIEDERLASSUNGBEZ_BT_EC &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;not&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; in (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'DrKlein'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'P7S1'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'SMAVA'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; , &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Direktvertrieb'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Online'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Swiss_Life'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Sonstige_ZE'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Nicht_zustellbar'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Vortag = coalesce(NGV_Vortag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Vortag_Anzahl_RKR = coalesce(Vortag_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_Tag = coalesce(Anzahl_aktive_FIL_Tag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Woche = coalesce(NGV_Woche,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Woche_Anzahl_RKR = coalesce(Woche_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_KW = coalesce(Anzahl_aktive_FIL_KW,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Monat = coalesce(NGV_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Monat_Anzahl_RKR = coalesce(Monat_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_Monat = coalesce(Anzahl_aktive_FIL_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Jahr = coalesce(NGV_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Jahr_Anzahl_RKR = coalesce(Jahr_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_Jahr = coalesce(Anzahl_aktive_FIL_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Offene_Filialen = coalesce(Offene_Filialen,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_Vortag = coalesce(Antraege_Vortag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_KW = coalesce(Antraege_KW,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_Monat = coalesce(Antraege_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_Jahr = coalesce(Antraege_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_Tag = coalesce(Anzahl_inaktive_FIL_Tag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_Jahr =coalesce(Anzahl_inaktive_FIL_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_Monat =coalesce(Anzahl_inaktive_FIL_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_KW =coalesce(Anzahl_inaktive_FIL_KW,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;1) the coalesce formel is used to get rid of missing values and set them at 0.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;2) all the variables used in the coalesce are numeric&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;question:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;1) how can I store all the variable names in a macro variable and use it in a loop to set all missing values to 0 ?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;2) how can I replace the if - then - else at the beginning with a more efficient procedure? can I store the names jahr - monat - tag - kw in a macrovariable and then use them in a loop or something else to execute the formal 4 times, and how?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;3) do you have better ideas?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks in advance&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;PY&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jan 2021 15:00:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Simplify-data-step/m-p/709925#M26744</guid>
      <dc:creator>PierreYvesILY</dc:creator>
      <dc:date>2021-01-07T15:00:38Z</dc:date>
    </item>
    <item>
      <title>Re: Simplify data step</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Simplify-data-step/m-p/709931#M26745</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/281554"&gt;@PierreYvesILY&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;hello dear SAS experts,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have this data step in a new programm:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; RKR_MBR_Tag_2 (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;= _: NIEDERLASSUNG_BT_EC MARKTBEREICH_BT_EC);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;merge&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; CBR_TGL_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=a &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat kw tag)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CBR_KW_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=b &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat kw)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CBR_Monat_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=c &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;CBR_Jahr_MBR (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=d)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Offene_Filialen_t_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=e)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_t_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=f &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat kw tag)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_k_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=g &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=kw)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_m_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=h &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=monat)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;ORB_Daten_j_mbr (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;in&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=i);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;by&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; MR_KURZ_BT NIEDERLASSUNGBEZ_BT_EC MARKTBEREICHBEZ_BT_EC; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_Tag) &amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Tag = Offene_Filialen - Anzahl_aktive_FIL_Tag;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Tag = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_Jahr) &amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Jahr = Offene_Filialen - Anzahl_aktive_FIL_Jahr;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Jahr = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_Monat)&amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Monat = Offene_Filialen - Anzahl_aktive_FIL_Monat;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_Monat = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; (Offene_Filialen - Anzahl_aktive_FIL_KW) &amp;gt; &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT face="Courier New" size="3" color="#0000ff"&gt;then&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_KW = Offene_Filialen - Anzahl_aktive_FIL_KW;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;else&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; Anzahl_inaktive_FIL_KW = &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; NIEDERLASSUNGBEZ_BT_EC &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#0000ff"&gt;not&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; in (&lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'DrKlein'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'P7S1'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'SMAVA'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; , &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Direktvertrieb'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Online'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Swiss_Life'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Sonstige_ZE'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;, &lt;/FONT&gt;&lt;FONT face="Courier New" size="3" color="#800080"&gt;'Nicht_zustellbar'&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Vortag = coalesce(NGV_Vortag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Vortag_Anzahl_RKR = coalesce(Vortag_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_Tag = coalesce(Anzahl_aktive_FIL_Tag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Woche = coalesce(NGV_Woche,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Woche_Anzahl_RKR = coalesce(Woche_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_KW = coalesce(Anzahl_aktive_FIL_KW,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Monat = coalesce(NGV_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Monat_Anzahl_RKR = coalesce(Monat_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_Monat = coalesce(Anzahl_aktive_FIL_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;NGV_Jahr = coalesce(NGV_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Jahr_Anzahl_RKR = coalesce(Jahr_Anzahl_RKR,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_aktive_FIL_Jahr = coalesce(Anzahl_aktive_FIL_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Offene_Filialen = coalesce(Offene_Filialen,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_Vortag = coalesce(Antraege_Vortag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_KW = coalesce(Antraege_KW,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_Monat = coalesce(Antraege_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Antraege_Jahr = coalesce(Antraege_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_Tag = coalesce(Anzahl_inaktive_FIL_Tag,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_Jahr =coalesce(Anzahl_inaktive_FIL_Jahr,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_Monat =coalesce(Anzahl_inaktive_FIL_Monat,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;Anzahl_inaktive_FIL_KW =coalesce(Anzahl_inaktive_FIL_KW,&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT face="Courier New" size="3" color="#008080"&gt;0&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3" color="#000080"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;1) the coalesce formel is used to get rid of missing values and set them at 0.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;2) all the variables used in the coalesce are numeric&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;question:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;1) how can I store all the variable names in a macro variable and use it in a loop to set all missing values to 0 ?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size="3"&gt;2) how can I replace the if - then - else at the beginning with a more efficient procedure? can I store the names jahr - monat - tag - kw in a macrovariable and then use them in a loop or something else to execute the formal 4 times, and how?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;3) do you have better ideas?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;thanks in advance&lt;/P&gt;
&lt;P&gt;regards&lt;/P&gt;
&lt;P&gt;PY&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;No macro coding needed. When you want to do the same thing to multiple variables the approach is to use an array and loop over the elements (variables in an array). The example below creates a small example data set with some missing values. Then the second data step uses an array to set the missing values to 0.&lt;/P&gt;
&lt;PRE&gt;data have;
   input x y z;
datalines;
1 . 2 
1 2 3
. 5 .
. . .
;

data example;
   set have;
   /* create an array named A with the variables
      x y z as elements*/
   array a {*} x y z;
   do i=1 to dim(a);
      if missing(a[i]) then a[i]=0;
   end;
   drop i;
run;&lt;/PRE&gt;
&lt;P&gt;The Dim function returns the number of elements in an array. You can reference the specific element in an array using arrayname(integer expression). The integer expression needs to return a value in the range of the number of elements for a basic array with 1 to n elements. You can use different brackets to enclose the expression. I find the [ ] makes it easier to tell that I am using an array element quickly. The {*} tells SAS that a list of variables follows.&lt;/P&gt;
&lt;P&gt;Note: you can create new variables with: Array newvarname {4} ; creating Newvarname1, Newvarname2, Newvarname3 and Newvarname4.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Basic array caveats: All elements of an array must be of the same type, either all numeric or all character.&lt;/P&gt;
&lt;P&gt;The name of an array cannot duplicate the name of an existing variable.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To do parallel processing involving multiple variables you create an array for each of the similar variables, order and spelling count, and loop over them. Pseudo code for something similar to what you do:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;array act {*}  fil_tag fil_jahr fil_monat fil_kw;
array inact {*}  _inact_fil_tag _inact_fil_jahr _inact_fil_monat _inact_fil_kw;

do i= 1 to dim(act);
   if (offene_filialen - act[i] &amp;gt; 0 then inact[i] = offene_filialen - act[i];
   else inact[i] = 0;
end;

&lt;/PRE&gt;
&lt;P&gt;You can also use an array in functions like sum.&amp;nbsp; Result = sum (of arrayname(*)); which uses all of the elements of an array as arguments in the Sum function.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 07 Jan 2021 15:24:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Simplify-data-step/m-p/709931#M26745</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2021-01-07T15:24:38Z</dc:date>
    </item>
    <item>
      <title>Re: Simplify data step</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Simplify-data-step/m-p/710156#M26767</link>
      <description>thx, I could reach my Goals thanks to your explanations. It worked perfectly.</description>
      <pubDate>Fri, 08 Jan 2021 12:52:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Simplify-data-step/m-p/710156#M26767</guid>
      <dc:creator>PierreYvesILY</dc:creator>
      <dc:date>2021-01-08T12:52:21Z</dc:date>
    </item>
  </channel>
</rss>

