我有一个基于InvoiceAccountLines的事实表。在此表中,有来自InvoiceHead的字段(例如InvoiceDate,DueDate,Supplier等),这些字段对于同一InvoiceHead中的所有InvoiceAccountLines都是相同的。
简化示例:
HeadID // LineID // Amount // InvoiceDate // DueDate
1 // 1 // 12 // 2019-01-01 // 2019-01-15
1 // 2 // 67 // 2019-01-01 // 2019-01-15
2 // 3 // 56 // 2019-02-01 // 2019-02-28
3 // 4 // 5 // 2019-03-01 // 2019-03-31
3 // 5 // 155 // 2019-03-01 // 2019-03-31
3 // 6 // 99 // 2019-03-01 // 2019-03-31
3 // 7 // 55 // 2019-03-01 // 2019-03-31
我现在要计算每个InvoiceHead的平均PaymentTerm。
HeadId 1 = 14 days
HeadId 2 = 27 days
HeadId 3 = 30 days
Average = (14+27+30)/3 = 23,7 days
问题是我无法构造一个措施来考虑每个InvoiceHead的InvoiceAccountLines数量不同。定义分母不是问题(DISTINCT(InvoiceHeadID)),但是如何正确定义分子?