Ssas DAX公式从同一表中的筛选行获取字段

Ssas DAX公式从同一表中的筛选行获取字段,ssas,powerpivot,dax,ssas-tabular,Ssas,Powerpivot,Dax,Ssas Tabular,使用SSAS表格或Excel PowerPivot,我正在寻找一个DAX公式来实现以下目标: 我有一个包含3个主要列的交易表:日期、类型和金额 类型可以是:“销售”或“付款” 我需要的是获得新的计算字段,即每次销售的“付款日期”,因此我的公式应该如下所示: 首先计算(日期)、筛选(type='payment')、筛选(currentrow(日期)在计算列中使用以下表达式: =IF ( 'table'[Type] = "Payment", BLANK (), CALCULA

使用SSAS表格或Excel PowerPivot,我正在寻找一个DAX公式来实现以下目标:

我有一个包含3个主要列的交易表:日期、类型和金额

类型可以是:“销售”或“付款”

我需要的是获得新的计算字段,即每次销售的“付款日期”,因此我的公式应该如下所示:


首先计算(日期)、筛选(type='payment')、筛选(currentrow(日期)在计算列中使用以下表达式:

=IF (
    'table'[Type] = "Payment",
    BLANK (),
    CALCULATE (
        MIN ( [Date] ),
        FILTER (
            'table',
            'table'[Date] > EARLIER ( 'table'[Date] )
                && 'table'[Type] = "Payment"
        )
    )
)
在您的示例数据中有一个错误,
31/02/2016
不是有效日期。我将其替换为
29/02/2016
,结果是:


让我知道这是否有帮助。

为了帮助您,您可以在计算列中添加示例数据和预期结果。
付款日期
是类型付款的下一个日期,对吗?我有更多像Customer这样的过滤器,但当然,我想类型付款的下一个日期可以完成这项工作
=IF (
    'table'[Type] = "Payment",
    BLANK (),
    CALCULATE (
        MIN ( [Date] ),
        FILTER (
            'table',
            'table'[Date] > EARLIER ( 'table'[Date] )
                && 'table'[Type] = "Payment"
        )
    )
)