Power BI-计算客户的过期欠款

时间:2020-01-05 20:59:28

标签: powerbi mdx dax powerbi-desktop

我正在尝试计算正在运行的客户过期余额(不是已经在运行的客户余额)。我想看看随着时间的推移,客户逾期未付的余额是多少,今天不是必须的。我想查看上个月,2个月前,3个月前等每个客户的逾期情况

示例数据为:

Cust_Transactions

Account Amount  Created     Due         Closed
100000  226.67  01/09/2018  01/10/2018  15/12/2018
100000  125.00  11/11/2018  11/12/2018  18/02/2019
100000  550.35  01/01/2019  01/02/2019  15/05/2019
100000  250.55  09/03/2019  09/04/2019  19/05/2019
100000  655.00  05/04/2019  05/06/2019  

我需要计算的是:

DateTable.Date  Overdue
31/01/2019      125.00
28/02/2019      550.35
31/03/2019      550.35
30/04/2019      800.90
31/05/2019      0.00
30/06/2019      655.00
31/07/2019      655.00
31/08/2019      655.00
30/09/2019      655.00
31/10/2019      655.00
30/11/2019      655.00
31/12/2019      655.00

因此,在任何给定的Datetable.Date上,我需要查看所有客户/特定筛选客户的逾期余额。如果满足以下条件,则交易过期:

Datetable.Date大于截止日期,但小于截止日期

Datetable.Date大于截止日期,并且关闭日期为空

有人可以帮忙吗?多年来一直困扰着我

非常感谢您的所有帮助

2 个答案:

答案 0 :(得分:0)

我认为这就是您想要的。

Overdue = 
VAR MaxDate = MAX ( DateTable[Date] )
RETURN SUMX (
    Cust_Transactions,
    IF (
        (Cust_Transactions[Due] < MaxDate && Cust_Transactions[Closed] > MaxDate)
        || (Cust_Transactions[Due] < MaxDate && ISBLANK ( Cust_Transactions[Closed] ) ),
        Cust_Transactions[Amount]
    )
)

答案 1 :(得分:0)

我在其他论坛上发现了这个

CALCULATE(sumx(FILTER(Cust_Transactions[Due]<=max(DateTable[Date]) 
&& (isblank(Cust_Transactions[Closed]) || 
Cust_Transactions[Closed]>max(DateTable[Date]))),Cust_Transactions[Amount]))+0

可以解决问题