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
JonSwed
Advocate II
Advocate II

Agrupación por columna, utilizando measure como valor

Hola a todos

Necesito ayuda.

Mis datos se ven así:

JonSwed_0-1603733301425.png

Creé la columna session2 a través de una medida que cuenta el número de visitIdUnique_.

Quiero obtener sessions2 por fullVisitorId (usuarios) y luego presentar sesiones por usuario como un histograma. es decir, mostrar el número de todos los usuarios con 1 sesión, el número con 2 etc. Idealmente, quiero crear una columna adicional que se etiqueta buckets, por ejemplo, 1 sesión, 2 - 5 sesiones, 6 - 10 sesiones, etc. que luego puedo utilizar en un gráfico.

¿Puede alguien sugerir una combinación de fórmula/tabla DAX que pueda usar para hacer esto? Muchas gracias por cualquier ayuda!

1 ACCEPTED SOLUTION
v-alq-msft
Community Support
Community Support

Hola, @JonSwed

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

b1.png

Prueba:

b2.png

Puede crear una medida como se indica a continuación.

CountSessions = 
var tab = 
SUMMARIZE(
    ALL('Table'),
    'Table'[FullVisitorId],
    "Count",
    DISTINCTCOUNT('Table'[VisitIdUnique])
)
var newtab = 
ADDCOLUMNS(
    Test,
    "Result",
    SWITCH(
        [Range],
        "1 session",
        COUNTROWS(
            FILTER(
                tab,
                [Count]=1
            )
        ),
        "2-5 sessions",
        COUNTROWS(
            FILTER(
                tab,
                [Count]>=2&&
                [Count]<=5
            )
        ),
        "6-10 sessions",
        COUNTROWS(
            FILTER(
                tab,
                [Count]>=6&&
                [Count]<=10
            )
        )
    )
)
return
SUMX(
    newtab,
    [Result]
)

Resultado:

b3.png

Saludos

Allan

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

4 REPLIES 4
v-alq-msft
Community Support
Community Support

Hola, @JonSwed

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

b1.png

Prueba:

b2.png

Puede crear una medida como se indica a continuación.

CountSessions = 
var tab = 
SUMMARIZE(
    ALL('Table'),
    'Table'[FullVisitorId],
    "Count",
    DISTINCTCOUNT('Table'[VisitIdUnique])
)
var newtab = 
ADDCOLUMNS(
    Test,
    "Result",
    SWITCH(
        [Range],
        "1 session",
        COUNTROWS(
            FILTER(
                tab,
                [Count]=1
            )
        ),
        "2-5 sessions",
        COUNTROWS(
            FILTER(
                tab,
                [Count]>=2&&
                [Count]<=5
            )
        ),
        "6-10 sessions",
        COUNTROWS(
            FILTER(
                tab,
                [Count]>=6&&
                [Count]<=10
            )
        )
    )
)
return
SUMX(
    newtab,
    [Result]
)

Resultado:

b3.png

Saludos

Allan

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola otra vez.

Así que estoy llegando a algún lado, pero aún no estoy allí.

Usé el código de segmentación dinámico al que se vinculó y también se describe aquí.

Esto está permitiendo la selección de fecha, pero estoy luchando para obtener las métricas que quiero. En este momento está sumando el número de sesiones en cada segmento, mientras que quiero el recuento de fullVisitorId.

Aquí está mi código:

VAR CustomersMaxPerYear = 
ADDCOLUMNS(
    VALUES ( GA_Hits_Mod_Help_UserTest[visitorIdTest] ),
    "MaxSales",
    CALCULATE(
        SUMX(  
            ALLSELECTED ( GA_Hits_Mod_Help_UserTest[hitDate_] ),
            CALCULATE( DISTINCTCOUNT(GA_Hits_Mod_Help_UserTest[visitIdUnique_]) )
        )
    )
)
VAR MinRange = MIN ( Segment[Min] )
VAR MaxRange = MAX ( Segment[Max] )
VAR CustomersInRange = 
FILTER (
    CustomersMaxPerYear,
    [MaxSales] > MinRange &&
    [MaxSales] <= MaxRange
)
RETURN
    CALCULATE ( DISTINCTCOUNT(GA_Hits_Mod_Help_UserTest[visitIdUnique_] ), CustomersInRange )


Esto devuelve la suma de sesiones (visitIdUnique) en cada segmento, en lugar del número de usuarios en cada segmento de sesión (los usuarios son visitorIdTest).
Este es un ejemplo de cómo se ven los datos:

JonSwed_0-1603877596208.png

Y así es como se ve mi salida actualmente:

JonSwed_1-1603877792773.png

Cualquier puntero recibido con gratitud. ¡Gracias!












Gracias por eso. ¿No sería posible crear una nueva tabla en la que agrupo fullVisitorId por la suma de las sesiones, basada en esta tabla?

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.