DAX 公式从同一 table 中的筛选行获取字段
DAX Formula to get field from a filtered row in the same table
使用 SSAS 表格或 Excel PowerPivot,我正在寻找一个 DAX 公式来实现以下目标:
我有一笔交易 table,其中包含 3 个主要列:日期、类型和金额
类型可以是:'Sale' 或 'Payment'。
我需要的是获取我的新计算字段,即每次销售的 "Payment date",因此我的公式应如下所示:
首先计算(日期),过滤器(类型='payment'),过滤器(当前行(日期)<=付款(日期)))
需要一些帮助来找到正确的日期过滤器。同样重要的是,我只找到 类型为 'Payment' 的第一个 交易,因为可以有进一步的交易。
示例数据: PaymentDate 是我的计算字段
Type Date Amount PaymentDate
Sale 01/01/2016 100 31/02/2016
Sale 01/02/2016 100 31/02/2016
Sale 01/03/2016 100 31/05/2016
Payment 31/02/2016 200 Empty
Sale 01/04/2016 100 31/05/2016
Sale 01/05/2016 100 31/05/2016
Payment 31/05/2016 300 Empty
Sale 01/06/2016 100 Empty
在计算列中使用以下表达式:
=IF (
'table'[Type] = "Payment",
BLANK (),
CALCULATE (
MIN ( [Date] ),
FILTER (
'table',
'table'[Date] > EARLIER ( 'table'[Date] )
&& 'table'[Type] = "Payment"
)
)
)
您的示例数据中存在错误,31/02/2016
不是有效日期。我用29/02/2016
代替了,结果是:
如果有帮助请告诉我。
使用 SSAS 表格或 Excel PowerPivot,我正在寻找一个 DAX 公式来实现以下目标:
我有一笔交易 table,其中包含 3 个主要列:日期、类型和金额
类型可以是:'Sale' 或 'Payment'。
我需要的是获取我的新计算字段,即每次销售的 "Payment date",因此我的公式应如下所示:
首先计算(日期),过滤器(类型='payment'),过滤器(当前行(日期)<=付款(日期)))
需要一些帮助来找到正确的日期过滤器。同样重要的是,我只找到 类型为 'Payment' 的第一个 交易,因为可以有进一步的交易。
示例数据: PaymentDate 是我的计算字段
Type Date Amount PaymentDate
Sale 01/01/2016 100 31/02/2016
Sale 01/02/2016 100 31/02/2016
Sale 01/03/2016 100 31/05/2016
Payment 31/02/2016 200 Empty
Sale 01/04/2016 100 31/05/2016
Sale 01/05/2016 100 31/05/2016
Payment 31/05/2016 300 Empty
Sale 01/06/2016 100 Empty
在计算列中使用以下表达式:
=IF (
'table'[Type] = "Payment",
BLANK (),
CALCULATE (
MIN ( [Date] ),
FILTER (
'table',
'table'[Date] > EARLIER ( 'table'[Date] )
&& 'table'[Type] = "Payment"
)
)
)
您的示例数据中存在错误,31/02/2016
不是有效日期。我用29/02/2016
代替了,结果是:
如果有帮助请告诉我。