1

我有下表,tbl_Episodes(10K 记录):

       ClientID       AdmDate    DischDate
            54      9/20/2013    5/28/2015
            63      3/07/2013    4/12/2014 
            75      4/07/2014   12/31/2050
            .              .            .
            .              .            .

我需要创建一个计算列,它将计算 AdmDate(患者入院日期)和 DischDate(患者出院日期)之间的季度数(3 个月)

我正在使用以下 DAX 表达式:

       # Quarters= Datediff('tbl_Episodes'[AdmDate], 
                            'tbl_Episode'[DischDate],QUARTER)

但如果 DischDate = 12/31/2050,我需要排除计算

我希望我的结果为:

      ClientID       AdmDate    DischDate   #Quarters
            54      9/20/2013    5/28/2015         6
            63      3/07/2013    4/12/2014         4 
            75      4/07/2014   12/31/2050         0   (or blank would work)
             .             .            .          .
             .             .            .          .
4

1 回答 1

1

一个解决方案是使用 IF 函数添加一个测试,如果条件为假,它将返回 BLANK(),如果条件为真,则返回 DATEDIFF 的结果。这种情况下的条件是 DischDate 与 2050 年 12 月 31 日不同

# Quarters =
IF(
    'tbl_Episode'[DischDate] <> VALUE("2050-12-31"),
    DATEDIFF(
        'tbl_Episodes'[AdmDate],
        'tbl_Episode'[DischDate],
        QUARTER
    )
)

编辑:添加了评论中正确指出的“价值”

于 2020-12-16T13:18:15.933 回答