【发布时间】:2020-02-18 12:07:02
【问题描述】:
我正在尝试在 excel 中创建一些伪代码逻辑,以便在 Alteryx/SAS/Python 中实现,但我无法理解这些逻辑。
我有以下虚拟交易的借方和贷方,我正在尝试计算每笔交易的逾期天数 (DPD)。在现实世界中,我们也会有交易日期。
问题的简单版本:D 列和 E 列是我的输入。 G列是我的目标。 H是我们目前做的,这是不正确的。
我们当前的实现将这些数据重新连接到自身,因此我们能够识别最旧的未付借记交易 - 但未来的实现不能使用这种逻辑,因为它与我们的数据的连接太大。
我正在尝试一种更有效的方法。一种想法是获取最后 X 次借方金额,并查看累计未付金额是否大于最后 1、2、3、4... 借方的总和。我们不关心的任何 >5 次借记(因为它们会 >90DPD,这是我们需要的最多信息)。
这是我正在尝试的:
我试图在 5 列 (Q--U) 中获取最后一个借记金额(和滞后版本),但我没有走得太远。
【问题讨论】:
-
当有部分信用支付时应该发生什么?数据是否按客户 ID 和交易日期 (day) 预先排序?客户 ID 的最大交易数(最大 N)是多少? _temporary_ 数组可用于跟踪状态,如果假定 N 很大,或者如果动态/未知 N 将成为实现的一部分,则可以使用散列。
-
部分付款意味着借方仍到期。数据是按客户 ID 和交易日期预先排序的,是的。目前我只是想让伪代码版本在没有任何 VBA(只是列)的情况下在 excel 中工作。
-
请以文本形式发布数据。图片并不是特别有用,尤其是在它们很小的时候。
-
你有 SAS/OR 许可吗?
-
我猜你有几个可用的包给你标签。在 Alteryx 中,它将是多行公式和运行总计的组合。理想的情况是通过迭代宏。
标签: excel python-3.x sas fifo alteryx