SAS 数据合并以求存在

2024-02-11

我是 sas 新手,我有两个数据集如下,

data datasetA;
    input a $1;
    datalines;
1
2
3
4
5
6
7
;
run;

data datasetB;
    input a $1;
    datalines;
1
3
5
7
;
run;

如果a出现B,那么我想要的输出应该是

1 Y
2 N
3 Y
4 N
5 Y
6 N
7 Y

这至少可以通过两种方式实现:

  • merge通过data step or
  • left joinproc sql.

这个pdf比较sas中合并与sql的优缺点 http://www2.sas.com/proceedings/forum2008/178-2008.pdf.

由于 rbet 向您展示了如何通过合并步骤执行此操作,因此我将向您展示如何使用proc sql.

proc sql;
  create table work.result as
    select t1.a, case when t2.a is not missing then 'Y' else 'N' end as exists
    from work.datasetA t1
     left join work.datasetB t2 on t1.a = t2.a order by t1.a;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SAS 数据合并以求存在 的相关文章

  • 如何使用 Python Pandas 将 JMP *.jmp 文件读取到 Pandas 数据帧中

    我正在努力读书SAS JMP 文件与熊猫read csv函数进入 Pandas 数据框 有人有处理这种类型的数据文件的经验吗 最有效的方法是什么 这对我有用 其结果有时有点出乎意料 例如 有时我得到没有标题的 CSV 即使在 JMP 中它们
  • 如何检测数据集中的所有空列并删除\删除它们?

    正如标题中所建议的 我想删除所有空列 变量 其中所有记录均为空或等于 null 或 以减少以后执行的时间成本 详细场景 我有一个包含 1000 列的 dataset 其中一些 很多是空的 现在我想创建一个新的数据集 其中需要在先前数据集的某
  • SAS 无效“闰年”日期问题 yymmdd8

    我正在阅读一些原始数据 其中有几个错误的日期 具体来说 有人在非闰年键入了 2 月 29 日 例如 data null input test yymmdd8 format test date9 cards 20270229 run 客户希望
  • SAS 无法识别日期格式

    我有以下字符日期格式 3 1990 4 1990 5 1990 我尝试了以下代码 data work temps set indata newdate input strip Date MMYYSw rename newdate date
  • SAS 我可以逆向进行 sas 过程观察吗

    我知道Sas在处理时从数据集顶部的观察开始 然后继续进行下一个直到到达底部观察 但是有没有一种简单的方法可以让sas首先处理底部观察 然后再处理到顶部 您可以使用nobs and point向后处理它 而无需执行任何中间步骤 这是一个例子
  • 如何根据 SAS Enterprise Guide / PROC SQL 中具有相同前缀的列中的值创建具有适当前缀的 2 个新列?

    我在 SAS Enterprise Guide 中有如下表 ID COUNT COL A COUNT COL B SUM COL A SUM COL B 111 10 10 320 120 222 15 80 500 500 333 1 5
  • SAS HashTable 中由 hashexp 指定的表大小到底是多少?

    我想对 SAS 哈希表中存储桶的定义进行一些澄清 问题正是关于hashexp范围 根据 SAS DOC 的说法 hashexp is 哈希对象的内表大小 其中哈希表的大小为2n HASHEXP 的值用作 2 的指数来创建哈希表大小 例如 H
  • 在SAS中使用循环重命名索引列?

    我有一个数据集 其中变量为 col1 col2 col3 col15 我想将它们重命名为new1 new2 new3 new 15 我可以写15次类似的rename col1 new1 在 SAS 中 但如何使用循环实现此目的 谢谢 首先
  • 解析宏变量名称中包含 %eval 的宏,SAS

    这是一个玩具示例 旨在帮助解决我遇到的更大问题 它本质上涉及在引用更大的宏变量名称时使用 eval 宏 我创建了一个宏变量 x 2 它使用循环 it 的值 从最终输出可以看出该变量已成功创建 但是我只能将其放入日志而不评估 it 1 这当使
  • 将 SAS 数据集中的观测值读入数组

    这个问题与大型机上的 SAS 相关 尽管我相信在这种情况下没有什么区别 我有以下 SAS 数据集 Obs DATO T ALLOC T FRESP 1 19328 647 1804 2 19359 654 1797 3 19390 662
  • 通过电子邮件发送 SAS html 输出

    我正在使用 SAS Enterprise Guide 6 1 我正在尝试使用 Windows 调度程序对下面的程序进行批处理以生成每周报告 它将有一些过程打印和 sgplots 我将其发送给的用户是高级用户 并且没有 SAS 如果他安装了
  • SAS中是否有相当于R函数表的?

    在 R 中 函数table使用交叉分类因素构建列联表 是否有一个等效的 SAS PROC 可以重现此 R 函数的结果 Example x lt data frame x rep 1 2 times 5 y rep 1 2 each 5 ou
  • 增加 sas 内存/memsize

    您好 有一个包含大约 6000 个观测值和 250 个变量的数据集 我正在尝试使用 proc mix 在 sas 中运行混合模型 但我不断收到 错误 由于内存不足 sas 系统停止处理此步骤 我尝试了康奈尔大学的方法 http www ci
  • 如何使用 proc Compare 更新数据集

    我想用proc compare每天更新数据集 work HAVE1 Date Key Var1 Var2 01Aug2013 K1 a 2 01Aug2013 K2 a 3 02Aug2013 K1 b 4 work HAVE2 Date
  • Proc sql:基于回顾期的新客户和继续客户

    我有以下数据 wei 01feb2018 car wei 02feb2018 car wei 02mar2019 bike carlin 01feb2018 car carlin 05feb2018 bike carlin 07mar201
  • 在R中导入SAS cport文件

    我试图通过一些分析找出一种在 R 中导入 SAS cport 文件的方法 有人可以帮助我如何完成这项工作吗 我不想先使用 SAS 将其转换为 csv 然后再导入到 R 中 我尝试用谷歌搜索但无法找到合适的解决方案 Thanks None
  • 获取 SAS 表元数据 URI 的通用方法

    我正在构建一个利用表对象的 SAS 元数据 ID 或 URI 的实用程序 当库使用 BASE 引擎时 以下代码可以很好地获取 ID let mylib SOMELIB data output keep uri dataname length
  • 如何在SAS中删除重复的记录\观察而不进行排序?

    我想知道是否有办法取消重复记录WITHOUT排序 有时候 我想保留原来的顺序 只想删除重复的记录 是否可以 顺便说一句 以下是我对不重复记录的了解 它最终会进行排序 1 proc sql create table yourdata nodu
  • 删除 SAS 中的表

    什么是最高效的SAS中删除表的方法 我有一个循环并删除大量表的程序 想知道 PROC SQL 之间是否存在性能差异 和过程数据集 一次删除一张桌子 或者如果还有其他方法吗 如果外包给操作系统是合理的 那可能是最快的 否则 我的不科学观察似乎
  • 停止 SAS 执行

    快速提问 是否有一种单行 或相当短的 方法可以从窗口环境中取消进一步 SAS 语句的执行 这些是methods http www2 sas com proceedings sugi31 063 31 pdf我知道 但它们会让人厌烦 尤其是在

随机推荐