<?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: Ordering Formats in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70737#M20360</link>
    <description>Thanks for the reply, unfortunately that didnt seem to work..</description>
    <pubDate>Wed, 09 Feb 2011 16:30:00 GMT</pubDate>
    <dc:creator>KDang</dc:creator>
    <dc:date>2011-02-09T16:30:00Z</dc:date>
    <item>
      <title>Ordering Formats</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70735#M20358</link>
      <description>Hi,&lt;BR /&gt;
&lt;BR /&gt;
I'm using proc format as:&lt;BR /&gt;
&lt;BR /&gt;
VALUE $ProvFmt&lt;BR /&gt;
'P1' ='ON' &lt;BR /&gt;
'P2' ='BC' &lt;BR /&gt;
'P3' ='AB' &lt;BR /&gt;
'P4' ='MB' &lt;BR /&gt;
'P5' ='SK' &lt;BR /&gt;
'P6' ='QC' &lt;BR /&gt;
'P7' ='NS' &lt;BR /&gt;
'P8' ='NB' &lt;BR /&gt;
'P9' ='NL' &lt;BR /&gt;
'P10'='PE' &lt;BR /&gt;
'P11'='NT' &lt;BR /&gt;
'P12'='YK' &lt;BR /&gt;
'P13'='NU'&lt;BR /&gt;
&lt;BR /&gt;
when I run frequencies on my data, the output goes in the order of &lt;BR /&gt;
&lt;BR /&gt;
ON&lt;BR /&gt;
BC&lt;BR /&gt;
AB&lt;BR /&gt;
MB&lt;BR /&gt;
SK&lt;BR /&gt;
QC&lt;BR /&gt;
NS&lt;BR /&gt;
NB&lt;BR /&gt;
NL&lt;BR /&gt;
PE&lt;BR /&gt;
NT&lt;BR /&gt;
YK&lt;BR /&gt;
NU&lt;BR /&gt;
&lt;BR /&gt;
How do I change my statement so the ouput goes in the following order:&lt;BR /&gt;
BC&lt;BR /&gt;
AB&lt;BR /&gt;
SK&lt;BR /&gt;
MB&lt;BR /&gt;
ON&lt;BR /&gt;
QC&lt;BR /&gt;
NB&lt;BR /&gt;
NS&lt;BR /&gt;
NL&lt;BR /&gt;
PE&lt;BR /&gt;
NT&lt;BR /&gt;
YK&lt;BR /&gt;
NU&lt;BR /&gt;
&lt;BR /&gt;
Thanks for your help!</description>
      <pubDate>Wed, 09 Feb 2011 15:30:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70735#M20358</guid>
      <dc:creator>KDang</dc:creator>
      <dc:date>2011-02-09T15:30:10Z</dc:date>
    </item>
    <item>
      <title>Re: Ordering Formats</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70736#M20359</link>
      <description>hello,&lt;BR /&gt;
&lt;BR /&gt;
if you use &lt;B&gt;notsorted&lt;/B&gt; option for the value statement in proc format (and list the desired order (BC,AB,SK etc)) and run your output  &lt;B&gt;without&lt;/B&gt;  order=formatted, you should get the wright result.&lt;BR /&gt;
&lt;BR /&gt;
Marius</description>
      <pubDate>Wed, 09 Feb 2011 16:02:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70736#M20359</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2011-02-09T16:02:15Z</dc:date>
    </item>
    <item>
      <title>Re: Ordering Formats</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70737#M20360</link>
      <description>Thanks for the reply, unfortunately that didnt seem to work..</description>
      <pubDate>Wed, 09 Feb 2011 16:30:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70737#M20360</guid>
      <dc:creator>KDang</dc:creator>
      <dc:date>2011-02-09T16:30:00Z</dc:date>
    </item>
    <item>
      <title>Re: Ordering Formats</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70738#M20361</link>
      <description>Hi.&lt;BR /&gt;
In addition to Marius' answer, you have to use both NOTSORTED option in the FORMAT procedure and PRELOADFMT + ORDER=DATA in a TABULATE procedure to get exactly what you want.&lt;BR /&gt;
[pre]PROC FORMAT ;&lt;BR /&gt;
VALUE $ProvFmt (NOTSORTED)&lt;BR /&gt;
'P2' ='BC'&lt;BR /&gt;
'P3' ='AB'&lt;BR /&gt;
'P5' ='SK'&lt;BR /&gt;
'P1' ='ON'&lt;BR /&gt;
'P4' ='MB'&lt;BR /&gt;
'P11'='NT'&lt;BR /&gt;
'P12'='YK'&lt;BR /&gt;
'P13'='NU'&lt;BR /&gt;
'P10'='PE'&lt;BR /&gt;
'P8' ='NB'&lt;BR /&gt;
'P6' ='QC'&lt;BR /&gt;
'P7' ='NS'&lt;BR /&gt;
'P9' ='NL'&lt;BR /&gt;
;&lt;BR /&gt;
RUN ;&lt;BR /&gt;
DATA work.test ;&lt;BR /&gt;
  DO i=1 TO 500 ;&lt;BR /&gt;
    num = ROUND(RAND("UNIFORM")*12+1) ;&lt;BR /&gt;
	product = CATS("P",num) ;&lt;BR /&gt;
	OUTPUT ;&lt;BR /&gt;
  END ;&lt;BR /&gt;
  FORMAT product $provfmt. ;&lt;BR /&gt;
RUN ;&lt;BR /&gt;
PROC TABULATE ;&lt;BR /&gt;
  CLASS product / PRELOADFMT ORDER=DATA ;&lt;BR /&gt;
  TABLE product, N ;&lt;BR /&gt;
RUN ;[/pre]&lt;BR /&gt;
Regards.&lt;BR /&gt;
Olivier</description>
      <pubDate>Wed, 09 Feb 2011 16:40:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70738#M20361</guid>
      <dc:creator>Olivier</dc:creator>
      <dc:date>2011-02-09T16:40:09Z</dc:date>
    </item>
    <item>
      <title>Re: Ordering Formats</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70739#M20362</link>
      <description>Thanks, that worked.&lt;BR /&gt;
&lt;BR /&gt;
Just out of curiousity, is there a way to do it with PROC FREQ instead of Tabulate?</description>
      <pubDate>Wed, 09 Feb 2011 17:33:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70739#M20362</guid>
      <dc:creator>KDang</dc:creator>
      <dc:date>2011-02-09T17:33:17Z</dc:date>
    </item>
    <item>
      <title>Re: Ordering Formats</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70740#M20363</link>
      <description>I don't think there is one, unfortunately. PROC FREQ is lacking the PRELOADFMT option.</description>
      <pubDate>Wed, 09 Feb 2011 17:47:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70740#M20363</guid>
      <dc:creator>Olivier</dc:creator>
      <dc:date>2011-02-09T17:47:36Z</dc:date>
    </item>
    <item>
      <title>Re: Ordering Formats</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70741#M20364</link>
      <description>How about using PROC SUMMARY which does support PRELOADFMT and then use ORDER=DATA in PROC FREQ.&lt;BR /&gt;
&lt;BR /&gt;
[pre]&lt;BR /&gt;
proc summary data=test nway;&lt;BR /&gt;
   class product / order=data preloadfmt;&lt;BR /&gt;
   output out=freqs;&lt;BR /&gt;
   run;&lt;BR /&gt;
proc freq data=freqs order=data;&lt;BR /&gt;
   tables product;&lt;BR /&gt;
   weight _freq_;&lt;BR /&gt;
   run;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
                                    Cumulative    Cumulati&lt;BR /&gt;
product    Frequency     Percent     Frequency      Percen&lt;BR /&gt;
ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ&lt;BR /&gt;
BC               35        7.00            35         7.00&lt;BR /&gt;
AB               58       11.60            93        18.60&lt;BR /&gt;
SK               39        7.80           132        26.40&lt;BR /&gt;
ON               23        4.60           155        31.00&lt;BR /&gt;
MB               49        9.80           204        40.80&lt;BR /&gt;
NT               42        8.40           246        49.20&lt;BR /&gt;
YK               32        6.40           278        55.60&lt;BR /&gt;
NU               21        4.20           299        59.80&lt;BR /&gt;
PE               44        8.80           343        68.60&lt;BR /&gt;
NB               28        5.60           371        74.20&lt;BR /&gt;
QC               52       10.40           423        84.60&lt;BR /&gt;
NS               50       10.00           473        94.60&lt;BR /&gt;
NL               27        5.40           500       100.00&lt;BR /&gt;
[/pre]</description>
      <pubDate>Wed, 09 Feb 2011 18:13:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Ordering-Formats/m-p/70741#M20364</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2011-02-09T18:13:36Z</dc:date>
    </item>
  </channel>
</rss>

