cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Helper I
Helper I

Cree una columna de cálculo añadiendo un texto en función de las condiciones IF de otra columna

Hola a todos, estoy tratando de crear una columna calculada para agregar una descripción a una columna de códigos que ya tiene.

Intenté algo como esto:

Código de mercancías Desc á var x á [table_code]
return IF( x ? VALUE(CONTAINSSTRING(table[table_code]; "M01")); "Dic 1";
IF( x á VALUE(CONTAINSSTRING(table[table_code];" M02"); "Dic2";
IF(x ? VALUE(CONTAINSSTRING(table[table_code]; "M03")); "Dec 3";
IF(x ? VALUE(CONTAINSSTRING(table[table_code]; "M04")); "Dic 4";
IF( x á VALUE(CONTAINSSTRING(table[table_code]; "S02")); "Desc 5" ;
IF(x ? VALUE(CONTAINSSTRING(table[table_code];" MBL")); "Dec 6";
IF( x ?VALUE(CONTAINSSTRING(table[table_code];" MVA")); "Desc 7"; "General")))))))))))

Pero este es el mensaje que recibo de Power Bi

"Las operaciones de comparación DAX no admiten la comparación de valores de texto con valores de tipo Number. Considere la posibilidad de utilizar la función VALUE o FORMAT para convertir uno de los valores."

Usé CONTAINSSTRING porque tengo muchos registros y tengo que seguir la lógica para agregar la descripción correcta dependiendo de cómo se inicia cada uno de mis códigos.

¿Tienen alguna otra idea? Muchas gracias por su ayuda

1 REPLY 1
Highlighted
Super User I
Super User I

Re: Cree una columna de cálculo añadiendo un texto en función de las condiciones IF de otra columna

CONTAINSSTRING devuelve true o false. VALUE convierte una cadena de texto que representa un número en un número. Así que es por eso que el error resulta.

Si desea utilizar la técnica (mediante un modificador en lugar de los IF, el código probablemente tendrá el siguiente aspecto:

Commodity Code Desc = 
SWITCH (TRUE(),
 CONTAINSSTRING(Table[table_code], "M01"), "Dec 1",
 CONTAINSSTRING(Table[table_code], " M02"), "Dic2",
 CONTAINSSTRING(table[table_code], "M03"), "Dec 3",
 CONTAINSSTRING(table[table_code], "M04"), "Dec 4",
 CONTAINSSTRING(table[table_code], "S02"), "Desc 5" ,
 CONTAINSSTRING(table[table_code]," MBL"), "Dec 6",
 CONTAINSSTRING(table[table_code]," MVA"), "Desc 7", "General")

Si todos los campos table_code tienen el código de 3 letras a la izquierda, puede usar LEFT( thefield , 3). Buena suerte.

Helpful resources

Announcements
August 2020 Community Challenge: Can You Solve These?

August 2020 Community Challenge: Can You Solve These?

We're excited to announce our first cross-community 'Can You Solve These?' challenge!

Community Blog

Community Blog

Visit our Community Blog for articles, guides, and information created by fellow community members.

Upcoming Events

Upcoming Events

Wondering what events you could join or have an event to promote yourself? Check out our Upcoming Events.

Community Summit Australia – Join Online!

Community Summit Australia – Join Online!

Be a part of the leading Microsoft Business Applications digital event, curated for the APAC community.