首页
学习
活动
专区
圈层
工具
发布

总结值
EN

Stack Overflow用户
提问于 2018-12-09 23:40:09
回答 2查看 31关注 0票数 0

表格模型。表'Historic One Hour Value‘包含多个日期项目工作时间的小时值(如价格)。它只连接到项目表,而不连接到日期表。

我正在尝试计算小时的值。对于我的问题,假设每个项目只有一个小时。我得到了每个项目的正确答案,但总数是一个非常大的数字,我不明白。

我将感谢你的帮助。

代码语言:javascript
复制
One Hour Value On Date :=
VAR OneHourValueOnStartDate =
    FILTER (
        'Historic Project One Hour Value',
        'Historic Project One Hour Value'[HistoricOneHourValueBeginDate]
            = DATE ( 2016, 12, 31 )
    )
VAR OneHourValueOnStartDateForOneProject =
    1
        * /*Actually, I multiply the working hours of the project, but this number is correct */
        CALCULATE (
            SUM ( 'Historic Project One Hour Value'[HistoricOneHourValue] ),
            OneHourValueOnStartDate
        )
RETURN
    IF (
        HASONEVALUE ( Projects[Project ID] ),
        CALCULATE ( OneHourValueOnStartDateForOneProject ),
        CALCULATE (
            SUMX ( VALUES ( Hours[HoursProjectID] ), OneHourValueOnStartDateForOneProject )
        )
    )
EN

回答 2

Stack Overflow用户

发布于 2018-12-10 05:07:00

变量OneHourValueOnStartDateForOneProject是一个常量(而不是一个度量),所以在合计中发生的情况是,这个值给出了VAR计算部分中所有Project ID值的总和。

在此基础上,您的SUMX将该常量值相加的次数与不同的HoursProjectID相同。

票数 1
EN

Stack Overflow用户

发布于 2018-12-11 18:50:54

Alexis Olson回答后的正确代码:

代码语言:javascript
复制
One Hour Value On Date:=
VAR OneHourValueOnStartDate =
FILTER (
'Historic Project One Hour Value',
'Historic Project One Hour Value'[HistoricOneHourValueBeginDate]
            = date(2016,12,31)    
)
VAR OneHourValueOnStartDateForOneProject =
1 *   /*Actually, I multiply the working hours of the project, but this number is correct */
CALCULATE (
SUM( 'Historic Project One Hour Value'[HistoricOneHourValue] ),
        OneHourValueOnStartDate
        )
RETURN
IF (
HASONEVALUE ( Projects[Project ID] ),
 CALCULATE ( OneHourValueOnStartDateForOneProject ),
CALCULATE (
  SUMX (
                Values ( Hours[HoursProjectID] ),
                1
      * CALCULATE (
                        MAX ( 'Historic Project One Hour Value'[HistoricOneHourValue] ),
                        FILTER (
                            OneHourValueOnStartDate,
                            'Historic Project One Hour Value'[HistoricOneHourValueProjectID]
                            = EARLIER ( 'Hours'[HoursProjectID] )
                        )
                    )
            )

        )
    )

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53693911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档