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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Averagex en varias tablas mediante la función Var

Buenos días

Soy un principiante en la codificación DAX y espero que alguien pueda ayudarme.

Estoy calculando a las personas promedio que abandonan la Organización por múltiples valores en diferentes tablas.

Cuando el cálculo está en dos medidas diferentes funciona, pero al intentar usar el VAR no calcula el promedio correctamente. También necesito "CrossJoin" a varias tablas para obtener el promedio por esas variables (ver más abajo). Quiero usar el VAR porque tengo muchos meausres y la carga de los datos en las imágenes está llevando mucho tiempo, así que estoy tratando de mejorar la eficiencia.

Primera pregunta: ¿Es la unión cruzada la función correcta para usar para "agrupar por" por múltiples tablas o hay una forma más simple?

Segunda pregunta: ¿Qué estoy haciendo mal en la medida a continuación porque la producción promedio no es correcta desafortunadamente en comparación con si tuviera que dividir esta medida en dos diferentes?

Cualquier ayuda en esto sería muy apreciada! !

  1. AvgTest =

VAR CountOut =

if(CALCULATE(COUNT('Data - Outgoings'[SIN]))=0,0,CALCULATE(COUNT('Data - Outgoings'[SIN])))

Devolución

AVERAGEX(

CROSSJOIN(

VALORES(X_Fiscal_Year[Fiscal_Quarter]),

VALORES(X_Classfication[Clasificación]),

VALORES(X_Unit[División]),

VALORES(X_EEGroup_Combination[EE_Combination]),

VALORES(X_Tenure[Tenencia]),

VALORES(X_Job_Family[Job_Family]))

, CountOut

)

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

@feltder ,

Tal vez puedas probar la medida.

AvgTest = 
AVERAGEX (
    SUMMARIZE (
        'Data - Outgoings',
        X_Fiscal_Year[Fiscal_Quarter],
        X_Classfication[Classification],
        X_Unit[Division],
        X_EEGroup_Combination[EE_Combination],
        X_Tenure[Tenure],
        X_Job_Family[Job_Family],
        "_Count",
            IF (
                CALCULATE ( COUNT ( 'Data - Outgoings'[SIN] ) ) = 0,
                0,
                CALCULATE ( COUNT ( 'Data - Outgoings'[SIN] ) )
            )
    ),
    [_Count]
)

Si el problema aún no se resuelve, proporcione información detallada sobre el error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.
Saludos
Winniz
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

Su primera pregunta es difícil de responder sin ver los datos, el modelo de datos y la salida deseada.

Para su segunda pregunta: Intente envolver sus variables en un CALCULAR y vea si hace una diferencia:

VAR CountOut =
Calculate(
if(CALCULATE(COUNT('Data - Outgoings'[SIN]))=0,0,CALCULATE(COUNT('Data - Outgoings'[SIN])))
)

Hi Nickolaj,

Gracias por responder, desafortunadamente agregar Calculate antes no funcionó. Realmente no entiendo por qué no funciona. Cuando divido las medidas en dos medidas diferentes, funciona.

Básicamente, mis mesas de corte cruzado son mis mesas de segmentación de datos y tengo otras dos mesas que nuestros empleados dejan y entran en la organización que están vinculadas junto con las tablas de segmentación de datos en las relaciones. Estoy tratando de crear algunas proyecciones sobre cuántas contrataciones necesitará la organización en función de un promedio histórico de cinco años. Después de acelerar los números, todo lo que hice funciona, pero es muy lento y poco eficiente.


Tablas de segmentación de datos:

feltder_0-1654605776143.png

Conjunto de datos de recursos humanos que se conecta a mis tablas de segmentación de datos:

feltder_1-1654605944924.png

La primera parte es que estoy tratando de calcular el promedio de entradas y salidas por trimestre, por clasificación, por división, por número de puestos de trabajo y por grupo de equidad en el empleo. Soy un principiante en esto y supongo que hay una mejor manera de hacerlo, pero estoy teniendo problemas para resolverlo. Encontré la función CrossJoin, pero no estoy seguro de si esa es la mejor manera de hacerlo.

Gracias de nuevo por su ayuda.

Me está costando ver la necesidad de la unión cruzada en su caso.
¿Puede compartir qué tipo de visualización planea usar y cómo espera que se vea?

Mis imágenes se ven así. Las medidas son Anticipatoria Proyectada, Proyectada Entrante y Saliente y candidatos necesarios.

feltder_0-1654608634741.png


Básicamente, al calcular los promedios de salidas o entradas, necesito asegurarme de que sea por cuarto, por clasificación, por división, por número de puestos de trabajo y por grupo de equidad en el empleo, así que puedo dividir los datos por él después. Aquí hay un ejemplo de datos de salida que incluye todos los grupos por:

feltder_1-1654608758653.png

Lo que estoy haciendo funciona, pero creo que no es la mejor manera de hacerlo. Necesito que sea más rápido y eficiente y creo que las uniones cruzadas están ralentizando las cosas, pero podría estar equivocado.

Gracias de nuevo por tu ayuda, sé que probablemente no sea fácil entender lo que estoy haciendo jajaja.



Helpful resources

Announcements
September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Top Solution Authors