问题标签 [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.
sql - 将多列中的数据拆分为行(在 SQL 或 SAS 中)
我有以下形式的数据:
使用 SQL 或 SAS 数据步骤,我想以这种形式获取数据:
这样我就有了跨行的数据。我曾考虑通过遍历城市不是空白的三个城市列来做到这一点,但我不确定如何自信地做到这一点 - 使用 SQL 或 SAS 是否容易完成?只是一个指针将不胜感激。
sas - 在 sas datastep 中复制 sql 函数
嗨,另一个快速问题
在我们用于条件连接的proc sql中是否有类似的sas数据步骤
例如
我们可以在 sas datastep中复制它吗
喜欢
sas - PROC SQL 删除重复的观察对?
我需要删除具有重复对的观察结果(即原始观察结果是重复的)。我有一百多列,但有时对于给定的 ID,我会得到一对不同的 Load_Date 和一对 Contactor 列。当我有如上所述的重复对时,我使用以下代码删除所有情况
:
你能告诉我我的做法是否正确吗?根据描述的数据,我只需要保留 ID 值 C 和 D 的记录。我确实检查了我的输出,看起来它有效,但仍然不确定,因为我是 proc sql 的新手。谢谢!
sql - 获取对应于不同行的值?(过程 sql)
我有一个跨 5 个变量的数据集。第 5 个是标识符变量。最后,我有第 6 个变量,它取决于标识符变量。
标识符变量可以出现在多个位置。对于标识符变量的给定值,因变量永远不会改变。
我有如下代码:
它选择每组 4 个自变量的唯一标识符的数量。我希望在此基础上加上第 6 个变量的总和,如下所示:
这显然不起作用(并且有充分的理由)。在 sql 步骤中找到这个总和的任何干净方法?
sas - SAS中的SQL Group By - 替代方案?
此操作的表如下所示:
我希望前 4 行通过这个语句压缩成一个,并且两个最右边的变量被求和。但是,该声明没有任何效果。输出表看起来像输入表。两个问题: 1. 为什么会这样?在通常的sql中,我很肯定它会起作用。2. 我怎样才能达到预期的效果?
日志:
sql - 与另一个表相比时,根据字段删除记录
我对 SQL 有非常基本的了解,但是为了处理大量数据,我需要使用它。这是我的问题:
我有两张表,如下:
我需要做的是擦除date
小于begin
字段或date
大于end
每个 id 的行。这意味着对于id
101,任何记录的日期都不应在 1996 年之前或 2009 年之后。
所以我的预期结果是:
效率是一个问题,因为我正在为具有数百万条记录的表执行此操作。我已经为这些表准备了一个 sqlfiddle,这样对你来说更容易。
http://sqlfiddle.com/#!2/66f54f/1
如果这个问题太简单了,我很抱歉,但是在搜索了三个小时后,我自己无法解决。先感谢您!
sas - proc sql标准差的置信区间
我的数据集非常简单,只有一个带有比率的列和另一个带有分类变量的列,我需要计算每个类的标准偏差以及置信区间。
SAS(proc SQL)中是否有内置函数来计算标准偏差的置信区间???像excel函数confidence()这样的东西吗?
谢谢!
sql - SAS - 自动更改数据源以提供报告
我目前有一个基于一些内部参数生成完整报告(数据操作、分析、格式化、Excel 输出)的程序。
我想构建一个工具或宏来迭代 6 个数据集,并为每个数据集独立提供报告。
以流程方式:
输入数据 -> 程序操作 -> 报告生成输出
我需要能够即时更改输入数据集。
任何帮助将不胜感激:
仅供参考 - 我尝试过提示,但“数据源”选项不允许我选择新的数据源。
join - LEFT JOIN in SAS using PROC SQL
I am new to SAS and have this basic problem. I have a list of NYSE trading dates in table A as follows -
I have another table B that has share price information as -
... has numeric data related to price and returns.
Now I need to join the NYSE Data table to the above table to get the following table -
i.e. a simple left join. The zero's will be filled with . in SAS to indicate missing values, but you get the idea. But if I use the following command -
The join happens only for the first ID (i.e. ID=1) while for the rest of the IDs, the same data is maintained. But I need to insert the trade dates for all IDs.
How can get the final data without running a do while loop for all IDs? I have 1000 IDs and looping and joining 1000 times is not an option due to limited memory.
sas - SAS proc sql SELECT DISTINCT 无法删除已排序数据集上的重复项
给定以下测试数据:
我知道,如果您不按整个键排序,或者即使您似乎按整个键排序但存在有效的 keep 语句,proc sort 可能会出现意外行为:
对我来说新的是,尝试使用 PROC SQL 对生成的非实际重复数据删除数据集进行重复数据删除也无法删除重复项:
这是在某处记录的错误还是我做错了什么?