如何使用DATEDIFF()在RELATEDTABLE列的过滤行上创建计算列?

时间:2019-08-22 12:48:51

标签: powerbi dax

我有三个表:

Tickets
-------
description
status(fk)
create_date


Status
--------
id
name
create_date


Ticket Status History
---------------------
id
status(fk)
create_date

门票与Ticket Status History有一对多的关系。我想在故障单中创建一个计算列,以显示“故障单[create_date]和“故障单状态历史” [create_date]之间的天数,其中“故障单状态历史” [status] =1。

我正在使用Power BI Desktop从这些表中生成报告。 我已经将数据从数据库提取到Power BI中。我已经尝试过使用DATEDIFF,但是我一直在“无法找到create_date”,即“票务状态记录”中的那个

ApprovedDays = 
  DATEDIFF(
  'Tickets'[create_date],
    MAX(
        FILTER(
        RELATEDTABLE('Ticket Status History'), 
        'Ticket Status History'[status] = 1),
        'Ticket Status History'[create_date]
      ),
      DAY
      )

我是DAX的新手,似乎无法将代码组合在一起以产生此效果。请帮忙。

1 个答案:

答案 0 :(得分:0)

以下公式可以解决问题:

Approved Days = IF('Ticket Status History'[status]=1,DATEDIFF(RELATED(Tickets[Create_date]),'Ticket Status History'[create_date],DAY),0)