Help using Base SAS procedures

User defined formats can not be preloaded

Reply
Contributor QLi
Contributor
Posts: 57

User defined formats can not be preloaded

To get the order  in the report table, I defined the format with option NOTSORTED.

proc format library=fmt.catalog fmtlib ;

value $Cov_fmt (notsorted)

'$0'='$0'

'$50'= '$50'

'$75'='$75'

'$100'= '$100'

'$200'= '$200'

'$250' ='$250'

'$500' ='$500'

'$1,000' ='$1,000'

'$30/day ($900 max)'='$30/day ($900 max)'

'$40/day ($1,200 max)'='$40/day ($1,200 max)'

'$50/day ($1,500 max)'='$50/day ($1,500 max)'

'$900 max'='$900 max'

'$1,500 max'='$1,500 max'

'$2,000' ='$2,000'

'$2,500' ='$2,500'

'$5,000'='$5,000'

'$10,000'= '$10,000'

'$12,000' ='$12,000'

'$20,000' ='$20,000'

'$25,000'= '$25,000'

'$30,000' ='$30,000'

'$40,000' ='$40,000'

'$50,000' ='$50,000'

'$60,000' ='$60,000'

'$75,000' ='$75,000'

'$100,000' ='$100,000'

'$250,000' ='$250,000'

'$300,000' ='$300,000'

'$100/week'='$100/week'

'$10,000 | $0 Deductible'='$10,000 | $0 Deductible'

'$10,000 | $250 Deductible'='$10,000 | $250 Deductible'

'$10,000 | $500 Deductible'='$10,000 | $500 Deductible'

'$10,000 | $1,000 Deductible'='$10,000 | $1,000 Deductible'

'$50,000/$100,000'='$50,000/$100,000'

'$100,000/$300,000'='$100,000/$300,000'

'$250,000/$500,000'='$250,000/$500,000'

'$300,000/$300,000'='$300,000/$300,000'

'$500,000/$500,000'='$500,000/$500,000'

'100% Medical Coverage Only'='100% Medical Coverage Only'

'100% Medical Coverage | 80% Income Replacement'='100% Medical Coverage | 80% Income Replacement'

'80% Medical Coverage Only'='80% Medical Coverage Only'

'80% Medical Coverage | 60% Income Replacement'='80% Medical Coverage | 60% Income Replacement'

'Added On#$50,000/$100,000'='Added On#$50,000/$100,000'

'Added On#$100,000/$300,000'='Added On#$100,000/$300,000'

'Added On#$250,000/$500,000'='Added On#$250,000/$500,000'

'Added On#$300,000/$300,000'='Added On#$300,000/$300,000'

'Added On#$500,000/$500,000'='Added On#$500,000/$500,000'

'Added On#$25,000'='Added On#$25,000'

'Added On#$50,000'='Added On#$50,000'

'Added On#$100,000'='Added On#$100,000'

'Added On#$200,000'='Added On#$200,000'

'Added On#Decline'='Added On#Decline'

'Decline'='Decline'

'No'='No'

'Yes'='Yes'

'Nonstacked'='Nonstacked'

'Stacked'='Stacked'

'Reduced By#$50,000/$100,000'='Reduced By#$50,000/$100,000'

'Reduced By#$100,000/$300,000'='Reduced By#$100,000/$300,000'

'Reduced By#$250,000/$500,000'='Reduced By#$250,000/$500,000'

'Reduced By#$25,000'='Reduced By#$25,000'

'Reduced By#$50,000'='Reduced By#$50,000'

'Reduced By#$100,000'='Reduced By#$100,000'

'Reduced By#Decline'='Reduced By#Decline' ;

run;

When I used it in the Proc Tabulate, it showed Warning" Cann't Preloaded "

        proc tabulate data = Reqtd_Cov order = data   ;

            class requested_limit /preloadfmt;

            class coverage_code state ;

             format requested_limit $Cov_fmt.;         

        table (coverage_code='' )* (requested_limit=''  ) all, state=''*n=''*f=comma6.0 ;* all*f=comma6.0;                  run ;

Could you help me check it whether or not I missed something?

Thanks in advance.

Trusted Advisor
Posts: 2,113

User defined formats can not be preloaded

Your typed warning message appears to have one or more typos.  Can you show the exact message that was in the SAS log.  Then you can search support.sas.com for something relevant.

Super User
Posts: 17,731

Re: User defined formats can not be preloaded

SASDocs:

Requirement:PRELOADFMT has no effect unless you specify EXCLUSIVE, ORDER=DATA, or PRINTMISS and you assign formats to the class variables.

Note:   If you specify PRELOADFMT without also specifying EXCLUSIVE, ORDER=DATA, or PRINTMISS, then SAS writes a warning message to the SAS log.

I don't see any of those specified in your code so you probably need to decide which option is best for your data and go from there is my guess.

Ask a Question
Discussion stats
  • 2 replies
  • 148 views
  • 6 likes
  • 3 in conversation