Anónimo
Tengo la siguiente expresión DAX:
Others = VAR mymodel = VALUES ( 'Compare Data'[Model] ) RETURN CONCATENATEX ( EXCEPT ( CALCULATETABLE ( VALUES ( 'Full Data'[Vendor Name] ), 'Full Data'[Engine Model] IN mymodel ), VALUES ( 'Compare Data'[Name] ) ), [Vendor Name], ", " )
No tengo ningún conocimiento de programación, pero soy consciente de que esta medida de Otros se escribió para respuesta solo a la segmentación «Modelo».
Hay alguna manera de hacer esta medida respuesta tanto a los ‘Datos Completos'[Engine Model] & ‘Datos completos'[Material Group] con el resto del código siendo el mismo?
¡Muchas gracias!
Alba
En respuesta a Anónimo
@Anónimo
Cometí un error y actualicé la versión anterior que arrojaba el error en lugar de la última. Prueba esto:
Others = VAR mymodel = VALUES ( 'Compare Data'[Model] )
VAR mygroup = VALUES ( 'Compare Data'[Group] )
RETURN CONCATENATEX ( EXCEPT ( CALCULATETABLE ( VALUES ( 'Full Data'[Vendor Name] ), FILTER('Full Data', 'Full Data'[Engine Model] IN mymodel && 'Full Data'[Material Group] IN mygroup )), VALUES ( 'Compare Data'[Name] ) ), [Vendor Name], ", " )
Sin embargo, estoy confundido con la historia de la cortadora. Tendría más sentido si lo que selecciona en la segmentación es ‘Comparar datos'[Name] en lugar de ‘Comparar datos'[Engine Moldel] o ‘Comparar datos'[Group] pero tal vez me estoy perdiendo algo. ¿Lo que muestra de la tabla ‘Comparar datos’ es la tabla completa o solo un fragmento?
Alba
hola @anonimo
Aunque no está del todo claro lo que necesitas, prueba esto. Mira el bit en rojo. Supongo que necesitas actualizar eso con la columna correcta.
Others = VAR mymodel = VALUES ( 'Compare Data'[Model] )
VAR mygroup = VALUES ( 'Compare Data'[Group] )
RETURN CONCATENATEX ( EXCEPT ( CALCULATETABLE ( VALUES ( 'Full Data'[Vendor Name] ), 'Full Data'[Engine Model] IN mymodel && 'Full Data'[Engine Model] IN mygroup ), VALUES ( 'Compare Data'[Name] ) ), [Vendor Name], ", " )
Anónimo
En respuesta a Alba
Hola @AlB, ¡gracias por tu ayuda!
Probé el tuyo con mis datos reales, me salió este mensaje con la medida: «La expresión contiene varias columnas, pero solo se puede usar una única columna en una expresión Verdadero/Falso que se usa como una expresión de filtro de tabla«.
¿Algunas ideas?
Alba
En respuesta a Anónimo
@Anónimo
Pruebe esto para eliminar ese mensaje de error. Pero todavía tenemos el problema con el bit en rojo. De la información proporcionada, no estoy seguro de lo que necesita allí.
Others = VAR mymodel = VALUES ( 'Compare Data'[Model] )
VAR mygroup = VALUES ( 'Compare Data'[Group] )
RETURN CONCATENATEX ( EXCEPT ( CALCULATETABLE ( VALUES ( 'Full Data'[Vendor Name] ), FILTER('Full Data', 'Full Data'[Engine Model] IN mymodel && 'Full Data'[Engine Model] IN mygroup )), VALUES ( 'Compare Data'[Name] ) ), [Vendor Name], ", " )
Anónimo
En respuesta a Alba
Hola @AlB,
Al igual que en la publicación original, sé que el código crea una medida que responde a la ‘Datos completos'[Engine Model] . Necesito que responda a ambos ‘Datos completos'[Engine Model] & ‘Datos completos'[Material Group].
Probé el que modificaste, aunque me dio espacios en blanco.
No sé si ayuda, pero aquí están mis datos:
1. «Comparar Datos» tabla:
Nombre | Modelo | Numero de Material | Grupo | Costo |
A | W5 | 1005-01 | CEE | 100 |
A | W5 | 1005-02 | CEE | 150 |
A | W3 | 1005-03 | DIVISOR | 105 |
A | W3 | 1005-04 | DIVISOR | 3000 |
A | W5 | 1005-05 | CEE | 1215 |
2. «Datos completos» tabla
Nombre del vendedor | Modelo de motor | Número material | Grupo de materiales | coste de la reparación |
A | W5 | 1005-01 | CEE | 80 |
B | W5 | 1005-02 | CEE | 85 |
C | W3 | 1005-03 | DIVISOR | 135 |
D | W3 | 1005-04 | DIVISOR | 3005 |
mi | W5 | 1005-05 | CEE | 1115 |
F | W2 | 1005-08 | CEE | 250 |
A | W5 | 1005-09 | CEE | 350 |
A | W5 | 1005-03 | CEE | 135 |
A | W5 | 1005-25 | DIVISOR | 125 |
B | W3 | 1005-2 | DIVISOR | 125.5 |
B | W15 | 1005-3 | CEE | 135 |
R | W5 | 1005-2 | CEE | 450 |
¡Graciaaas!
Alba
En respuesta a Anónimo
@Anónimo
Prueba esto entonces, donde hemos cambiado el bit en azul
Others = VAR mymodel = VALUES ( 'Compare Data'[Model] )
VAR mygroup = VALUES ( 'Compare Data'[Group] )
RETURN CONCATENATEX ( EXCEPT ( CALCULATETABLE ( VALUES ( 'Full Data'[Vendor Name] ), 'Full Data'[Engine Model] IN mymodel && 'Full Data'[Material Group] IN mygroup ), VALUES ( 'Compare Data'[Name] ) ), [Vendor Name], ", " )
Anónimo
En respuesta a Alba
Hola @AlB. Lo probé en primer lugar cuando dijiste que cambiara el que estaba en rojo. Devuelve el mismo mensaje que hice antes.
La expresión contiene varias columnas, pero solo se puede usar una única columna en una expresión Verdadero/Falso que se usa como una expresión de filtro de tabla.
Básicamente, mi objetivo para esta medida es encontrar proveedores alternativos a A (A de la tabla «Comparar datos») que sean capaces de reparar ciertos modelos o compartir lo mismo grupos de materiales con A. Por eso dije que quería que la medida respondiera al ‘Full Data'[Engine Model] & los ‘Datos Completos'[Material Group]
Con la expresión DAX en mi publicación original, no pude hacer que la medida funcionara cuando se realizaron selecciones en ambas segmentaciones. Los resultados siempre se basaron en la segmentación del modelo de motor, pero no en ambos, aunque se eligieron ambas selecciones de segmentación.
Por favor, dígame si encuentra algo que no esté claro. ¡Gracias por su hekp hasta ahora!
Alba
En respuesta a Anónimo
@Anónimo
Cometí un error y actualicé la versión anterior que arrojaba el error en lugar de la última. Prueba esto:
Others = VAR mymodel = VALUES ( 'Compare Data'[Model] )
VAR mygroup = VALUES ( 'Compare Data'[Group] )
RETURN CONCATENATEX ( EXCEPT ( CALCULATETABLE ( VALUES ( 'Full Data'[Vendor Name] ), FILTER('Full Data', 'Full Data'[Engine Model] IN mymodel && 'Full Data'[Material Group] IN mygroup )), VALUES ( 'Compare Data'[Name] ) ), [Vendor Name], ", " )
Sin embargo, estoy confundido con la historia de la cortadora. Tendría más sentido si lo que selecciona en la segmentación es ‘Comparar datos'[Name] en lugar de ‘Comparar datos'[Engine Moldel] o ‘Comparar datos'[Group] pero tal vez me estoy perdiendo algo. ¿Lo que muestra de la tabla ‘Comparar datos’ es la tabla completa o solo un fragmento?
Alba
En respuesta a Alba
@Anónimo
Además, todavía no entiendo muy bien cuándo quieres mostrar un proveedor, ya que hablas de modelo O material y luego modelo Y material. Sería útil si proporcionara un par de ejemplos sobre los datos de muestra para mostrar cuándo el proveedor sería válido y cuándo no. Sospecho que, en base a esa aclaración, tendremos que actualizar la condición en la sentencia FILTER( ):
FILTER('Full Data',
'Full Data'[Engine Model] IN mymodel && 'Full Data'[Material Group] IN mygroup )