我有一个包含以下条件的表。多个项目有多个周结束。小时/成本列可以是正数或负数,并且是相关的(正小时/正成本)。如果有任何成本(+或 - ),我可以得到一个截止日期的项目,但我希望只有在小时数或成本总和为正数时才能得到明确的计数。
由于收费可以是+或 - ,并且可能在一周结束时取消,这将改变我的平均公式,如果计算一周的总和为0.
我正在尝试构建一个计算字段,我可以将其添加到我的Pivot表中,该表列出了按Project过滤的实际收费周数。在样本中,有4个唯一日期,总和大于0,但我目前的公式给出了7个独特的日期,无论正数和。
WeekEndDate |项目|小时|成本
+---------------+---------+--------+-------------+
| WeekEndDate | Project | Hours | Cost |
+---------------+---------+--------+-------------+
| 10/7/16 | C7119A | 2.00 | $122.00 |
| 10/7/16 | C7119A | 32.00 | $1,952.00 |
| 10/7/16 | C7119A | 1.50 | $91.50 |
| 10/7/16 | C7119A | -32.00 | ($1,952.00) |
| 10/14/16 | C7119A | 10.00 | $610.00 |
| 10/14/16 | C7119A | -10.00 | ($610.00) |
| 10/21/16 | C7119A | 19.50 | $1,189.50 |
| 10/21/16 | C7119A | -19.50 | ($1,189.50) |
| 10/28/16 | C7119A | 2.00 | $122.00 |
| 10/28/16 | C7119A | 3.00 | $183.00 |
| 10/28/16 | C7119A | -3.00 | ($183.00) |
| 10/28/16 | C7119A | -2.00 | ($122.00) |
| 11/4/16 | C7119A | 1.00 | $61.00 |
| 11/11/16 | C7119A | 3.50 | $213.50 |
| 1/13/17 | C7119A | 3.00 | $183.00 |
+---------------+---------+--------+-------------+
答案 0 :(得分:0)
您可以使用SUMMARIZE()执行此操作。
首先创建一个计算列,以便在项目/周组合中获得不同的ID:
ProjectWeek =CONCATENATE([Project],[Week End Date])
然后创建一个计算的度量来计算周数为正的小时数:
Positive Project Weeks:= COUNTROWS(Filter(ADDCOLUMNS(
SUMMARIZE('Project Costs','Project Costs'[Week End Date]),
"WeekSum", MAXX(Values('Project Costs'[ProjectWeek]),
CALCULATE(Sum([Hours]),ALL('Project Costs'[Hours])))),
[WeekSum] >0))
SUMMARIZE创建一个包含不同WeekEndDate值的表。 ADDCOLUMNS在该表中创建一个列,显示该WeekEndDate的小时数。 过滤器删除虚拟表中小于或等于0的小时数的行。 然后,Countrows计算表中剩余的行数,该行等于结束日期的不同计数。
如果您没有为ProjectWeek创建计算列,而是在MAXX(VALUES())函数中使用WeekEndDate,那么您将获得总计7而不是4。