根据 SQL/powerBI 中另一列中的值创建新列

Create new column as per value in another column in SQL/powerBI

我有一个像这样的数据集:

ID    TYPE  POM   POM_new
1234   sys   100   100
1234   pm    101   100
2345   pm    300   302
2345   sys   302   302

我想如上所述创建新列 (POM_new)。新列应采用基于 TYPE 字段的“POM”字段值,即“sys”。

我想在 SQL(HANA) 或 Powerbi 中完成。尝试使用以下代码但没有成功。

POM New = CALCULATE(MAX(tablename[POM]),FILTER(LPR,tablename[TYPE]="SYS"),ALLEXCEPT(LPR,tablename[ID]))

可以使用标准SQL解析函数如下:

SELECT ID, TYPE, POM, 
       MIN(CASE WHEN TYPE = 'sys' THEN POM END) OVER (PARTITION BY ID) AS POM_NEW
  FROM YOUR_TABLE T;

如果您正在寻找 度量,请使用下面的代码-

POM_new = 

var current_id = MIN(your_table[ID])

RETURN
CALCULATE(
    MAX(your_table[POM]),
    FILTER(
        ALL(your_table),
        your_table[ID] = current_id 
        && your_table[TYPE] = "sys"
    )
)

如果是自定义列,试试下面的代码-

POM_new_column = 

var current_id = your_table[ID]

RETURN
CALCULATE(
    MAX(your_table[POM]),
    FILTER(
        ALL(your_table),
        your_table[ID] = current_id 
        && your_table[TYPE] = "sys"
    )
)

下图仅供交叉检查。您是根据下图所示创建 New Column 吗?如果答案是肯定的,则没有理由出现列代码问题 -