先生们,我的表格中有一列 CC(合同数量),还有另一列“DATE”,其中包含每个合同的日期,但我想进行比较(类似于 Excel 中的 PROCV),我检查我的 CC 列中是否有与前几天相同的合同编号。这样我就可以确切地知道是否有新员工或是否有任何终止的合同。也就是说,我需要一个 DAX 公式或一些可用于执行此验证的机制,例如“IF”,如果我的 CC 列中有一份比前一天多的合同,则将其插入“新合同”列中,否则为“已关闭”。
下面是我的表格的图片:
答案1
若要在 PowerBI 中比较一天的合约数量与前一天的合约数量,可以在计算列中同时使用CALCULATE
和FILTER
函数。以下示例展示了如何使用这些函数创建计算列,以显示某一天的合约数量是否与前一天相同:
- 打开您的 PowerBI 报告并选择您想要添加计算列的表。
- 单击功能区中的“建模”选项卡,然后单击“新建列”按钮。
- 在公式栏中,键入以下公式来创建计算列:
=CALCULATE(
COUNT(CC[Number of Contracts]),
FILTER(
ALL(CC),
CC[Date] = MAX(CC[Date]) - 1
)
)
上述公式使用CALCULATE
函数统计前一天合约的数量,并使用函数FILTER
仅选择包含前一天日期的行。
创建计算列后,您可以使用语句IF
将当天的合约数量与前一天的合约数量进行比较,并在结果列中显示“新合约”或“已关闭”。以下是执行此操作的示例:
=IF(
[Number of Contracts] = [Number of Contracts (Previous Day)],
"CLOSED",
"NEW CONTRACT"
)
上述公式使用IF
函数将“合约数量”列中的值与“合约数量(前一天)”列中的值进行比较。如果值相同,则在结果列中显示“CLOSED”。如果值不同,则在结果列中显示“NEW CONTRACT”。
希望它有帮助!