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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Cualquier idea sobre el procesamiento de listas, que tienen un número variable de elementos para filtrar o agrupar.

Hola a todos

Tengo una lista con un número variable de elementos (8-9 elementos, donde cada elemento es una palabra o frase corta) en una dimensión:

A , B
A
B, C
A, C

Me gustaría poder agrupar:

A3
B2
C2

o Filtro:

ADetalles de la fila 1 de dimención y filas de hechos asociadas
BDetalles de la fila 1 de dimención y filas de hechos asociadas
ADetalles de la fila 2 de dimención y filas de hechos asociadas

He probado un par de métodos...
La mejor idea que se me os ocurre era usar una suma de comprobación como fuction para crear un índice y un copo de nieve en el diseño del modelo. Pero no pude encontrar una función de cadena a número que lograra esto fácilmente.

La única idea que me queda,
es usar list.contains y crear un montón de nuevas columnas, pero eso codifica los elementos y agrega muchos campos vacíos.

¿Alguna idea sería genial?



PD: Lo siento, originalmente tenía mucho más contexto, en particular todas las ideas que probé, pero PBI perdió el contenido :(.

----

Notas: Me doy cuenta de que algo de lo que escribí anteriormente puede haber sido un poco confuso. Buscaba la abillity de cortar visualmente y cortar dados filtrando para crear grupos, etc. El asnwer proporcionado a continuación hace esto lo suficientemente bien, permite filtrar el dimenion y el recuento por elemento. No pude hacer que también filtrara la tabla de hechos, pero estoy de acuerdo con eso para esta necesidad actual.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@AaronC puede escribir una sola medida DAX

Measure =
VAR _0 =
    ADDCOLUMNS ( dim, "new", SUBSTITUTE ( dim[entries], ",", "|" ) )
VAR _1 =
    GENERATE (
        _0,
        ADDCOLUMNS (
            GENERATESERIES ( 1, PATHLENGTH ( [new] ) ),
            "seperateValue", PATHITEM ( [new], [value], TEXT )
        )
    )
VAR _2 =
    ADDCOLUMNS (
        'Table',
        "@count",
            COUNTX (
                FILTER ( _1, [seperateValue] = EARLIER ( 'Table'[Column1] ) ),
                [seperateValue]
            )
    )
RETURN
    SUMX ( _2, [@count] )

smpa01_0-1635195416349.png

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

@AaronC puede escribir una sola medida DAX

Measure =
VAR _0 =
    ADDCOLUMNS ( dim, "new", SUBSTITUTE ( dim[entries], ",", "|" ) )
VAR _1 =
    GENERATE (
        _0,
        ADDCOLUMNS (
            GENERATESERIES ( 1, PATHLENGTH ( [new] ) ),
            "seperateValue", PATHITEM ( [new], [value], TEXT )
        )
    )
VAR _2 =
    ADDCOLUMNS (
        'Table',
        "@count",
            COUNTX (
                FILTER ( _1, [seperateValue] = EARLIER ( 'Table'[Column1] ) ),
                [seperateValue]
            )
    )
RETURN
    SUMX ( _2, [@count] )

smpa01_0-1635195416349.png

@smpa01esto funciona tanto para agrupar como se muestra como para filtrar filas en la dimensión.

Para habilitar el filtrado en las filas, simplemente agregue la medida a la tabla / visual con un "filtro en esta imagen" donde "La medida no está en blanco". Aunque esto solo parece funcionar con datos de la tabla dimenion.

Para otros que intentan esto, el código no funcionará si null es una opción, por lo que tendrá que reemplazarlos con un valor de texto meaful.

Syndicate_Admin
Administrator
Administrator

Hay @AaronC

Aquí está mi solución.

Método1

1, Dividir columna por delimitador.

vkalyjmsft_0-1635156075402.png

2, Copie la columna 1.2 en una nueva tabla.

vkalyjmsft_1-1635156100245.png

vkalyjmsft_2-1635156100248.png

3, Anexar columna1.1 y la nueva columna copiada.

vkalyjmsft_3-1635156100250.png

Después de agregar, se muestra como abajo:

<! [si !vml]>

vkalyjmsft_4-1635156124250.png

<! [endif]>

4, No seleccione el valor "nulo".

<! [si !vml]>

vkalyjmsft_5-1635156124251.png

<! [endif]>

5, Utilice la función de grupo por recuento en columna1.1

<! [si !vml]>

vkalyjmsft_6-1635156124252.png

<! [endif]>

Entonces se vuelve así:

<! [si !vml]>

vkalyjmsft_7-1635156124252.png

<! [endif]>

Método2

1, Dividir columna por delimitador.

<! [si !vml]>

vkalyjmsft_8-1635156164963.png

<! [endif]>

2.Crear una nueva tabla

<! [si !vml]>

vkalyjmsft_9-1635156164963.png

<! [endif]>

3.Cree una nueva medida para el resultado.

<! [si !vml]>

vkalyjmsft_10-1635156164965.png

<! [endif]>

Saludos
Equipo de apoyo a la comunidad _ kalyj


Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Quiero dar las gracias por tomarse el tiempo para responder. Es evidente que se está haciendo un gran esfuerzo en esta respuesta. Desafortunadamente, claramente se han comunicado mal llevando tanto a usted como a amitchandak, por el camino equivocado.

No estoy seguro de cómo solucionar esto ... desafortunadamente elimino el hilo. hmm...

Syndicate_Admin
Administrator
Administrator

@AaronC , En power query Dividir por delimitadores y luego agrupar con count

Split Column Power Query: https://youtu.be/FyO9Vmhcfag

grupo por

https://docs.microsoft.com/en-us/power-query/group-by

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

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.