preloadfmt 不起作用,并且 SAS 中没有明显错误或警告

问题描述 投票:0回答:1

我需要对学年进行降序排序。由于这不是数字变量,我决定使用 preloadfmt 来确保表遵循此格式 -> Ideal formatting

但是,preloadfmt 不起作用,并且日志中没有显示任何警告或错误。我在日志中看到的唯一内容是:“注意:格式 $LOADE 已在库 WORK.FORMATS 中。 注意:格式$LOADE已输出。" 我不认为这有什么关系。

我通过下面的代码得到了这个结果Result from the code below 知道如何才能得到理想的结果吗?

/*This is the code I'm using:*/ 


proc format; 

value $LOADE
'FT' = 'FT'
'PT' = 'PT';

value $LEVEL
'First time Freshmen' = '1st'
'Other Freshmen' = '1st'
'Sophomores' = '2nd'
'Juniors' = '3rd'
'Seniors' = '4rd';

value $Academic
'2023-24'='2023-24'
'2022-23'='2022-23'
'2021-22'='2021-22'
'2020-21'='2020-21'
'2019-20'='2019-20';

run;


proc tabulate data=step3;
TITLE1 "Hisotircal Enrollment by load and level";
where pmajr='SYST';
class Academic_Year load level_description / preloadfmt;
Table (Academic_Year*load), level_description all=total/ printmiss misstext='0';*/ norow nocol nopercent nocum;
format load $loade. Academic_Year $Academic. level_description $level.;
run;
sas tabulate
1个回答
0
投票

在 PROC FORMAT VALUE 语句中使用选项

NOTSORTED

在 PROC TABULATE CLASS 语句中添加选项
ORDER=FORMATTED

代码中的两种格式可以删除,因为它们是多余的并且不执行任何转换。

示例:

data have (label='All students were harmed in making this fake data') ;
  call streaminit(2024) ;
  do academYear = '2023-24', '2022-23', '2021-22', '2020-21' ;
  do enrollYear = 'Frosh', 'Soph', 'Jr', 'Sr' ;
    do _n_ = 1 to rand('integer', 500,750) ;
      load = ifc (rand('uniform') < 0.33, 'PT', 'FT') ;
      OUTPUT ;
    end ;
  end ; end ;
run ;

proc format ;
  value $eYear (notsorted) 
    'Frosh' = '1st'
    'Soph'  = '2nd'
    'Jr'    = '3rd'
    'Sr'    = '4th'
  ;
run ;

ods html file='report.html' style=plateau ;

title 'Raw' ;
proc tabulate data=have ;
  class academYear enrollYear load ;
  table academYear*load,enrollYear ;
run ;

title '(NOTSORTED) -- ORDER=FORMATTED, PRELOADFMT and PRINTMISS' ;
proc tabulate data=have ;
  class academYear enrollYear load / order=formatted preloadfmt ;
  table academYear*load,enrollYear / printmiss ;
  format enrollYear $eYear. ;
run ;

ods html close ;

© www.soinside.com 2019 - 2024. All rights reserved.