首页 文章

总结 Value 观

提问于
浏览
0

表格模型 . “历史项目一小时 Value ”表包含几个日期项目工作时间的小时值(如价格) . 它仅连接到项目表,但不连接到日期表 .

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

我将非常感谢你的帮助 .

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

2 回答

  • 1

    变量 OneHourValueOnStartDateForOneProject 是一个常量(不是度量),所以你的总数中发生的是这个值给出了 VAR 计算部分中所有 Project ID 值的总和 .

    从那里,你的 SUMX 将该常数值与不同的 HoursProjectID 相同的次数相加 .

  • 0

    Alexis Olson回答后的正确代码:

    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] )
                            )
                        )
                )
    
            )
        )
    

    谢谢

相关问题