根据 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 吗?如果答案是肯定的,则没有理由出现列代码问题 -
我有一个像这样的数据集:
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 吗?如果答案是肯定的,则没有理由出现列代码问题 -