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

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
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.