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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Tarun-Bhatia
Regular Visitor

Creación de una columna Shift a partir de la fecha y la hora

Hola

Necesita ayuda para crear la columna Shift en PowerBi Desktop mediante la columna Fecha-hora (READY_DATETIME).

Turno 1: 6am - 2pm

Turno 2: 2pm - 10pm

Turno 3: 10pm - 6am

Tarun-Bhatia_0-1602553084354.png

Cualquier ayuda sería muy apreciada.

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@Tarun-Bhatia ,

Pruebe una nueva columna como

Nueva columna ?
var _hr á hour([readydatetime])
devolución
switch(True(),
_hr<6 && _hr >22 , "Shift 3",
_hr < 14 , "Shift 2",
"Shift 1"
)

View solution in original post

3 REPLIES 3
edhans
Super User
Super User

Hola @Tarun-Bhatia - ¿puede empujar esto de nuevo a Power Query? Las columnas personalizadas allí generalmente funcionarán mejor que las columnas calculadas en DAX. Consulte los enlaces a continuación para obtener una explicación.

Si puede, utilice esta fórmula en una nueva columna personalizada en Power Query:

let
   varTime = DateTime.Time([Date])
in
if varTime >= #time(6,0,0) and varTime < #time(14,0,0) then "Shift 1"
else if varTime >= #time(14,0,0) and varTime < #time(22,0,0) then "Shift 2"
else "Shift 3"

Devuelve esto:

edhans_0-1602600258880.png

A continuación, solo tiene que cambiar el tipo de datos de la columna [Shift] a Text antes de cerrar y cargar en el modelo de datos. La variable varTime que creé simplemente simplifica la entrada de datos. También puede escribir esto:

if DateTime.Time([Date]) >= #time(6,0,0) and DateTime.Time([Date]) < #time(14,0,0) then "Shift 1"
else if DateTime.Time([Date]) >= #time(14,0,0) and DateTime.Time([Date]) < #time(22,0,0) then "Shift 2"
else "Shift 3"

El mismo resultado, sólo un poco más difícil de leer y editar imho.

En general, intente evitar columnas calculadas. Hay momentos para usarlos, pero es raro. Normalmente se prefiere obtener datos del sistema de origen, crear columnas en Power Query o Medidas DAX a las columnas calculadas. Vea estas referencias:
Columnas calculadas frente a medidas en DAX
Columnas y medidas calculadas en DAX
Diferencias de almacenamiento entre columnas calculadas y tablas calculadas
Vídeo de SQLBI sobre medidas frente a columnas calculadas



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting
amitchandak
Super User
Super User

@Tarun-Bhatia ,

Pruebe una nueva columna como

Nueva columna ?
var _hr á hour([readydatetime])
devolución
switch(True(),
_hr<6 && _hr >22 , "Shift 3",
_hr < 14 , "Shift 2",
"Shift 1"
)

Gracias @amitchandak

Supongo que pequeño problema aquí, No se muestran los turnos correctos basados en la hora (Shift 1 debe ser entre 6am - 2pm, Shift 2 entre 2pm - 10pm).

¿Te preguntas si eso es porque ready_datetime columna muestra AM/PM en lugar de 24 horas?

Tarun-Bhatia_0-1602558681865.png

Gracias

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

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.