【发布时间】:2021-07-22 00:55:16
【问题描述】:
我有一张这样的桌子
Account Open Close
1 01/01/2018 01/01/2019
2 01/01/2018 01/01/2020
3 01/01/2019 01/01/2021
4 01/01/2021
5 01/01/2019 01/01/2020
我有兴趣计算每年年底仍然活跃的帐户数量:
Year Count
2018 2
2019 3
2020 1
2021 1
我不确定这是否可以从Account 表本身推导出来,因此我创建了一个日期跨度多年的日期表。我添加了一个类似的列
active_accounts = countrows ( Accounts, FILTER ( Accounts[Open] >= Date_table[Date] && Date_table[Date] < Accounts[Close]
该公式似乎作为一个添加列工作,但由于日期表包含许多日期,因此计算时间非常长。所以我尝试使用公式作为 DAX 度量,但在多个表之间比较列似乎有问题:
a single value for column 'Date' in table 'date_table' can't be determined. This can happen when a measure refers to a column containing many values without specifying aggregation
计算特定年份的活跃帐户数量的最简单方法是什么?这可以在没有日期表的情况下完成吗?
编辑:用min() 和max() 括起来date_table[date] 使测量有效,但数字不正确。
-进一步的研究表明这可能需要CROSSJOIN()
编辑:看起来这可以通过在FILTERINGDate_table.Date 大于Open 但小于Close
【问题讨论】: