首页 文章

不同的周数,其中总和大于0 PowerPivot

提问于
浏览
0

我有一个表符合以下条件 . 多个项目有多个周结束 . 小时/成本列可以是正数或负数,并且是相关的(正小时/正成本) . 如果项目有任何成本(或 - ),我可以得到一个截止日期的项目,但我希望只有在小时数或成本总和为正时才能得到明确的计数 .

由于收费可以是 - 或者 - 并且可能在一周结束时取消,如果计算一周的总和为0,这将改变我的平均公式 .

我正在尝试构建一个计算字段,我可以将其添加到我的Pivot表中,该表列出了按Project过滤的实际收费周数 . 在样本中,有4个唯一日期,总和大于0,但我当前的公式给出了7个独特的日期,忽略了正数 .

WeekEndDate |项目|小时|成本

Sample Data

+---------------+---------+--------+-------------+
| 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     |
+---------------+---------+--------+-------------+

1 回答

  • 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 .

    enter image description here

相关问题