Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Concat con duplicación basada en la columna de texto (DAX REQ)

hola

En la tabla de datos, el mismo elemento tiene texto múltiple, por lo que estoy intentando obtener el texto sin duplicación dentro de la misma celda en función de la columna de texto según el elemento. Si el mismo elemento tiene más de un texto, devuelva el texto con coma dentro de la misma celda.

Estoy intentando el DAX mencionado a continuación, pero está dando resultado de duplicación, pero el resultado deseado es texto único con coma.

DAX PARA TEXTO = CALCULATE(CONCATENATEX(DATA,DATA[COUNTRY],","),FILTER(DATA,DATA[ITEM]=EARLIER(DATA[ITEM])))

datos:

artículopaísRESULTADO DRSIRED
123ADMKADMK, DMK, BJB
123ADMKADMK, DMK, BJB
123ADMKADMK, DMK, BJB
123ADMKADMK, DMK, BJB
123DmkADMK, DMK, BJB
123DmkADMK, DMK, BJB
123No voy a hacerlo.ADMK, DMK, BJB
123No voy a hacerlo.ADMK, DMK, BJB
123No voy a hacerlo.ADMK, DMK, BJB
123No voy a hacerlo.ADMK, DMK, BJB
123No voy a hacerlo.ADMK, DMK, BJB
123No voy a hacerlo.ADMK, DMK, BJB
1235ADMKADMK, DMK
1235DmkADMK, DMK
1235DmkADMK, DMK
6789ADMKADMK
4342DmkDmk
4342DmkDmk
4342DmkDmk
4342DmkDmk

Foto instantánea de PBI

Saxon10_0-1618040272572.png

1 ACCEPTED SOLUTION

Hola, @Saxon10

Por favor, corrígeme si entendí erróneamente tu lógica.

No estoy seguro de si el resultado deseado muestra la lógica correcta para las últimas cuatro filas.

Por favor, compruebe la siguiente columna calcualted.

Nueva columna en la Tabla2 =
ELEMENTO ACTUAL VAR = Tabla2[ITEM]
VAR currentitemtablewithout700800 =
RESUMEN (
FILTRO (
Tabla2,
Tabla 2[ITEM] = currentitem
&& Tabla2[CÓDIGO DE ÁREA] <> 700
&& Tabla2[CÓDIGO DE ÁREA] <> 800
),
Tabla 2[PAÍS]
)
devolución
CONCATENATEX ( currentitemtablewithout700800, Tabla2[PAÍS], ", " )

Hola, mi nombre es Jihwan Kim.

Si este post ayuda, entonces considere aceptarlo como la solución para ayudar a otros miembros a encontrarlo más rápido, y dar un gran pulgar hacia arriba.

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Hola, @Saxon10

Por favor, pruebe lo siguiente para la columna calculada.

Nueva columna =
Elemento actual var = Datos[ITEM]
Var currentitemtable =
RESUMEN ( FILTRO ( datos, Datos[ITEM] = currentitem ), Datos[PAÍS] )
devolución
CONCATENARX ( currentitemtable, Datos[PAÍS], ", " )

Hola, mi nombre es Jihwan Kim.

Si este post ayuda, entonces considere aceptarlo como la solución para ayudar a otros miembros a encontrarlo más rápido, y dar un gran pulgar hacia arriba.

Esto está funcionando bien. Gracias por su rápida respuesta.

Gracias por su respuesta. Lo comprobaré y volveré contigo. ¿Puede aconsejar a mi otro scanario cuando usted tiene un tiempo.

Syndicate_Admin
Administrator
Administrator

Tengo un escenario más aquí, por favor, aconseje.


La misma lógica y DAX, pero me gustaría aplicar filtro por código de área 300 &400 solamente y excluir el código de área 700 y 800 en el mismo DAX emocionante.


DAX PARA TEXTO = CALCULATE(CONCATENATEX(DATA1,DATA1[COUNTRY],","),FILTER(DATA1,DATA1[ITEM]=EARLIER(DATA1[ITEM])))



CÓDIGO DE ÁREA DE PAÍS DE ARTÍCULO RESULTADO DESEADO (EXCLUIR POR 800 y 700)
123 ADMK1 300 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 ADMK2 300 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 ADMK3 300 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 ADMK4 300 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 DMK1 400 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 DMK2 400 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 BJB1 800 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 BJB2 800 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 BJB3 800 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 BJB4 800 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 BJB5 800 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 BJB6 800 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 PAMAKA1 700 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 PAMAKA2 700 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 PAMAKA3 700 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
123 PAMAKA4 700 ADMK1,ADMK2,ADMK3,ADMK4,DMK1,DMK2
1235 ADMK1 300 ADMK1,DMK1,DMK2
1235 DMK1 400 ADMK1,DMK1,DMK2
1235 DMK2 400 ADMK1,DMK1,DMK2
6789 ADMK1 300 ADMK1
4342 DMK1 300 DMK1
4342 DMK2 300 DMK2
4342 DMK3 300 DMK3
4342 DMK4 300 DMK4




Saxon10_0-1618043855868.png

Hola, @Saxon10

Por favor, corrígeme si entendí erróneamente tu lógica.

No estoy seguro de si el resultado deseado muestra la lógica correcta para las últimas cuatro filas.

Por favor, compruebe la siguiente columna calcualted.

Nueva columna en la Tabla2 =
ELEMENTO ACTUAL VAR = Tabla2[ITEM]
VAR currentitemtablewithout700800 =
RESUMEN (
FILTRO (
Tabla2,
Tabla 2[ITEM] = currentitem
&& Tabla2[CÓDIGO DE ÁREA] <> 700
&& Tabla2[CÓDIGO DE ÁREA] <> 800
),
Tabla 2[PAÍS]
)
devolución
CONCATENATEX ( currentitemtablewithout700800, Tabla2[PAÍS], ", " )

Hola, mi nombre es Jihwan Kim.

Si este post ayuda, entonces considere aceptarlo como la solución para ayudar a otros miembros a encontrarlo más rápido, y dar un gran pulgar hacia arriba.

Gracias por su respuesta. Sí, tiene razón las últimas 4 columnas que muestran resultado incorrecto porque hago manualmente esa es la razón, pero su solución funciona bien.

¿Puede aconsejarme y ayudarme con respecto a la lógica "VAR", es difícil entender la lógica "VAR" en power BI. Dónde y cómo puedo usar la lógica VAR. Cómo funcionará en segundo plano de Power BI porque la mayoría de mi consulta es compleja, por lo que tal vez su consejo me ayude.

Gracias.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.