作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有石油运输的数据,我需要创建这些贸易流(按国家和地区划分的来源地)。例如,汇总从沙特阿拉伯、阿拉伯湾到美国、美国湾的所有 cargo 。
我可以使用 proc tabulate 来做到这一点,但我想创建一个变量。我的变量是:LoadCountry、LoadArea、DischargeCountry、DischargeArea。此外,如果区域不同,则 LoadCountry 或 DischargeCountry 可以多次列出,因此不同的流包括所有四个变量。
我应该能够使用 PROC SQL,但我不知道如何对多个变量进行 GROUP BY 来创建聚合总和:
proc sql;
title 'LoadCountry-LoadArea-DischargeCountry-DischargeArea Trade flows';
create table data.TradeFlow as
select LoadCountry, LoadArea, DischargeCountry, DischargeArea,
sum(CargoSize) as TotalCargo
from data.allvars1
Group by LoadCountry
Order by LoadCountry, DischargeCountry;
quit;
最佳答案
如果我理解正确,你就快到了...只需将其他三个变量添加到您的 GROUP BY 子句中:
proc sql;
title 'LoadCountry-LoadArea-DischargeCountry-DischargeArea Trade flows';
create table data.TradeFlow as
select LoadCountry, LoadArea, DischargeCountry, DischargeArea,
sum(CargoSize) as TotalCargo
from data.allvars1
Group by LoadCountry, LoadArea, DischargeCountry, DischargeArea
Order by LoadCountry, DischargeCountry;
quit;
关于sql - SAS:您如何将双向表转换为实际变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9069361/
我是一名优秀的程序员,十分优秀!