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

Contar el número de ocurrencias en otra tabla

Hola

Tengo dos tablas que siguen esta estructura:

Tabla: Empleado

IDENTIFICACIÓN Nombre
1 Juan
2 Sota
3 Bob

Tabla: Comentarios

IDENTIFICACIÓN Nombre
1 Juan
1 Juan
2 Sota
2 Sota
2 Sota
3 Bob


Quiero saber el número de comentarios (número de filas en la tabla de comentarios) para cada persona (ID), pero quiero 4 medidas diferentes:

1ª medida: recuento de ocurrencias de ID en la tabla Feedback que aparecen 1 vez.

2ª medida: recuento de ocurrencias de ID en la tabla Feedback que aparecen 1 o 2 veces.

3ª medida: recuento de ocurrencias de ID en la tabla de Comentarios que aparecen 1, 2 o 3 veces.

4ª medida: recuento de ocurrencias de ID en la tabla de Feedback que aparecen 1, 2, 3 o 4 veces.


Entonces, según las tablas de ejemplo anteriores:

1ª medida = 3 (Jhon, Jack y Bob)

2ª medida = 2 (Jhon y Jack)

3ª medida = 1 (Jack)

4ª medida = 0

¿Alguien puede ayudarme?

2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

Hola @req77

Prueba esto...

FeedbackCount = COUNT(Feedback[Name])

Measure XX =
VAR	EmployeeSummary =
	ADDCOLUMNS(
		Employee,
		"FeedbackCount",
		FeedbackCount
	)
RETURN

COUNTROWS(
	FILTER(
		EmployeeSummary,
		FeedbackCount > XX
	)
)

En la segunda medida (denominada Medida XX) sustituya XX por el recuento que desea filtrar. ¡Espero que esto ayude!

View solution in original post

Syndicate_Admin
Administrator
Administrator

Solución similar a @littlemojopuppy (comenzó a jugar cuando entró).

La principal diferencia es que no es necesario crear la tabla de resumen. No hará ninguna diferencia en conjuntos de datos pequeños, pero debería funcionar más rápido si tiene grandes cantidades de datos.

2+ Feedback = 
COUNTROWS (
    FILTER (
        VALUES ( Employee[ID] ),
        CALCULATE ( COUNTROWS ( Feedback ) ) >= 2
    )
)

bcdobbs_0-1646254624842.png

También puede agregar una tabla de parámetros desconectados con números del 1 al n que la medida podría leer para que no necesite varias versiones del código:

bcdobbs_3-1646255262562.png

bcdobbs_2-1646255127086.png

Employees With Feedback = 

VAR SelectedNumber = SELECTEDVALUE ( Parameter[Number] )

VAR Result = 
COUNTROWS (
    FILTER (
        VALUES ( Employee[ID] ),
        CALCULATE ( COUNTROWS ( Feedback ) ) >= SelectedNumber
    )
)

RETURN Result

bcdobbs_4-1646255343058.png

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

La fórmula de la hoja de cálculo de Excel es lo suficientemente potente como para resolver una pregunta tan simple,

CNENFRNL_2-1646260441277.png

Syndicate_Admin
Administrator
Administrator

Solución similar a @littlemojopuppy (comenzó a jugar cuando entró).

La principal diferencia es que no es necesario crear la tabla de resumen. No hará ninguna diferencia en conjuntos de datos pequeños, pero debería funcionar más rápido si tiene grandes cantidades de datos.

2+ Feedback = 
COUNTROWS (
    FILTER (
        VALUES ( Employee[ID] ),
        CALCULATE ( COUNTROWS ( Feedback ) ) >= 2
    )
)

bcdobbs_0-1646254624842.png

También puede agregar una tabla de parámetros desconectados con números del 1 al n que la medida podría leer para que no necesite varias versiones del código:

bcdobbs_3-1646255262562.png

bcdobbs_2-1646255127086.png

Employees With Feedback = 

VAR SelectedNumber = SELECTEDVALUE ( Parameter[Number] )

VAR Result = 
COUNTROWS (
    FILTER (
        VALUES ( Employee[ID] ),
        CALCULATE ( COUNTROWS ( Feedback ) ) >= SelectedNumber
    )
)

RETURN Result

bcdobbs_4-1646255343058.png

@bcdobbs tienes razón... Me he acostumbrado totalmente a crear tablas de resumen. Necesito salir de eso... 😉

Syndicate_Admin
Administrator
Administrator

Hola @req77

Prueba esto...

FeedbackCount = COUNT(Feedback[Name])

Measure XX =
VAR	EmployeeSummary =
	ADDCOLUMNS(
		Employee,
		"FeedbackCount",
		FeedbackCount
	)
RETURN

COUNTROWS(
	FILTER(
		EmployeeSummary,
		FeedbackCount > XX
	)
)

En la segunda medida (denominada Medida XX) sustituya XX por el recuento que desea filtrar. ¡Espero que esto ayude!

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.