对日期 table 的值求和,其中一列等于另一列的选定值

Sum values on date table where one column equals a selected value from another

我有一个 DimDate table,它有一个 Billable Day Portion 字段,可以在 0 和 1 之间。对于当前 Bonus Period 中的每一天,我想将该天部分乘以 10,然后 return 总和。

为了找出我们所在的 Bonus Period,我 return ContinuousBonusPeriod 日期等于今天:

Current Continuous Bonus Period:= CALCULATE(MAX(DimDate[ContinuousBonusPeriod]), FILTER(DimDate, DimDate[DateKey] = TODAY())) 

我可以在测量显示中看到这正确地返回为 Bonus Period 1。但是,当我随后在度量中使用 ContinuousBonusPeriod 来确定当前期间的天数时,它只是 returns 10, 1 天乘以静态 10.

Billable Hours This Period:= CALCULATE(SUMX(DimDate, DimDate[Billable Day Portion] * 10), FILTER(DimDate, DimDate[ContinuousBonusPeriod] = [Current Continuous Bonus Period]))

它似乎只计算今天的 DimDate 记录,而不是我预期的 ContinuousBonusPeriod = 'Bonus Period 1' 所在的所有记录。

我需要确保在计算当前连续奖金期时没有将现有过滤器应用于 DimDate table:

Current Continuous Bonus Period:= CALCULATE(MAX(DimDate[ContinuousBonusPeriod]), FILTER(ALL(DimDate), DimDate[DateKey] = TODAY()))

(注意 ALL() 语句)