【问题标题】:SAS proc SQL programming left join and duplicationsSAS proc SQL 编程左连接和重复
【发布时间】:2017-08-09 19:52:16
【问题描述】:

我正在尝试加入 20 个不同的表(每个月一个表),它们具有下一列,所有表都有相同的列:

Date|ID_contract|product type|Area|Balance

使用sql的left join后(我想看看各个合约余额的演变)我看到有些产品是重复的。 重复合同的原因是在某些日期,在某些表格中,相同的产品出现了不止一次。比如在表a27022017中:

-   Date         ID_contract        Product type      Area      Balance
- 27/02/2017      F123                dividend       Spain        4.587
- 27/02/2017      F123                dividend       Spain       -1.267
- 27/02/2017      F123                dividend       Spain        1.267

因此,在加入表格之前,我想将每个合同的余额加起来只有一个 ID_contract,而不是获得重复。我该怎么做?对不起,我是 SAS 新手。 非常感谢。

【问题讨论】:

  • 请提供样本数据
  • 在 SQL 中你可以使用 group by,但在 SAS 中,我不确定。
  • 您的数据集是否已经排序?如果是,由哪些变量决定?
  • 数据集按 id_contract 排序

标签: sql-server join sas


【解决方案1】:

您可以只使用 SQL 的 SUM 运算符:

SELECT Date, ID_contract, [Product type], Area, SUM(Balance) FROM      
GROUP BY Date, ID_contract, [Product type], Area

【讨论】:

    猜你喜欢
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多