首页 > 解决方案 > 在 Power BI 中将当前状态与前几个月进行比较

问题描述

在我的表中,我有 2 列日期(包含月份名称 - 我将其转换为日期字段)和状态(我转换为数字的文本值)。包含文本值 Green、Amber、Red 的状态列,我将其转换为 Green = 1、Amber = 2、Red = 3。现在我想将当前月份的状态与上一期间的状态进行比较。

Col.1    Col.2
1        01/01/2018
2        01/02/2018
3        01/06/2018
2        01/02/2018
3        01/03/2018
1        01/04/2018

当状态从绿色变为琥珀色时,它“下降”,绿色变为红色“下降”,琥珀色变为绿色“上升”,红色变为绿色“上升”。如果上个月和当前月份的状态相同,则绿色变为绿色而不是相同或“空白” .

if (Col.1=Col.1,"blank",if (Col.1>Col.1,"up",if (Col.1<col.1,"down")

我正在尝试添加 2 个切片器,在比较当前月份和上个月之后显示当前状态。例如,当月 5 月和上个月 2 月。

有什么办法可以得到想要的结果。简而言之,一列包含值和其他日期,我想在将当前月份(可能是任何月份)与上个月(可能是任何月份)进行比较后,在第三列中返回值。

任何帮助或指导将不胜感激。

标签: powerbidaxpowerquery

解决方案


假设您有一个名为“status_table”的表,它的值如下所述: 表图片

  1. 使用以下 DAX 创建一个新列

    行 ID = RANKX(status_table,status_table[date],,ASC,Dense)

    行 ID 图片

  2. 使用以下 DAX 创建一个新列

    以前的状态 = LOOKUPVALUE(status_table[status],status_table[Row ID],status_table[Row ID]-1) 以前的状态图片

  3. 创建最后一列以获取状态更改

    状态变化 = if(status_table[status]=status_table[Previous Status],"blank",if(status_table[status]>status_table[Previous Status],"Up","Down"))

    状态图的变化


推荐阅读