Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Types SAS无法加载Proc格式_Types_Format_Sas_Proc_Proc Format - Fatal编程技术网

Types SAS无法加载Proc格式

Types SAS无法加载Proc格式,types,format,sas,proc,proc-format,Types,Format,Sas,Proc,Proc Format,我正在尝试创建一种proc格式,它读取邮政编码,并相应地将标签应用于其状态 出于某种原因,尽管我的“开始”和“结束”字段都是数字,但它始终返回一个错误,表示: “未找到或无法加载ZONENEW格式。” 我发现唯一的解决办法是将Pcode数据更改为文本,并将开始和结束格式字段更改为文本 这是我现有的代码,仍然是数字格式 data Fmt_All_zones; set all_zones end=eof; retain type 'c'; fmtname = 'zonenew';

我正在尝试创建一种proc格式,它读取邮政编码,并相应地将标签应用于其状态

出于某种原因,尽管我的“开始”和“结束”字段都是数字,但它始终返回一个错误,表示:

“未找到或无法加载ZONENEW格式。”

我发现唯一的解决办法是将Pcode数据更改为文本,并将开始和结束格式字段更改为文本

这是我现有的代码,仍然是数字格式

data Fmt_All_zones;
   set all_zones end=eof;
   retain type 'c';
   fmtname = 'zonenew';
   start = pcode_fr;
   end = pcode_to;
   label = key;
   output;    

   if eof then do;
      start = 'other';
      end = 'other';
      label = "Error";
      output;
   end;
run;

proc format cntlin = fmt_all_zones library = work;
run;        

data TestPostcodes;
   input Pcode;
   datalines;
   2050
   2065
   3000
   2879
   9999
   1999
   6488
   ;
run;

data FilteredPcode;
    set TestPostcodes;    
    Pcode_Label = put(Pcode, zonenew.);    
run;

如果能给我一个解释,以帮助我从概念上理解这个过程,我将不胜感激!谢谢。

您通过设置
TYPE='C'
定义了字符格式。如果您想要数字格式,请使用
TYPE='N'

您的邮政编码是数字,因此您需要的是数字类型,而不是字符。这很好!我如何定义我的邮政编码的“其他”范围?因为如果邮政编码是数字的,它将不接受文本定义块中的代码>。进一步阅读:如果指定了
类型
变量,那么
开始
变量是字符还是数字并不重要。@Wolfspirit最好单独提问。