【问题标题】:Sum values on date table where one column equals a selected value from another日期表上的总和值,其中一列等于另一列的选定值
【发布时间】:2017-10-09 17:48:10
【问题描述】:

我有一个 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 记录,而不是我预期的所有 whereContinuousBonusPeriod = 'Bonus Period 1' 记录。

【问题讨论】:

    标签: ssas data-warehouse dax ssas-tabular


    【解决方案1】:

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

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

    (注意ALL() 声明)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 2011-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多