使用SQL 2008 R2和在Excel中使用我的Q数据数据透视图(喜悦)!所以我不能删除/过滤任何数据,只能添加到新的列中:日期具体计算sql
month user target
1 001 1000
1 001 1000
1 002 2000
1 001 1000
2 002 2000
2 002 2000
3 002 2000
3 002 2000
4 002 2000
我想应该是这样的内容:
month user target New col
1 001 1000 1000
1 001 1000 0
1 002 2000 2000
1 001 1000 0
2 002 2000 2000
2 001 2000 1000
3 002 2000 2000
3 002 2000 0
3 002 2000 0
3 001 2000 1000
4 002 2000 2000
4 001 1000 1000
所以基本上我希望每个用户的目标只有一个新的一个月的第一个实例显示,然后显示“0”为每个实例此后一个月。这个查询需要一个年度目标,并将其除以12来获得每月的水平。在我的示例中,用户001的目标金额将是“新上限”而不是“目标”列的总和,因为计算年度/ 12时,它只是将该金额存入任何存在用户记录的位置并汇总该列远远超过实际目标。
所以这就是说,对于每个月,用户001的每月目标为1000,而用户002的每月目标为2000.这就是为什么我无法总结目标列。
为什么我需要这种格式?因为这些数据在其他数据的excel中被用在数据透视图中,我需要将它汇总并汇总为excel中的总计。所以我不想总结'目标专栏',而是总结'新专栏',然后当我看到所有员工在我的关键点上时,它总计了这些员工的目标,当我深入到个人,它只显示我个人的目标。
这让我难以忍受的搜索遍布网路的日子,没有快乐。如果有人真的试图帮助我,但是我想问/想要让我困惑,我会在这里更新/编辑任何需要的东西。这将是如此巨大,如果我能得到这个解决!
什么专栏告诉你,如果“实例”是第一个? – Lamak
如果您的约束条件允许使用临时表,您可能会发现在两个或更多遍中执行操作更容易:首先通过SELECT DISTINCT month,user,target,second pass来添加其他行,例如 – Angst
所以我在想Row_Count()或者我有一个唯一的col,我们可以调用ROWID,它是增量式的,也可以使用。我可以使用与't1'形式的临时表作为(选择.....) – user3486773