我有一个包含如下数据的数据集:
客户 | 发票号码 | 发票日期 | 付款日期 | 付款_天数 | open_flag |
---|---|---|---|---|---|
客户1 | 发票1 | 1/1/24 | 10/1/24 | 9 | 不 |
客户1 | 发票2 | 1/1/24 | 20/1/24 | 19 | 不 |
客户1 | 发票3 | 5/1/24 | 10/1/24 | 5 | 不 |
客户2 | 发票4 | 11/1/24 | 13/1/24 | 2 | 不 |
客户2 | 发票5 | 11/1/24 | 13/1/24 | 2 | 不 |
客户3 | 发票6 | 12/1/24 | 18/1/24 | 6 | 不 |
客户1 | 发票7 | 1/2/24 | 不适用 | 是的 | |
客户2 | 发票8 | 3/2/24 | 不适用 | 是的 | |
客户3 | 发票9 | 4/2/24 | 不适用 | 是的 |
并且我想计算以下列 - 这不应受到任何过滤器选择的影响!
... | **calculated customer avg** | **expected payment date** |
... | ----------------------- | ------------------------- |
... | (9 + 19 + 5) / 3 = 11 | 12/1/24 |
... | (9 + 19 + 5) / 3 = 11 | 12/1/24 |
... | (9 + 19 + 5) / 3 = 11 | 16/1/24 |
... | (2 + 2) / 2 = 2 | 13/1/24 |
... | (2 + 2) / 2 = 2 | 13/1/24 |
... | (6) / 1 = 6 | 18/1/24 |
... | (9 + 19 + 5) / 3 = 11 | 12/2/24 |
... | (2 + 2) / 2 = 2 | 5/2/24 |
... | (6) / 1 = 6 | 10/2/24 |
我的问题是我只能计算平均值。已关闭发票上的天数,但我无法在未结发票上使用这些计算。
我只能在工作表中工作(无权访问数据加载编辑器)。
我想用这个来查看未结发票的预期付款日期,这意味着如果我过滤掉所有已关闭的发票,计算仍应返回一个值。
我只能计算平均值(我已经删除了异常值)。 但这些仅在关闭的行上返回...
= Avg(
IF(
[invoice date] <> [payment date] and SQRT(POW([invoice date] - [payment date],2)) <= 200,
[invoice date] - [payment date],
null()))
谢谢你
如果我答对了你的问题,这个函数应该做你想要的:
Date(invoice_date + Aggr({1} NoDistinct Avg(payment_date-invoice_date), Customer), 'D/M/YY')
即使您过滤掉已关闭的发票,它也会返回
expected_payment_date
,例如:
Aggr()
独立于表对象聚合 payment_days
,并且集合标识符 {1}
会忽略所有选择。
数据加载语句:
Data:
Load Customer,
[Invoice Number],
Date#([Invoice Date], 'D/M/YY') as invoice_date,
Date#([Payment Date], 'D/M/YY') as payment_date,
payment_days,
open_flag
Inline [
Customer, Invoice Number, Invoice Date, Payment Date, payment_days, open_flag
Customer 1, invoice 1, 1/1/24, 10/1/24, 9, no
Customer 1, invoice 2, 1/1/24, 20/1/24, 19, no
Customer 1, invoice 3, 5/1/24, 10/1/24, 5, no
Customer 2, invoice 4, 11/1/24, 13/1/24, 2, no
Customer 2, invoice 5, 11/1/24, 13/1/24, 2, no
Customer 3, invoice 6, 12/1/24, 18/1/24, 6, no
Customer 1, invoice 7, 1/2/24, , , yes
Customer 2, invoice 8, 3/2/24, , , yes
Customer 3, invoice 9, 4/2/24, , , yes
];