我又回来了,有一个新问题……我不明白这种力量,在excel哈哈上是如此容易。
出现以下错误:
产生变量数据类型的表达式不能用于定义 计算列。
SLASERV1 = IF('DIARIO Backlog de incidencias'[Prioridad];"";
IF(OR('DIARIO Backlog de incidencias'[Prioridad]="Crítica";'DIARIO Backlog de incidencias'[Prioridad]="Máxima");4-('DIARIO Backlog de incidencias'[Horas totales sin Pending]*24);
IF(OR('DIARIO Backlog de incidencias'[Prioridad]="Alta";'DIARIO Backlog de incidencias'[Prioridad]="High");8-('DIARIO Backlog de incidencias'[Horas totales sin Pending]*24);
IF(OR('DIARIO Backlog de incidencias'[Prioridad]="Media";'DIARIO Backlog de incidencias'[Prioridad]="Medium");24-('DIARIO Backlog de incidencias'[Horas totales sin Pending]*24);
IF(OR('DIARIO Backlog de incidencias'[Prioridad]="Baja";'DIARIO Backlog de incidencias'[Prioridad]="Low");48-('DIARIO Backlog de incidencias'[Horas totales sin Pending]*24)
)))))
POWER BI COLUMNS
如何在excel中完成操作(列P是我需要的结果):
=IF(K3<>"";IF(E3="";"";
IF(OR(E3="Crítica";E3="Máxima";E3="Urgent");4-(Q3*24);
IF(OR(E3="Alta";E3="High");8-(Q3*24);
IF(OR(E3="Media";E3="Medium");24-(Q3*24);
IF(OR(E3="Baja";E3="Low");48-(Q3*24)
))))))
我在做什么错了?
答案 0 :(得分:1)
该错误似乎与第一个IF
语句有关:
SLASERV1 = IF('DIARIO Backlog de incidencias'[Prioridad];"";
在某些情况下,您要返回文本,而在其他情况下,则要返回数字。
但是:嵌套IF
这样的语句并不是最好的方法-SWITCH
语句会更清晰。像这样:
SLASERV1 =
VAR SLA_Horas =
SWITCH (
'DIARIO Backlog de incidencias'[Prioridad],
"Crítica", 4,
"Máxima", 4,
"Alta", 8,
"High", 8,
"Media", 24,
"Medium", 24,
"Baja", 48,
"Low", 48,
BLANK()
)
RETURN
IF (
ISBLANK ( SLA_Horas ),
BLANK(),
SLA_Horas - ( 'DIARIO Backlog de incidencias'[Horas totales sin Pending] * 24 )
)
最好还是有一个单独的表格来维护优先级/ SLA时间。像这样:
在字段Prioridad
上的此表和事实表之间创建关系,然后可以使用以下方法创建计算列:
SLASERV2 = RELATED ( SLA[SLA Hours] ) - ( 'DIARIO Backlog de incidencias'[Horas totales sin Pending] * 24 )
有关示例PBIX文件,请参见https://pwrbi.com/so_55396655/。
答案 1 :(得分:0)
那个错误是不言自明的,不是吗?
Powerbi列期望使用单一数据类型,即数字或文本。不能两者都做。
如果只需要一列,则将else部分包裹在Format函数中,如下所示:
format(48-('DIARIO Backlog de incidencias'[Horas totales sin Pending]*24), "")
更多有关格式的信息:https://docs.microsoft.com/en-us/dax/format-function-dax
但是我建议您宁愿创建两列,一列带有标签,第二列带有数字