问题标签 [proc-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sas - 将宏变量转换为宏
下面的代码 1 根据用户提示输入在 Proc SQL 中创建 where 子句('Str' 表示商店编号)我想使用宏(参见下面的示例代码 2)来替换宏变量。请问我怎样才能让它工作?谢谢!
代码 1:
代码 2:
然后我可以像使用宏变量一样在 SQL 中使用宏。
sas - SAS 抓取之前的观察结果进行比较
我有一个类似于以下的 SAS 数据集:
我想要做的是将它变成一个新的数据集,每个条目只有一次,并添加一个变量来存储该变量的“条纹”。例如,集合看起来像:
到目前为止,我已经创建了第一个数据集,但我被困在如何做第二个数据集上。我的想法是在数据步骤中创建一个变量,该变量保存最后一次观察的值以进行比较,但我不知道如何做到这一点,或者如何将其转换为第二个数据集。
我不确定在 SAS 中是否可以返回之前的观察,也许这对于 a 来说是个问题proc sql
,但是我需要一个新data set
的而不是表。
variables - 通过宏变量块运行 proc SQL
我需要在 Teradata DBMS 中将小表与大表连接起来。我将 small.A、B、C、D 4 列选择为宏变量,但问题是变量经常会超过缓冲区大小。所以,我用谷歌搜索了下面的代码(http://support.sas.com/techsup/technote/ts553.html ),即每 105 条记录按块运行 SQL。现在我有两个问题: 1. "file temp;" 行 似乎不适合我。错误是:错误:访问/x/sas/config/Lev1/SASApp/temp.dat 的权限不足。2.该示例只有一列要加入,而我有 4 列 AD 要加入。有人可以帮帮我吗?我感谢您的帮助!
%let 块=105;
sas - 如何根据条件输出运行/不运行 SAS 或 SQL 代码?
我有一个带有宏的 SAS 程序,该宏将根据输入标准输出不同的变量列表。例如,使用 %MACRO(OPTION1),我得到三个变量,但使用 %MACRO(OPTION2),我得到四个变量。所有变量的名称都是固定的,但这只是是否创建它们的问题(基于选项)。
如何调整宏以使用户输入的任何选项仍允许宏运行?换句话说,如果它们不存在,我怎么能告诉它忽略一些变量。
幸运的是,我不限于任何特定的过程,但它可能必须在 DATA 步(宏语言)或 PROC SQL 语句(where 子句或其他一些条件语句)中。
sql - sas 用 - 号显示标志变量
我想在 SAS EG 中创建包含标志变量的表(例如,如果客户已经开设了当前帐户)。此标志变量存储在 dwh 表中,值为 1/0。但是当我想从这个数据库中创建 SAS 表时,我得到 -1 而不是 1。有什么选项可以避免将标志值 1 更改为 -1?
sas - 在proc-sql sas中将日期时间转换为日期
我正在尝试将 datetime22.3 变量转换为 ddmmmyy10。在 proc sql 中,这在输出列中给了我 ******。
如何在输出列中获得正确的值?
sas - 在SAS中提取字符串的左侧部分?
是否有一个函数 SAS proc SQL 可以用来提取字符串的左侧部分。它类似于 LEFT 函数 sql server。在我有的 SQL 中 left(11111111, 4) * 9 = 9999
,我想在 SAS proc SQL 中使用类似的东西。任何帮助将不胜感激。
sas - 从左连接中选择最大值
我有两个如下表。
通过上面的表格,我试图NAME
从Charac
我们有max date的地方得到。
我正在尝试proc sql
通过复制mysql的答案来加入,如下所示
错误
错误:未解决对表/相关名称 EDW 的引用。
错误:使用等于 (=) 的表达式具有不同数据类型的组件。
sas - SAS:如何将组中排名较高的第一个值分配给整个组
在 SAS 中,如何将组中排名较高的第一个 Rating 值分配给整个组。见下面的数据集
如果一个组的 rt_rank 为 1,那么我想将第一个值评级分配给整个组。
所需数据集:
我通过创建一个中间数据集并使用这个第一个评级值创建一个临时变量然后将它与原始数据集合并来实现这个 rating_grp。但我想知道是否有另一种简单的方法可以做到这一点。
提前致谢!
oracle - 区分开始和结束日期时间的 ID
第一个表包含键值和时间,如下所示
第二个表包含每个 ID 都有其开始和结束日期。
我想从 time_stamp 中找出每一行的 ID。
有固定数量的类别。但是有很多ID。
你能帮我写一个 SQL 查询吗?(任何 SQL 样式都可以。我可以转换它。SAS 兼容的 PROC SQL 会更好)