Contar el número de semanas con una condición

Un usuario Pregunto ✅

androide1

Hola,

Estoy usando lo siguiente para darme el número de semanas que alguien ha estado empleado.

Semanas de empleo = DATEDIFF(vw_PivotVisitsInvoiced[Carer_StartDate],HOY(),SEMANA)

Funciona muy bien, sin embargo, en otra tabla CarersList hay una columna de fecha de finalización [DateLeft].

Los que todavía están empleados no tendrán fecha de finalización.

¿Cómo modifico lo anterior para tener en cuenta aquellos que tienen una fecha de finalización?

nickchobotar

En respuesta a androide1

@android1

Parece ser algo de calidad de los datos. Aquí hay otro enfoque:

En tu vw_PivotVisitsFacturado table crea la siguiente columna calculada: CarerLastDate = RELACIONADO(CarersList[DateLeft])

Esto creará otra columna poblada con valores DateLeft.

Desde aquí puedes escribir otra columna de cálculo:

DATEDIFF(vw_PivotVisitsInvoiced[Carer_StartDate],PivotVisitsFactured[DateLeft] ,SEMANA)

o para una medida, debe envolver sus campos en FIRSTDATE y LASTDATE

A ver si funciona.

norte-

nickchobotar

En respuesta a androide1

@android1

Veo.

Algo como esto ?

SI(

ESBLANCO(vw_PivotVisitsInvoiced[DateLeft],

Semanas de Empleo,

Semanas de Empleo 2

)

nickchobotar

Hola @android1

¿Has intentado reemplazar TODAY() con [DateLeft] ?

DATEDIFF(vw_PivotVisitsInvoiced[Carer_StartDate], [DateLeft] ,SEMANA)

Mella

androide1

En respuesta a nickchobotar

Tengo pero las columnas en la tabla Carerslist no están disponibles para usar. Esta es mi relación entre las dos tablas.

2018-03-14 18_57_32-Coste del cuidador - Power BI Desktop.png2018-03-14 18_59_55-Coste del cuidador - Power BI Desktop.png

nickchobotar

En respuesta a androide1

@android1

Prueba este. No necesita la función RELATED() aquí.

DIFFECHA(

PRIMERA FECHA(vw_PivotVisitsInvoiced[Carer_StartDate]),

LASTDATE(CareList([DateLeft]) ,

SEMANA

)

androide1

En respuesta a nickchobotar

No me deja elegir columnas de la tabla Carerlist.

Además, necesitaría acomodar a las personas que no tienen DateLeft.

2018-03-14 19_20_58-Coste del cuidador - Power BI Desktop.png

popov

En respuesta a androide1

Reemplazar CareList([DateLeft]) a CareList[DateLeft]

androide1

En respuesta a popov

Sigue igual por desgracia.

2018-03-14 19_27_50-Coste del cuidador - Power BI Desktop.png

nickchobotar

En respuesta a androide1

@android1

Parece ser algo de calidad de los datos. Aquí hay otro enfoque:

En tu vw_PivotVisitsFacturado table crea la siguiente columna calculada: CarerLastDate = RELACIONADO(CarersList[DateLeft])

Esto creará otra columna poblada con valores DateLeft.

Desde aquí puedes escribir otra columna de cálculo:

DATEDIFF(vw_PivotVisitsInvoiced[Carer_StartDate],PivotVisitsFactured[DateLeft] ,SEMANA)

o para una medida, debe envolver sus campos en FIRSTDATE y LASTDATE

A ver si funciona.

norte-

androide1

En respuesta a nickchobotar

Oh, funciona perfectamente eso. Gracias.

Ahora mi problema son aquellos sin DateLeft. Sus semanas de empleo están en blanco.

nickchobotar

En respuesta a androide1

@android1

¿Cuál es tu objetivo final? ¿Cómo quieres ver tus datos?

¿Quiere ver tanto a los empleados actualmente como a las personas que ya se han ido en una sola columna?

androide1

En respuesta a nickchobotar

Me gustaría ver Semanas de empleo en una columna, sí. Si eso es factible.

nickchobotar

En respuesta a androide1

@android1

Intente agregar dos instancias de DATEIFF () así DATEIFF (lógica para empleados) + DATEIFF(lógica para los que se fueron). De lo contrario, tiene opciones para crear dos columnas separadas usando dos medidas.

norte-

androide1

En respuesta a nickchobotar

Se agregaron ambos como Semanas de empleo 3.

lo necesitaria para usar el original Semanas de empleo = DATEDIFF(vw_PivotVisitsInvoiced[Carer_StartDate],HOY(),SEMANA)

pero si tienen y EndDate entonces use

Semanas de empleo 2 DATEDIFF(vw_PivotVisitsInvoiced[Carer_StartDate],PivotVisitsFactured[DateLeft] ,SEMANA)

Semanas de empleo 3 = vw_PivotVisitsInvoiced[Wks of Employment] + vw_PivotVisitsFacturado[Wks of Employment 2]

2018-03-14 20_26_51-Coste del cuidador - Power BI Desktop.png

nickchobotar

En respuesta a androide1

@android1

Si todo funcionó para usted, acepte esto como una solución.

gracias, n-

androide1

En respuesta a nickchobotar

@nickchobotar

Me gustaría poder mostrar todo en una columna. Entonces, si no hay DateLeft, use la primera columna de cálculo, pero si la hay, use la segunda. Como combinar en una declaración If.

nickchobotar

En respuesta a androide1

@android1

Veo.

Algo como esto ?

SI(

ESBLANCO(vw_PivotVisitsInvoiced[DateLeft],

Semanas de Empleo,

Semanas de Empleo 2

)

Deja un comentario

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