Time 功率bi dax-上一季度值?

Time 功率bi dax-上一季度值?,time,powerbi,dax,Time,Powerbi,Dax,我有一个简单的表格,其中包含以下格式的数据: category | score | date cat1 | 3 | 31/3/2019 cat2 | 9 | 31/3/2019 Q1 data cat3 | 7 | 31/3/2019 ... cat1 | 6 | 30/6/2019 cat2 | 4 | 30/6/2019 Q2 data etc. cat3 | 1 | 30/6/2019

我有一个简单的表格,其中包含以下格式的数据:

category | score | date
cat1     |     3 | 31/3/2019
cat2     |     9 | 31/3/2019   Q1 data
cat3     |     7 | 31/3/2019
...
cat1     |     6 | 30/6/2019
cat2     |     4 | 30/6/2019   Q2 data etc.
cat3     |     1 | 30/6/2019
基本上,我有许多行用于季度数据(不同类别的分数),其中日期列引用实际季度。我有一个图表,其中显示了最近一个季度的值(最新数据),但我需要一个列来给出上一个季度的分数。我发现了上一季度的情况,这看起来很简单,但它返回空白

prevQtr = CALCULATE(SUM(data[score]), PREVIOUSQUARTER(data[date]))
有人能告诉我我做错了什么吗?我尝试创建一个日期表,在我的列的第一个和最后一个日期之间有连续的日期,但没有帮助。似乎没有其他时间智能函数返回任何东西,所以我猜它是通用的。我尝试了文档,但没有提到任何限制。我要找的是:

category | score | date      | prevQtr
cat1     |     3 | 31/3/2019 | 
cat2     |     9 | 31/3/2019 |
cat3     |     7 | 31/3/2019 |
...
cat1     |     6 | 30/6/2019 | 3
cat2     |     4 | 30/6/2019 | 9
cat3     |     1 | 30/6/2019 | 7
谢谢

截图:


我建议只使用一种方法来实现这一点,但是。。你的措施:

prevQtr = CALCULATE(SUM(data[score]), PREVIOUSQUARTER(data[date]))
需要参考您的日期表:

prevQtr = CALCULATE(SUM(data[score]), PREVIOUSQUARTER('dateTable'[date]))

这个修改应该可以做到

好的,这里有三件事

  • 您需要为内置的时间智能函数引用日期维度日期列。(注意,这也意味着您应该只使用日期维度中的日期字段。在事实中隐藏'data'[date],这样您就不会尝试使用它。)
  • 由于要将其作为计算列添加,因此必须进行一些额外的上下文操作
  • 因为这里没有日期维度提供的上下文(您只在事实表的行上下文中),所以无法在这里有效地使用内置的时间智能函数
  • 所以!我的建议是将PrevQtr定义为一个度量,而不是一个列,在这种情况下,它将与下面的小重构一起工作:

    PrevQtr =
    CALCULATE (
      SUM ( 'Data'[Score] ),
      PREVIOUSQUARTER ( 'dateTable'[Date] ) // just referencing the date table here
    )
    
    如果您必须为此创建一个计算列,并且您的数据都遵循样本中的模式,即在季度的最后一天有值,那么我认为这是最好的选择:

    PrevQtrColumn =
    VAR CurrentRowDate = 'Data'[Date]
    VAR PriorQuarterEnd = EOMONTH ( CurrentRowDate, -3 )
    RETURN
      CALCULATE (
        SUM ( 'Data'[Score] ),
        ALLEXCEPT ( 'Data', 'Data'[Category] ),
        'Data'[Date] = PriorQuarterEnd
      )
    

    那里的大问题被
    ALLEXCEPT
    所覆盖<代码>计算将所有行上下文转换为筛选上下文,因此您的“数据”[Score]值将成为筛选上下文
    ALLEXCEPT
    清除该选项,仅保留[Category]。

    您是否可以更新以显示1。模型和2中的关系。[prevQtr]代码失败的图表布局(选择图表并截取整个PBI窗口)?带有适当日期维度的度量定义应该可以正常工作。添加了屏幕截图!所有日期列都是日期类型,格式为dd/mm/yyyy。注意:询问者正在将其添加为列。该重构不足以使PrevQtr在列中工作。