cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
New Member

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
Super User IV
Super User IV

@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"
)



Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

View solution in original post

3 REPLIES 3
Super User III
Super User III

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
Super User IV
Super User IV

@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"
)



Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

View solution in original post

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
secondImage

Happy New Year from Power BI

This is a must watch for a message from Power BI!

December Update

Check it Out!

Click here to read more about the December 2020 Updates!

Community Blog

Check it Out!

Click here to read the latest blog and learn more about contributing to the Power BI blog!

Get Ready for Power BI Dev Camp

Get Ready for Power BI Dev Camp

Mark your calendars and join us for our next Power BI Dev Camp!.

Top Solution Authors