日期表上的总和值,其中一列等于另一列的选定值

时间:2017-10-09 17:48:11

标签: ssas data-warehouse dax ssas-tabular

我有一个DimDate表格,其Billable Day Portion字段可以介于0和1之间。对于当前Bonus Period中每天我希望复数的那一天日部分由10,然后返还总金额。

要找出我们所处的Bonus Period,我会返回ContinuousBonusPeriod,其中日期等于今天:

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

我可以在度量显示中看到这是正确的回复Bonus Period 1。但是,当我在度量中使用ContinuousBonusPeriod来确定当前时段的天数时,它只返回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'记录。

1 个答案:

答案 0 :(得分:0)

在计算当前持续红利期时,我需要确保没有现有的过滤器应用于DimDate表:

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

(请注意ALL()声明)