【发布时间】:2014-10-11 17:58:18
【问题描述】:
我有以下表格
订单:
OrderID|Cost|Quarter|User
-------------------------
1 | 10 | 1 | 1
2 | 15 | 1 | 2
3 | 3 | 2 | 1
4 | 5 | 3 | 3
5 | 8 | 4 | 2
6 | 9 | 2 | 3
7 | 6 | 3 | 3
目标:
UserID|Name |Goal|Quarter|Sum
-----------------------------
1 |John | 20 | 1 | x
1 |John | 15 | 2 | x
2 |Bob | 12 | 2 | x
2 |Bob | 15 | 3 | x
3 |Homer| 5 | 3 | x
3 |Homer| 7 | 4 | x
现在我要做的是在第二个表中汇总所有具有当前行中的 UserID 并且在当前行季度中的订单。
我的第一次尝试是:
=CALCULATE(sum(Orders[Cost]);Orders[Quarter]=[Quarter];Orders[User]=[UserID])
结果应该是:
UserID|Name |Goal|Quarter|Sum
-----------------------------
1 |John | 20 | 1 | 10
1 |John | 15 | 2 | 3
2 |Bob | 12 | 2 | 15
2 |Bob | 15 | 3 | 8
3 |Homer| 5 | 3 | 11
3 |Homer| 7 | 4 | 0
但在这里我得到了错误:Column "User ID" cannot be found or may not be used in this expression.
为了尝试一些东西,我使用了固定值:
=CALCULATE(sum(Orders[Cost]);Orders[Quarter]=2;Orders[User]=1)
这不会导致错误消息,但也不能完全正常工作。我现在明白了
UserID|...|Sum
1 |...| 3
1 |...| 3
2 |...|
2 |...|
3 |...|
3 |...|
FYI: the empty space in SUM is really empty.
如果我执行以下操作,那就太疯狂了:
=CALCULATE(sum(Orders[Cost]);Orders[Quarter]=2;Orders[User]=Orders[User])
我明白了:
UserID|...|Sum
1 |...| 3
1 |...| 3
2 |...|
2 |...|
3 |...| 11
3 |...| 11
这几乎是我想要的。但我不明白,为什么有些细胞在工作。
有什么方法可以让我按我的意愿工作吗?
【问题讨论】:
标签: sql excel powerpivot