首页 > 解决方案 > Power BI DAX:使用 if 语句根据没有值的日期计算变量

问题描述

我对 DAX 有点陌生,我正在努力根据一些变量来计算产品的最终成本价格。

我修复的内容如下:

因此,如果有一个交易的过帐日期的值介于开始日期和结束日期之间,那么可变 CostPriceWithDate 将解决这个问题。

具有日期的产品的最终成本价格在变量 FinalCostPriceWithDate 中计算。

如果列 (Dim_PurchasePrice[EndingDate]) 上没有值(请参阅变量 NoDate),则计算变量 CostPriceWithoutDate。没有日期的产品的最终成本价格在变量 FinalCostPriceWithoutDate 中计算。

要求是:如果 Ending Date 列中没有值(见下图),则使用变量 FinalCostPriceWithoutDate ,否则使用变量 FinalCostPriceWithDate 。

在此处输入图像描述

我的问题是,如果 Ending Date 列中没有数据(见下图),如何返回正确的值(基于下面的 Dax)我认为 Var NoDate 的部分和我的 Return 语句不正确。请帮忙。

亲切的问候

没有结束日期的价格.png

总成本价格产品 =

VAR 日期 =

MAX ( Fact_ValueEntry[PostingDate] )

VAR NoDate =

MIN (Dim_PurchasePrice[EndingDate])

VAR 产品 =

MAX ( Fact_ValueEntry[ItemFK] )

VAR CostPriceWithDate =

CALCULATE (

    MAX ( Dim_PurchasePrice[DirectUnitCost] ),

    Dim_PurchasePrice[ItemFK] = Product,

    Dim_PurchasePrice[StartingDate] < Date,

    Dim_PurchasePrice[EndingDate] >= Date

)

VAR CostPriceWithoutDate =

CALCULATE (

    MAX ( Dim_PurchasePrice[DirectUnitCost] ),

    Dim_PurchasePrice[ItemFK] = Product,

    Dim_PurchasePrice[StartingDate] < Date,

    Dim_PurchasePrice[EndingDate] = NoDate)

VAR CostPriceInk =

CALCULATE (

    max ( Dim_PurchasePrice[DirectUnitCost] ),

    Dim_PurchasePrice[ItemFK] = "INK")

VAR CostPriceGlue =

CALCULATE (

    max ( Dim_PurchasePrice[DirectUnitCost] ),

    Dim_PurchasePrice[ItemFK] = "GLUE")

VAR FinalCostPriceWithDate = CostPriceWithDate + CostPriceInk + CostPriceGlue

VAR FinalCostPriceWithoutDate = CostPriceWithoutDate + CostPriceInk + CostPriceGlue

返回

IF(ISBLANK(无日期),FinalCostPriceWithoutDate,FinalCostPriceWithDate))

标签: variablespowerbidax

解决方案


推荐阅读