Problema de DAX y relación (creo)

Un usuario Pregunto ✅

floresdiego

Hola,

Tengo varias tablas conectadas a 2 tablas de dimensiones principales, dCalendario y dColaboradores. El problema que tengo es que Power BI no permite la activación de algunas relaciones y tengo problemas para filtrar cierta información. El estado actual de la relación es el siguiente:

floressdiego_3-1618922003623.png

(Traté de mostrar las relaciones lo mejor que pude)

Para cada empleado estoy usando una columna clave, Chave, que vinculo en la tabla principal de empleados, dColaboradores.
Pues bien, la cantidad de empleados activos en un periodo viene dada por la cantidad de personas admitidas desde el día 1 menos la cantidad de

despedido desde el día 1.

Aceptado:

Admissões = 
var calculo = CALCULATE(
    DISTINCTCOUNT(dColaboradores[Chave]),
    FILTER(
        dCalendario,
        dCalendario[Data] >= MIN(dCalendario[Data]) && dCalendario[Data] <= MAX(dCalendario[Data])
    )
)

RETURN
calculo

Despedido:

 Desligamentos = 
var calculo = 
CALCULATE( 
    DISTINCTCOUNT(dColaboradores[Chave]), 
    USERELATIONSHIP(dColaboradores[datdem.Element:Text],dCalendario[Data]), 
    FILTER(dCalendario, 
        dCalendario[Data] >= MIN(dCalendario[Data]) && dCalendario[Data] <= MAX(dCalendario[Data]) 
    ) 
) 
RETURN 
calculo 

Empleados Activos:

Colaboradores Ativos = 
CALCULATE([Admissões] - [Desligamentos],
    FILTER(
        ALL(dCalendario),
        dCalendario[Data] <= MAX(dCalendario[Data])
    )
)

Medida para contabilizar los admitidos por rol:

Total Cargo = 
COUNTROWS(
    FILTER(hist_cargo,
        hist_cargo[datalt] = hist_cargo[Ultima Ocorrencia Cargo]
    )
)

Despedido por rol:

Total Cargo 2 = 
CALCULATE(
    COUNTROWS(
        FILTER(hist_cargo,
            hist_cargo[datalt] = hist_cargo[Ultima Ocorrencia Cargo]
        )
        
    ),
    USERELATIONSHIP(dColaboradores[datdem.Element:Text], dCalendario[Data])
)

No pude encontrar una manera de contar los empleados activos por función.
Y para la tabla Hist_Sal, No pude sumar el último valor de fecha modificado para cada empleado.
Ex:

Clave —- Fecha de modificación —- Valor

1 01/01/2020 1000

2 01/01/2020 1500

3 01/01/2020 2000

2 01/01/2021 2000

4 01/01/2021 1500

1 01/01/2021 1500

Total 7000

(en negrita los valores que se deben sumar)

Intenté usar LASTNONBLANKVALUE, pero no pude sumar todos los valores de cada clave.

floressdiego_0-1618921423456.png

En esta imagen intenté mostrar el conteo de empleados activos por rol (Total Cargo 3, no parece tener problema de relación pero el total no es correcto) y la suma de salarios en cada rol (Teste Salario Total, que tiene una relación asunto).

Esta última imagen muestra lo que más quiero, el rol filtrado por fecha, los empleados activos en cada rol y la suma de los salarios en cada rol y total. Además, agregaré el nombre del empleado en esta matriz y cada uno debe tener su propio salario en la fecha correcta.

Gracias por ayudar, de antemano.

Intenté marcar en negrita las cosas que quiero tener.

diego

Hola @floressdiego,

Intenta agregar TODAS las funciones, como

Total Cargo = 
COUNTROWS(
    FILTER(ALL(hist_cargo),
        hist_cargo[datalt] = hist_cargo[Ultima Ocorrencia Cargo]
    )
)

Atentamente,

Esteban Tao

Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.

floresdiego

En respuesta a v-stephen-msft

Gracias por su respuesta.

No sé por qué, pero parece que simplemente perdió su relación…

floressdiego_0-1619095317056.png

Pero esta función no es la que tiene problema, es solo para mostrar lo que estoy usando, Total Cargo y Total Cargo2 están bien pero no sé cómo hacer el conteo en el rol (tabla hist_cargo) para cuántos empleados activos en cada rol. El empleado y despedido en cada rol está bien.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *