Forum Discussion
Función MID como variable
Total shipped qty =
SUMX('Amazon YTD','Amazon YTD'[Shipped Quantity]*RELATED('summary table'[MPU]))Hola a todos
Tengo una tabla que tiene el nombre del producto, que incluye el tamaño del paquete como parte de la cadena de texto:
He insertado una columna con la función MID que extrae el tamaño del paquete de la cadena.
Pero ahora estoy tratando de usar la función MID en una variable, de modo que pueda multiplicar la cantidad enviada con el tamaño del paquete (llamado "MPU" aquí) y obtener la cantidad total:
3 Replies
- Syndicate_Admin
Administrator
@monojchakrab , Primero traiga esto como una columna -RELATED('tabla de resumen'[MPU])
y luego pruebe MID
- Syndicate_Admin
Administrator
Total shipped qty = VAR _Title= SELECTCOLUMNS('Amazon YTD',"Title",'Amazon YTD'[Title]) --chooses to colum of [Title] to apply the MID function to; this is from the same table so did not have to use the Related function VAR _SearchPack = SEARCH("of",_Title,,0)+3 --In order to find the starting position for the MID function VAR _MPU = value(MID(_Title,_SearchPack,1)) --extracts the pack size and converts to numeric value return SUMX('Amazon YTD','Amazon YTD'[Shipped Quantity]*_MPU) --iterates over [shipped qty] and multiplies by the pack size to arrive at the volume@amitchandak - Amit, reescribí el código y no usé la función RELATED ya que estoy sacando la columna String ([Title]) de la misma tabla.
Pero este está devolviendo un error de la siguiente manera:
¿Alguna razón y cómo salir de ella?
Gracias
- Syndicate_Admin
Administrator
Desea extraer el número de las cadenas en la columna Tamaño, ¿verdad?
Se recomienda utilizar la función LEFT() para obtener el número.
Measure = LEFT(MAX('Table'[SIZE]),LEN(MAX('Table'[SIZE]))-6)Encontrará que los números que propone son tipos de texto, puede modificar el tipo manualmente o puede agregar VALUE() para cambiar el tipo de número.
Saludos
Esteban Tao
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.