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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
damit23183
Employee
Employee

Multifila en una sola fila para varias columnas

Hola

Estoy tratando de convertir varias filas en una sola fila usando la fórmula DAX, pero no obteniendo el resultado esperado porque hay coma que estoy llegando a todas partes al principio del valor. Consulte a continuación para obtener más explicaciones;

Esta es la tabla fuente,

Table.JPG

Hasta ahora pude obtener el resultado por debajo que es correcto como se esperaba para uno de los tableros;

Table.JPG

Sin embargo, me gustaría mantener por encima de la mesa, y además me gustaría lograr el resultado como se puede ver a continuación;

Table.JPG

Pero, estoy obteniendo resultado como abajo;

Table.JPG

Hasta ahora, obtuve el valor como se esperaba, pero si ves rojo resaltado en la captura de pantalla anterior, hay coma "," antes del valor que está en todas partes. Además, si no hay BASIS para cualquier caseID, la coma sigue llegando allí.

Esta es la fórmula que he utilizado para obtener el resultado esperado;

Fórmula:

Cadena de base ?
SWITCH(TRUE(), NOT(ISBLANK([Basis])),

CALCULAR(
CONCATENATEX (Reclamaciones, [Base],", ", [caseID]) ,
FILTRO ( 'Reclamaciones', 'Reclamaciones'[CaseID] - EARLIER ( 'Reclamaciones'[CaseID] )
)), BLANK()
)

Estoy usando Filter en CASEID porque si no lo uso entonces dio los duplicados de BASIS en la misma fila como abajo;

Table.JPG

¡Cualquier ayuda sería apreciada!

Gracias

1 ACCEPTED SOLUTION

hola @damit23183

Sólo tiene que añadir un filtro para eliminar el espacio en blanco como se muestra a continuación:

SWITCH(TRUE(), NOT(ISBLANK([Basis])),

CALCULAR(
CONCATENATEX ('Tabla', [Base],", ", [caseID]) ,
FILTRO ( 'Tabla', 'Tabla'[CaseID] - EARLIER ( 'Table'[CaseID] )&&'Table'[Basis]<>BLANK()
)), BLANK()
)

Por cierto, le sugiero que utilice esta fórmula para crear una nueva tabla

New Table = SUMMARIZE(
        'Claims',
        [CaseID],
        "Title",CONCATENATEX(DISTINCT('Claims'[Title]),[Title],","),
        "Type",CONCATENATEX(DISTINCT('Claims'[Type]),[Type],","),
        "Basis",CALCULATE(CONCATENATEX(DISTINCT('Claims'[Basis]),[Basis],","),FILTER('Claims','Claims'[Basis]<>BLANK()))
    )

O

New Table = SUMMARIZE(
        'Claims',
        [CaseID],
        "Title",CALCULATE(CONCATENATEX(DISTINCT('Claims'[Title]),[Title],","),FILTER('Claims','Claims'[Basis]<>BLANK())),
        "Type",CALCULATE(CONCATENATEX(DISTINCT('Claims'[Type]),[Type],","),FILTER('Claims','Claims'[Basis]<>BLANK())),
        "Basis",CALCULATE(CONCATENATEX(DISTINCT('Claims'[Basis]),[Basis],","),FILTER('Claims','Claims'[Basis]<>BLANK()))
    )

y aquí está el archivo pbix de muestra, por favor pruébelo.

saludos

Lin

Community Support Team _ Lin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

10 REPLIES 10
DataZoe
Employee
Employee

@damit23183 podrías probar esto:

CALCULAR (
CONCATENATEX ( VALORES ( Reclamaciones [Base] ), Reclamaciones[Base], ", " ), ),
FILTRO (Reclamaciones, Reclamaciones[ID de caso] - MIN ( Reclamaciones[ID de caso] ) )
)

Respectfully,
Zoe Douglas (DataZoe)



Follow me on LinkedIn at https://www.linkedin.com/in/zoedouglas-data
See my reports and blog at https://www.datazoepowerbi.com/

Hola

Gracias por su respuesta,

Intenté tu solución, pero sucedió lo mismo.

Coma vino por algunos casos.

Parecen algunas celdas en blanco disponibles para casos específicos.

Si quiero agregar algún filtro o eliminar el espacio en blanco en la fórmula existente que me dio entonces,

¿Cómo me desharía del valor en blanco para cualquier caso en mi escenario?

Gracias

Hice esto:

Table 2 = 
    SUMMARIZE(
        'Table',
        [CaseID],
        "Title",CONCATENATEX(DISTINCT('Table'[Title]),[Title],","),
        "Type",CONCATENATEX(DISTINCT('Table'[Type]),[Type],","),
        "Basis",CONCATENATEX(DISTINCT('Table'[Basis]),[Basis],",")
    )

Ver adjunto.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Mastering Power BI 2nd Edition

DAX is easy, CALCULATE makes DAX hard...

@damit23183 tal vez probar este:

CALCULAR (
CONCATENATEX (
FILTRO ( VALORES ( Reclamaciones [Basis] ), ISBLANK ( Reclamaciones [Base] ) - FALSO () ),
Reclamaciones[Base],
", "
),
FILTRO (Reclamaciones, Reclamaciones[CaseID] - MIN ( Claims[CaseID] ) )
)

Respectfully,
Zoe Douglas (DataZoe)



Follow me on LinkedIn at https://www.linkedin.com/in/zoedouglas-data
See my reports and blog at https://www.datazoepowerbi.com/

Hola

Sigue siendo el mismo resultado.

Parece que BLANK es el problema que debe eliminarse.

Gracias

hola @damit23183

Sólo tiene que añadir un filtro para eliminar el espacio en blanco como se muestra a continuación:

SWITCH(TRUE(), NOT(ISBLANK([Basis])),

CALCULAR(
CONCATENATEX ('Tabla', [Base],", ", [caseID]) ,
FILTRO ( 'Tabla', 'Tabla'[CaseID] - EARLIER ( 'Table'[CaseID] )&&'Table'[Basis]<>BLANK()
)), BLANK()
)

Por cierto, le sugiero que utilice esta fórmula para crear una nueva tabla

New Table = SUMMARIZE(
        'Claims',
        [CaseID],
        "Title",CONCATENATEX(DISTINCT('Claims'[Title]),[Title],","),
        "Type",CONCATENATEX(DISTINCT('Claims'[Type]),[Type],","),
        "Basis",CALCULATE(CONCATENATEX(DISTINCT('Claims'[Basis]),[Basis],","),FILTER('Claims','Claims'[Basis]<>BLANK()))
    )

O

New Table = SUMMARIZE(
        'Claims',
        [CaseID],
        "Title",CALCULATE(CONCATENATEX(DISTINCT('Claims'[Title]),[Title],","),FILTER('Claims','Claims'[Basis]<>BLANK())),
        "Type",CALCULATE(CONCATENATEX(DISTINCT('Claims'[Type]),[Type],","),FILTER('Claims','Claims'[Basis]<>BLANK())),
        "Basis",CALCULATE(CONCATENATEX(DISTINCT('Claims'[Basis]),[Basis],","),FILTER('Claims','Claims'[Basis]<>BLANK()))
    )

y aquí está el archivo pbix de muestra, por favor pruébelo.

saludos

Lin

Community Support Team _ Lin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hola

Gracias por su respuesta.

Su solución está funcionando perfectamente con sólo agregar && condición en la fórmula SWITCH que ni siquiera pensó en ella.

Muchas gracias.

Sin embargo, no puedo crear una nueva tabla porque hay otra información necesaria de la misma tabla para que pueda volverse compleja. Por lo tanto, estaba tratando de que funcionara en la misma mesa.

Gracias de nuevo por su ayuda.

@damit23183 Probablemente debería hacer algunos datos falsos en este punto, pero un último intento:

Calcular (
CONCATENARTEX (
Filtro ( Valores ( Reclamaciones[Base]),ISBLANK ( Reclamaciones[Base]) =Falso() ),
Reclamaciones[Base],
", "
),
Filtro( Reclamaciones,Reclamaciones[CaseID] = Min ( Reclamaciones[CaseID]) && ISBLANK ( Reclamaciones[Base] ) ? FALSO () )
)

Respectfully,
Zoe Douglas (DataZoe)



Follow me on LinkedIn at https://www.linkedin.com/in/zoedouglas-data
See my reports and blog at https://www.datazoepowerbi.com/

Hola

Gracias por otra sugerencia.

La última sugggestion también me dio el mismo resultado con una coma por delante del valor. Sin embargo, muchas gracias por toda sugerencia hecha por usted, ya que tengo que aprender algo nuevo también.

Gracias

AllisonKennedy
Super User
Super User

@damit23183 No puedo replicar tu problema. Cuando intento con sus datos de muestra, no tengo coma.

¿El conjunto de datos completo contiene algunos espacios en blanco para Basis? Eso podría ser lo que está causando la coma inicial sin texto antes de ella. Si es así, puede usar una opción IF u otra para comprobar si hay espacios en blanco, o agregar una condición al FILTRO mediante && para comprobar que Basis no está en blanco.

¿Este post ha resuelto tu problema? Por favor, márquelo como una solución para que otros puedan encontrarlo rápidamente y para que la comunidad sepa que su problema ha sido resuelto.

Si has encontrado este post útil, por favor, dale a Kudos.

Trabajo como instructor y consultor para Microsoft 365, especializado en Power BI y Power Query.

https://sites.google.com/site/allisonkennedycv


Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors