繁体   English   中英

SAS哈希表中的动态.defineKey语句

Dynamic .defineKey statement in SAS hashtable

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试为哈希表动态指定键。 下面的示例工作正常,您可以看到我正在通过key_list变量指定密钥:

data ht;

  set sashelp.class;

  key_list = 'name';

  if _n_ eq 1 then do;
    declare hash ht(dataset:"sashelp.class");
    ht.defineKey(key_list);
    ht.defineDone();
  end;

  rc = ht.find();

run;

但以下更改:

key_list = 'name,sex';

...产生警告:

ERROR: Undeclared key symbol name,sex for hash object at line 6144 column 9.
ERROR: DATA STEP Component Object failure.  Aborted during the EXECUTION phase.

我已经尝试了单引号/双引号,空格与逗号等的所有组合,以使此工作顺利进行。 以前有人可以这样做吗?

我正在寻找非宏解决方案,谢谢。

1 个回复

密钥表将始终具有用逗号引号和分隔的列。 因此,看看您要尝试执行的操作,我认为尝试做类似的事情,并引用整个字符串,然后在使用definekey时,我们可以使用dequote函数删除应用于整个字符串的引号,这将有所帮助。 以下是我认为应该有所帮助的更改。

data ht;
  set sashelp.class;
  key_list =  "'name','sex'" ;
  if _n_ eq 1 then do;
    declare hash ht(dataset:"sashelp.class");
    ht.defineKey(dequote(key_list));
    ht.defineDone();
  end;
  rc = ht.find();
run;

我还没有测试过,请告诉我是否有帮助。

1 SAS:使用Put语句创建动态代码

我想使用PUT语句创建动态代码。 根据SUGI 29的这份文件( http://www2.sas.com/proceedings/sugi29/175-29.pdf ), 相当于跑步 但是,当我尝试类似于其示例的操作时, PUT语句中包含的代码无法运行,而是被写入SAS输出日志 ...

3 在Powershell中创建动态哈希表

我想在Powershell中创建本地计算机的概述,并通过哈希表以JSON输出。 现在它可以有几个硬盘,并且必须在哈希表中动态创建。 我的代码: 现在,我询问硬盘驱动器并将其保存在哈希表中。 然后,foreach循环应遍历每个磁盘并将数据输入另一个哈希表。 这是错误,我尝试 ...

4 SAS中的If / Then语句

感谢您抽出宝贵时间来帮助我。 基本上,我想生成一个从0到1的随机数,共15,000次,如果生成的值低于.25,那么我希望它在表中的该位置显示0。 如果大于.25,我想保留原始值。 关于在星号部分应使用的任何提示? 代码以我使用的格式粘贴在下面: ...

5 SAS 中的 IF THEN 语句

我不确定为什么这段代码在 SAS 中不起作用。 请问有人可以帮忙吗? ...

2020-01-24 11:28:26 1 44   sas
6 SAS IF然后声明

您好,无论出于何种原因,我的if语句都不适用于此代码。 我想要做的是(肯定很明显,但无论如何),如果工资是30,000埃及镑,那么使新的可变收入等于低收入。 这是我到目前为止所拥有的。 我一直遇到的错误是(工作数据集可能不完整),但是我确信我的代码是正确的,我已经尝试了很多方法,但没 ...

2016-09-24 15:35:59 1 96   sas
7 SAS-需要使INFILE语句中使用的文件路径动态化

我有一个每天早上运行的SAS程序,并且该程序每天都会接收一个称为“ Filename_20141117.txt”的原始数据文件。 文件名的最后一部分每天更改为当天的日期。 我想使SAS脚本中的INFILE语句更智能,以便它知道获取当天的文件。 我正在尝试进行日期串联,如下所示: ...

2014-11-18 14:22:24 1 588   sas
8 表达式中的哈希表条件语句

我当前正在尝试从System.Object []中提取信息,但是我只想从$var获取Col1和Col2 ,因为它有很多不必要的列。 设定: 期望: 我可以通过下面的代码获得所需的Col3: 但是,这只显示了Col3而不是其他列,我想要的是从选择列和使用列表达式中获得某种 ...

9 动态哈希表列/值

我有 3 个项目,其中包含很多子功能和值。 我想知道是否可以在没有硬编码列名的情况下创建这样的动态哈希表: 第一列始终是 Id,但之后的列可以不同。 是的,我可以对所有可能的选项进行硬编码,但它们就像 50,我想知道是否有更简单的方法。 现在我试过: 没有成功。 ...

10 具有动态值的哈希表

我正在尝试创建一个哈希表,该哈希表会在给定算法运行时动态更新。 我的代码是: 奇怪的是,尝试覆盖hashtable[0]的值后,它保持不变。 有什么办法可以用可写的哈希表。 可变值? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM