想象一下我有一张“交易”表
包含以下列:
列名 | 数据类型 |
---|---|
运输编号 | ID |
顾客 | 细绳 |
預約日期 | 日期时间 |
数量 | 漂浮 |
活动 | 细绳 |
以及以下行
运输编号 | 顾客 | 預約日期 | 数量 | 活动 | 预期的 | 措施 | 柱子 |
---|---|---|---|---|---|---|---|
1 | 阿尔伯特 | 03-24-23 | 100 | 一个 | 真的 | 错误的 | 真的 |
2 | 阿尔伯特 | 03-27-23 | 50 | 一个 | 错误的 | 错误的 | 真的 |
3 | 阿尔伯特 | 03-29-23 | 二十五 | 一个 | 错误的 | 错误的 | 错误的 |
4 | 苏西 | 03-27-23 | 50 | 一个 | 真的 | 真的 | 真的 |
5 | 鲍里斯 | 03-27-23 | 500 | 一个 | 真的 | 真的 | 真的 |
6 | 玛莎 | 03-27-23 | 10 | 一个 | 真的 | 真的 | 真的 |
7 | 安娜 | 03-21-23 | 50 | 一个 | 真的 | 错误的 | 真的 |
8 | 安娜 | 03-22-23 | 50 | 一个 | 错误的 | 错误的 | 真的 |
9 | 安娜 | 03-27-23 | 5 | 一个 | 错误的 | 错误的 | 错误的 |
问题:如果交易是初始交易,我如何获取每一行的信息?
这意味着在一组具有相同 [客户] 和相同 [活动] 的交易中,它是具有最低 [预订日期] 的交易。
不幸的是我的经验仍然有限。
尝试 1) 我尝试了一种措施:
InitialTransaction =
VAR InitialTransaction =
CALCULATE(
MIN(Transaction[BookDateMEZ]),
ALLEXCEPT(Transaction, Transaction[Customer], Transaction[Campaign])
)
RETURN
IF(SELECTEDVALUE(Transaction[Book Date]) = InitialTransaction, TRUE(), FALSE())
结果:
- 参见上文“测量”栏
尝试2)我尝试了Clolumn:
InitialTransactionColumn =
VAR TransactionRank =
RANKX(
FILTER(
Transaction,
Transaction[Customer] = EARLIER(Transaction[Customer]) &&
Transaction[Campaign] = EARLIER(Transaction[Campaign])
),
Transaction[Book Date],
,
ASC,
DENSE
)
RETURN
IF(TransactionRank = 1, TRUE(), FALSE())
结果:
- 参见上文“列”栏
- EARLIER 函数的参数以红色下划线标出
- 尽管 2. DAX 编辑器没有抛出任何错误并且视觉效果也没有中断。