【问题标题】:How to pivot up data by summing values?如何通过对值求和来向上旋转数据?
【发布时间】:2016-03-27 11:13:39
【问题描述】:

我有一个数据集如下。我需要打印 2 个数据集 - 一个用于欧盟,另一个用于美国,这样我在行中有唯一的 ID,每个 ID 的销售额是销售额的总和。(例如,对于 ID 1,销售额将为 1200+1500,对于ID 4 的销售额将是 3000+9000)。有人可以建议一些过程或获得这个的捷径吗?

     ID Country Sales
     1  EU      1200
     2  US      1000
     1  EU      1500
     3  EU      2000
     4  US      3000
     4  US      9000

【问题讨论】:

  • ID 是否可以在一条记录的 Country='EU' 和另一条记录的 Country='US' 的数据中?
  • 您想区分每个国家和每个 ID 的总销售额吗?如果是这样,我将编辑我的答案。
  • 是的,每个国家/地区的数据都应该有唯一的 ID,但 1 个 ID 可以存在于多个国家/地区

标签: sas


【解决方案1】:

使用包含 group by 语句的 proc sql 应该很容易:

  proc sql;
  create table work.sales_by_id as (
    select ID, country, sum( sales ) as total_sales
    from input_data
    group by ID, country 
  ) 
  quit;

编辑:添加了按国家/地区分组,因为我认为这是您想要的

【讨论】:

    猜你喜欢
    • 2015-12-05
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 2021-10-27
    相关资源
    最近更新 更多