Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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
Variables SAS:为变量的内容分配数字_Variables_Sas_Variable Assignment - Fatal编程技术网

Variables SAS:为变量的内容分配数字

Variables SAS:为变量的内容分配数字,variables,sas,variable-assignment,Variables,Sas,Variable Assignment,我有一个名为city的变量,变量中有城市名称: City New York Chicago Paris London Boston Hamburg **New York London** 我想创建另一个名为cityNumber的变量,这个变量应该遍历City变量并分配数字1、2、3等 例如: City CityNumber New York 1 Chicago 2 Paris 3

我有一个名为city的变量,变量中有城市名称:

City
New York
Chicago
Paris
London
Boston
Hamburg
**New York
London**
我想创建另一个名为cityNumber的变量,这个变量应该遍历City变量并分配数字1、2、3等

例如:

City                CityNumber
New York              1
Chicago               2
Paris                 3
London                4
Boston                5
Hamburg               6
**New York              1
London                4**
等等

有几个城市,它们的顺序并不总是一样的


谢谢

按城市对数据进行排序,然后使用
组创建
城市编号
。您需要一个
if
语句,在每个组的开头将
cityNumber
递增一。实现这一点的最简单方法是使用sum语句:

data want;
  set have;
  by city;
  if first.city then cityNumber+1;
run;

按城市排序并按组处理使用
。您好,谢谢您的快速回复。我的主要问题是排序后如何分配数字。我尝试了if first.city然后cityNumber=1,等等,但我不起作用。查看datastep
by
retain
语句。您帖子中的星号是否存在于数据中?同一城市是否有多个名称/值需要分配相同的编号?谢谢大家的帮助。