sas - SAS 数据转换
问题描述
有人可以帮助将此 PROC SQL 代码转换为数据步骤吗?我希望数据步骤会快得多。我从 SAS-EG 生成了这段代码,所以我还不够熟练。
谢谢杰夫
PROC SQL;
CREATE TABLE WORK.'APPAREL NEWNESS 01'n AS
SELECT DISTINCT t2.outletfamily AS outletfamily,
t2.itemid,
t2.itemnumberunsuppressed AS itemnumber_unsuppressed,
t2.ppmonth,
/* Dollars */
(SUM(t2.totalvalue)) FORMAT=DOLLAR20. AS Dollars,
/* Units */
(SUM(t2.unitssold)) FORMAT=COMMA20. AS Units,
/* Proj Dollars */
(SUM(t2.proj_totalvalue)) FORMAT=DOLLAR20. AS 'Proj Dollars'n,
/* Proj Units */
(SUM(t2.proj_unitssold)) FORMAT=COMMA20. AS 'Proj Units'n
FROM APLSWP.vw_aplmlwk_fact_nat_nc_uns t2
GROUP BY t2.outletfamily,
t2.itemid,
t2.itemnumberunsuppressed,
t2.ppmonth;
QUIT;
解决方案
GROUP BY
和的功能SUM
在proc summary
或类似中可用,但更丰富proc means
。不幸的是,我没有可用的 SAS 许可证,因此无法为您提供代码。proc means
在此处查找您的问题已解决的示例。- 使用 时
GROUP BY var1, var2, var3, var4
,该过程会生成 var1、var2、var3 和 var4 值的不同组合。该关键字DISTINCT
是不必要的。 - 性能可能会受到数据所在位置与运行查询的位置的影响。如果查询在外部数据库(例如 Oracle)中,您可能会受益于查看所谓的“传递工具”。这允许 SAS 代码直接在数据库中运行,并利用其索引、统计信息和所有使数据库变得强大的数据库功能。
推荐阅读
- python - 使用 PyInstaller 冻结带有子命令的 Python `click` 应用程序
- ios - YPDrawSignatureView - TableView 单元格重复
- grails - Grails login.gsp 不存在
- javascript - 如何找到应用程序已停止的错误反应本机
- java - Java 从不同的项目导入一个类但具有相同的包名
- load-balancing - 如何在 Nifi 中配置连接,使公共属性的数据流到同一个节点集群 Nifi 环境
- c++ - 在 Windows 和非管理员用户上使用 C++ 的 libcurl
- leaflet - 将存储在 Semantic MediaWiki 子对象中的坐标传递给 Leaflet 地图
- sql-server - 如何在 CloudFoundry 中安装 MSSQL 驱动程序?
- json - 我如何只显示每个数据而不用不同的 laravel 重复?