<?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: Build a char Format from a Dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Build-a-char-Format-from-a-Dataset/m-p/844602#M333913</link>
    <description>&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Here is the solution that used your feedback:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/********** Build a char Format from a Dataset************/
/********** Build a char Format from a Dataset************/
/********** Build a char Format from a Dataset************/
Data format_tbl;
Input outcode $ outname $;
cards;
A Alpha
B Beta
G Gama
;
Run;

data work.Myfmt(keep=start label fmtname);  
set format_tbl(rename=(outcode=start outname=label));  
fmtname='$Myfmt';
run;

proc format library=work cntlin=work.Myfmt;
run;

/**Apply the format on a new data set***/
Data t;
format X  $Myfmt.;
input Customer_ID X $;
cards;
1 A
2 A
3 B
4 A
5 G
;
Run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 16 Nov 2022 11:27:55 GMT</pubDate>
    <dc:creator>Ronein</dc:creator>
    <dc:date>2022-11-16T11:27:55Z</dc:date>
    <item>
      <title>Build a char Format from a Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Build-a-char-Format-from-a-Dataset/m-p/844591#M333908</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;
&lt;P&gt;I know how to build a numeric format from a data set.&lt;/P&gt;
&lt;P&gt;I have tried to build a char format&amp;nbsp; (called $&lt;CODE class=" language-sas"&gt;Myfmt)&amp;nbsp;&amp;nbsp;but&amp;nbsp;I&amp;nbsp;get&amp;nbsp;an&amp;nbsp;error.&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;The&amp;nbsp;error&amp;nbsp;is&amp;nbsp;in&amp;nbsp;the&amp;nbsp;run&amp;nbsp;of&amp;nbsp;:&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;proc format library=work cntlin=work.Myfmt;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;error code in Log window:&lt;/CODE&gt;&lt;/P&gt;
&lt;PRE&gt;26         proc format library=work cntlin=work.Myfmt;
ERROR: For format MYFMT, this range is repeated, or values overlap: .-..
27         run;&lt;/PRE&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;What&amp;nbsp;is&amp;nbsp;the&amp;nbsp;way&amp;nbsp;to&amp;nbsp;solve&amp;nbsp;the&amp;nbsp;error&amp;nbsp;please?&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;&lt;/CODE&gt;&lt;CODE class=" language-sas"&gt;&lt;/CODE&gt;&lt;CODE class=" language-sas"&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/********** Build a numeric Format from a Dataset************/
/********** Build a numeric Format from a Dataset************/
/********** Build a numeric Format from a Dataset************/
Data format_tbl;
Input outcode outname $;
cards;
101 Aberdeen
102 Altrincham
103 Ashford
104 Barnsley
105 Basildon
106 Basingstoke
107 BathFirst
;
Run;

data work.outfmt(keep=start label fmtname);  
set format_tbl(rename=(outcode=start outname=label));  
fmtname='outfmt';
run;

proc format library=work cntlin=work.outfmt;
run;

/**Apply the format on a new data set***/
Data t;
format X  outfmt.;
input X;
cards;
101
102
103
104
105
106
107
;
Run;



/********** Build a char Format from a Dataset************/
/********** Build a char Format from a Dataset************/
/********** Build a char Format from a Dataset************/
Data format_tbl;
Input outcode $ outname $;
cards;
A Alpha
B Beta
G Gama
;
Run;

data work.Myfmt(keep=start label fmtname);  
set format_tbl(rename=(outcode=start outname=label));  
fmtname='Myfmt';
run;

proc format library=work cntlin=work.Myfmt;
run;

/**Apply the format on a new data set***/
Data t;
format X  $Myfmt.;
input Customer_ID X $;
cards;
1 A
2 A
3 B
4 A
5 G
;
Run;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 16 Nov 2022 10:32:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Build-a-char-Format-from-a-Dataset/m-p/844591#M333908</guid>
      <dc:creator>Ronein</dc:creator>
      <dc:date>2022-11-16T10:32:03Z</dc:date>
    </item>
    <item>
      <title>Re: Build a char Format from a Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Build-a-char-Format-from-a-Dataset/m-p/844599#M333911</link>
      <description>&lt;P&gt;Since you neither supplied type = "C" nor a leading $ in the fmtname, PROC FORMAT tries to build a numeric format. The character values will be invalid and all result in missing numeric values, causing the ranges to overlap.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Nov 2022 11:14:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Build-a-char-Format-from-a-Dataset/m-p/844599#M333911</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2022-11-16T11:14:35Z</dc:date>
    </item>
    <item>
      <title>Re: Build a char Format from a Dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Build-a-char-Format-from-a-Dataset/m-p/844602#M333913</link>
      <description>&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Here is the solution that used your feedback:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/********** Build a char Format from a Dataset************/
/********** Build a char Format from a Dataset************/
/********** Build a char Format from a Dataset************/
Data format_tbl;
Input outcode $ outname $;
cards;
A Alpha
B Beta
G Gama
;
Run;

data work.Myfmt(keep=start label fmtname);  
set format_tbl(rename=(outcode=start outname=label));  
fmtname='$Myfmt';
run;

proc format library=work cntlin=work.Myfmt;
run;

/**Apply the format on a new data set***/
Data t;
format X  $Myfmt.;
input Customer_ID X $;
cards;
1 A
2 A
3 B
4 A
5 G
;
Run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 16 Nov 2022 11:27:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Build-a-char-Format-from-a-Dataset/m-p/844602#M333913</guid>
      <dc:creator>Ronein</dc:creator>
      <dc:date>2022-11-16T11:27:55Z</dc:date>
    </item>
  </channel>
</rss>

