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

Entradas de datos duplicadas

La identificación de los empleados tiene varias entradas (duplicadas) a veces más de una vez en la fecha de inicio Ej.:

Emp IDDepFecha de inicioFecha finalEstado
23232AC12/12/199912/12/2001Activo
23232AB12/12/199931/12/2020Activo
23232AC12/12/199902/05/2024Activo

1- Me gustaría ajustar la fecha de inicio para que sea la fecha de finalización de la anterior (última) y así.


2- mantener solo un estado activo por empleado (más reciente)

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

Hola @O-K

Parece que a su fórmula le falta un corchete cerrado para la fórmula máxima. Mire el freno debajo de la marca de estrella en la captura de pantalla.

DataNinja777_0-1714657282928.png

Saludos

Hola @DataNinja777
El error ahora se ha desplazado a la fórmula Filtro.

OK_0-1714658261339.png

Hola @O-K

¿Qué hay de quitar el freno adicional que está subrayado en rojo a continuación?

DataNinja777_0-1714659581604.png

Saludos

Por favor, utilice este DAX para copiar y pegar

Falta un , después de max()

Fecha de inicio del departamento ajustada =
Departamento de VARFECHA de inicio =
CALCULAR(
MAX(«EU HR»[final ajustado/actualidad]),
FILTRO(
«AR UE»,
«RH de la UE» [Fin ajustado/actualidad] < ANTERIOR («HR DE LA UE» [Fin ajustado/actualidad])
)
)
DEVOLUCIÓN
SI(
ISBLANK(Fecha de inicio del departamento),
«RH de la UE» [final ajustado/actualidad],
DepartamentoFecha de inicio
)

Si esta solución le ayudó, por favor dé un pulgar hacia arriba y acepte esta respuesta como una solución ¡Gracias! ¡¡Saludos!!

Syndicate_Admin
Administrator
Administrator

Gracias por tomarse el tiempo de responder.

Algunos ID tienen más de 3 o más entradas y algunos solo se mencionan una vez. Probablemente por eso la fila anterior no funciona.

Syndicate_Admin
Administrator
Administrator

Hola @O-K

Puede obtener la salida requerida de la siguiente manera:

1- Me gustaría ajustar la fecha de inicio para que sea la fecha de finalización de la anterior (última) y así.

DataNinja777_0-1714654250627.png

2- mantener solo un estado activo por empleado (más reciente)

DataNinja777_1-1714654319297.png

Además de esto, puede crear una tabla de calendario desconectada para realizar un análisis de recuento de personal flexible, pero no creé una tabla de calendario en este ejemplo.

Adjunto un ejemplo de archivo pbix.

En primer lugar, gracias por la rápida respuesta.
De alguna manera sigo teniendo un error en la segunda mitad

OK_0-1714655883057.png

Hiii Pruebe este DAX
Fecha de inicio del departamento ajustada =
Departamento de VARFECHA de inicio =
CALCULAR(
MAX(«EU HR»[final ajustado/actualidad]),
FILTRO(
«AR UE»,
«RH de la UE» [Fin ajustado/actualidad] < ANTERIOR («HR DE LA UE» [Fin ajustado/actualidad])
)
)
DEVOLUCIÓN
SI(
ISBLANK(Fecha de inicio del departamento),
«RH de la UE» [final ajustado/actualidad],
DepartamentoFecha de inicio
)

Si esta solución le ayudó, por favor dé un pulgar hacia arriba y acepte esta respuesta como una solución ¡Gracias! ¡¡Saludos!!
Syndicate_Admin
Administrator
Administrator

Hiiii

  1. Ajuste de las fechas de inicio:

    • Ordene los datos por ID de empleado y Fecha de inicio en orden descendente.
    • Agregue una columna de índice para realizar un seguimiento del orden de las entradas de cada empleado.
    • Use una columna personalizada para calcular la fecha de finalización anterior de cada fila mediante la columna de índice.
    • Combine esta fecha de finalización calculada con la tabla original en función de las columnas Id. de empleado e índice.
    • Reemplace la columna Fecha de inicio original por la fecha de finalización calculada.
    • Agregue una columna de índice haciendo clic en "Agregar columna" > "Columna de índice" > "Desde 1".
    • Haga clic en "Agregar columna" > "Columna personalizada" e ingrese la siguiente fórmula para calcular la fecha de finalización anterior:
      = if [Index] = 1 then null else Table.Column(PreviousRow, "Fecha de finalización")
    • Reemplace "PreviousRow" por el nombre de la fila anterior si es diferente.
    • Mantener solo un estado activo por empleado:

      • Ordene los datos de nuevo por ID de empleado y Fecha de inicio en orden descendente.
      • Agregue una columna personalizada para asignar rangos:
      • Filtre los datos para mantener solo las filas en las que el rango es 1:
        • Haga clic en la flecha desplegable junto a la columna de clasificación personalizada.
        • = if [Estado] = "Activo" y [Índice] = 1 entonces 1 else null
        • Elija "Filtros numéricos" > "Es igual a" > "1.

          Si esta solución le ayudó, por favor dé un pulgar hacia arriba y acepte esta respuesta como una solución

Gracias por tomarse el tiempo de responder.

Algunos ID tienen más de 3 o más entradas y algunos solo se mencionan una vez. Probablemente por eso la fila anterior no funciona.

Ajuste de las fechas de inicio:

  • Abra Power BI y vaya a la pestaña "Inicio".
  • Haga clic en "Transformar datos" para abrir Power Query Editor.
  • En el Editor de Power Query, busque la tabla.
  • Haga clic en la pestaña "Transformar" y luego en "Ordenar filas".
  • Elija ID de empleado y Fecha de inicio, ambos en orden descendente.
  • Agregue una columna de índice haciendo clic en "Agregar columna" > "Columna de índice" > "Desde 1".
  • Agrupar por ID de empleado y crear una columna personalizada para calcular la fecha de finalización anterior
    = List.Max(List.RemoveNulls(Table.Column(PreviousRow, "Fecha de finalización")))
    • Combine la fecha de finalización calculada con la tabla original:
      • Haga clic en "Inicio" > "Fusionar consultas" > "Combinar consultas como nuevas".
      • Elija su tabla original como la segunda tabla y el ID de empleado como clave para ambas tablas.
      • Expanda la columna combinada para incluir la fecha de finalización calculada.
    • Reemplace la columna Fecha de inicio original por la fecha de finalización calculada:
      • Haga clic con el botón derecho en la columna de fecha de finalización calculada y seleccione "Reemplazar valores" > "Reemplazar errores" por nulo.
      • Cambie el nombre de la columna de fecha de finalización calculada a "Fecha de inicio ajustada".
      • Haga clic con el botón derecho en la columna Fecha de inicio original y seleccione "Eliminar".
  • Mantener solo un estado activo por empleado:

    • Ordene los datos de nuevo por ID de empleado y Fecha de inicio en orden descendente.
    • Agregar una columna personalizada para asignar rangos
      = if [Estado] = "Activo" y [Índice] = 1 entonces 1 else null
    • Filtre los datos para mantener solo las filas en las que el rango es 1:
      • Haga clic en la flecha desplegable junto a la columna de clasificación personalizada.
      • Elija "Filtros numéricos" > "Es igual a" > "1".
      • Haga clic en Aceptar.


        Si esta solución le ayudó, por favor dé un pulgar hacia arriba y acepte esta respuesta como una solución
        ¡¡Gracias!! ¡¡Saludos!!

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.