DAX不包括超出合同日期的资产

时间:2019-06-27 16:54:55

标签: azure powerbi dax

我正在尝试创建一种措施,对所有资产的发票总额进行总计,但不包括合同已过期的资产。表格看起来像这样:

服务数据:

Invoice Amount
Asset Key
Invoice Date

资产数据:

Asset Key 
Contract Start Date
Contract End Date

我还在使用附加到仪表板主页上的切片器的日期表。我希望能够在切片器上选择一个日期范围,并限制相对于在切片器上选择的日期范围的资产发票包含在总计中。

这是我到目前为止所尝试的:

NewISA = 
    var enddate = MIN(F_Service_Invoice_Summary[Invoice_Date])
    Return
    IF(
        enddate <= F_Asset[End_Date], 
        SUM(F_Service_Invoice_Summary[Invoice_Segment_Amount]), 
        0)

1 个答案:

答案 0 :(得分:0)

假定AssetKey字段上的ServiceData和AssetData之间具有关系,并且InvoiceDate字段上的DateTable和ServiceData表之间具有关系,则以下公式应该起作用:

 Total Invoiced Active Contracts =
 CALCULATE (
     SUM ( ServiceData[Invoice Amount] ),
     FILTER (
         AssetData,
         AssetData[Contract Start Date] <= MIN ( DateTable[Date] )
             && AssetData[Contract EndDate] > MAX ( DateTable[Date] )
     )
 )

我们可以使用MIN(datetable [date])和MAX(datetable [date])来确定在日期表中过滤的时间间隔,以便仅选择在整个期间内处于活动状态的合同。请记住,如果不选择时间间隔,该公式将仅返回在日期表中第一个日期之前开始并在日期表中的最后一个日期之后结束的合同。