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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Cómo crear una columna calculada en una tabla basada en condiciones de otra tabla

Hola a todos

Estoy buscando una respuesta a la siguiente pregunta que tengo mientras preparo algunos objetos visuales en Power BI. Agradecemos su ayuda y valiosos consejos sobre esta consulta.


Tengo datos en una tabla (tabla Usuarios) como se muestra a continuación:

jancyjohn_2-1673007851764.png

Necesito averiguar el usuario más frecuente en función de la duración que ha iniciado sesión en el dispositivo. En esta tabla, el usuario más frecuente para el deviceId=1 sería el usuario C. Del mismo modo, el usuario más frecuente para el deviceId=2, sería el usuario Y.

Tengo otra tabla existente (tabla Dispositivos) como se muestra a continuación y quiero agregar una nueva columna 'mostFrequentUser' (resaltada en amarillo) a esta tabla que será el usuario más frecuente para los dispositivos correspondientes según los cálculos de la tabla Usuarios.

jancyjohn_1-1673007694860.png

Una solución que encontré para este problema es crear una variable de medida (Max User) en la tabla Users como se muestra a continuación.

Diferencia = DATEDIFF(Usuarios[firstSeen],Usuarios[lastSeen],MINUTE)

Usuario máximo =
CALCULAR (
MAX (Usuarios[Usuario] ),
FILTRO (
ALL ( 'Usuarios' ),
[Diferencia] = MAX ( 'Usuarios'[Diferencia])
&& [deviceID] = SELECTEDVALUE ( Usuarios[deviceID] )
)
)

Sin embargo, necesito filtrar algunos elementos visuales según el usuario más frecuente y el usuario final del informe exige agregar una segmentación de datos para filtrar con el usuario más frecuente del informe. Dado que no podemos usar una variable de medida como segmentación de datos, la variable de medida anterior no está haciendo el trabajo y necesitaría que la lógica anterior se implementara como una nueva columna en la tabla 'Dispositivos', para que pueda agregar una segmentación de datos en el informe para los usuarios más frecuentes.

¿Podría alguien ayudarme con esto?

Gracias de antemano por su ayuda.

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

hola @jancyjohn Crear una columna calculada en la tabla de usuarios

Max user = 
CALCULATE (
MAX ('UsersTable'[User] ),
FILTER (
'UsersTable',
[Difference] = 'UsersTable'[Difference]
&& [deviceID] =  DevicesTable[deviceID]
)
)

@DimaMD ,

Desafortunadamente, no devolvió los valores correctos como se esperaba.

@DimaMD ,

Para ser más específicos:

El problema al que me enfrento con esta solución está asociado con la función MAX.

..MAX('Users'[accountName]) está recuperando el valor alfabéticamente más alto en lugar del usuario más frecuente.
..MAX('Usuarios'[accountName])

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.