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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Última actualización Cambio de fecha Zona horaria

Eh

Agregué una nueva tabla con una columna a mi informe que debería mostrar la fecha de la última actualización. Lo he creado con la siguiente consulta:

let
Source = #table(type table[Date Last Refreshed=datetime], {{DateTime.LocalNow()}})
in
Source

En el archivo de Escritorio de PowerBI durante la edición se muestra la hora correcta, pero si publico el informe en el servicio PowerBI y los datos se actualizan, se muestra la hora UTC. ¿Es posible tener una zona horaria fija?

Aquí hay una captura de pantalla de lo que muestra el campo en el servicio PowerBI después de la actualización.

Xnip2022-03-02_08-25-16.jpg

Normalmente debería mostrarse el 3/2/2022 12:00:22 AM ya que se refresca todos los días a las 12 am de la noche. Mi zona horaria actual es CET.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@lkshck , creo que deberías usar

Date.From(DateTime.FixedLocalNow())

Para la zona horaria, consulte si esto puede ayudar

https://www.youtube.com/watch?v=2kmFfbOeFJg

View solution in original post

17 REPLIES 17
Syndicate_Admin
Administrator
Administrator

Pude usar una consulta SQL para lograr esto. Para esta solución, deberá poder conectarse a un servidor SQL y a una base de datos (cualquier servidor/base de datos servirá porque en realidad no estará consultando una tabla).

En el archivo de Power BI Desktop, haga clic en Obtener datos > SQL Server. Introduzca el nombre del servidor y el nombre de la base de datos y, a continuación, expanda Opciones avanzadas. Pegue el siguiente código en el campo de instrucción SQL y luego haga clic en Aceptar.

Nota: Esto es para la zona horaria del Pacífico, pero puede modificar este código para cualquier zona horaria. Para ver la lista de productos admitidos

Los nombres de las zonas horarias utilizan SELECT * FROM sys.time_zone_info y, a continuación, sustituyen la "Hora estándar del Pacífico" por el nombre de la zona horaria tanto para la segunda como para la tercera columna. Considere la posibilidad de actualizar los nombres de las columnas, ya que hacen referencia a PT para la hora del Pacífico. Repita la segunda y tercera línea de código con zonas horarias alternativas si desea más opciones de zona horaria. En última instancia, solo importa la tercera columna, pero dejé las columnas UTC y Offset para demostrar cómo funciona la consulta.

SELECT 
 CAST(GETDATE() AT TIME ZONE 'UTC' AS DATETIME) AS [LastRefreshUTC]
,CAST(LEFT(RIGHT(GETDATE() AT TIME ZONE 'UTC' AT TIME ZONE 'Pacific Standard Time',6),3) AS INT) AS [PTOffset]
,DATEADD(HOUR,CAST(LEFT(RIGHT(GETDATE() AT TIME ZONE 'UTC' AT TIME ZONE 'Pacific Standard Time',6),3) AS INT),CAST(GETDATE() AT TIME ZONE 'UTC' AS DATETIME)) AS [LastRefreshPT]
Syndicate_Admin
Administrator
Administrator

Encontró la solución más fácil: cree una columna en la tabla de fechas o cualquier tabla Updated_at=Ahora() y agregue esto como el valor en el cuadro de texto

Última actualización en +value=max(Updated_at)

Funciona a las mil maravillas 🙂

Lo anterior no funcionó:

Estoy viendo demasiado esfuerzo para obtener la última fecha de actualización en el informe. He creado una vista con una sola columna actualizada y no funciona bien. Power BI está fallando al calcular Now() pero estoy seguro de que no alterará el valor proveniente de la fuente de datos.

Eso tampoco funcionó para todos los informes. En serio, está funcionando en algunos lugares y no en otros, encontrando nuevas soluciones. No quiero probar esa api

Syndicate_Admin
Administrator
Administrator

Así es como solía obtener la fecha / hora local usando worldtimeapi.org:

1- Usa https://worldtimeapi.org/api/timezone para encontrar tu ruta / página / API de zona horaria local

2- La siguiente consulta lo convertirá en una fecha/hora legible. Actualizar la ruta de acceso de la página web

let
   Source = Json.Document(Web.Contents("https://worldtimeapi.org/api/timezone/America/Toronto")),
   #"Converted to Table" = Record.ToTable(Source),
   #"Pivoted Column" = Table.Pivot(#"Converted to Table", List.Distinct(#"Converted to Table"[Name]), "Name", "Value"),
   #"Removed Other Columns" = Table.SelectColumns(#"Pivoted Column",{"datetime"}),
   #"Replaced Value" = Table.ReplaceValue(#"Removed Other Columns","T"," ",Replacer.ReplaceText,{"datetime"}),
   #"Replaced Value1" = Table.ReplaceValue(#"Replaced Value",each [datetime],each Text.Split([datetime]," "){0} & " " & Text.Split(Text.Split([datetime]," "){1},"-"){0},Replacer.ReplaceValue,{"datetime"}),
   #"Changed Type" = Table.TransformColumnTypes(#"Replaced Value1",{{"datetime", type datetime}})
in
   #"Changed Type" 

Syndicate_Admin
Administrator
Administrator

Realmente recomiendo obtener datos en línea de https://www.timeanddate.com/worldclock/...

Syndicate_Admin
Administrator
Administrator

Hola, buen día,

Soy un usuario 🙂 aficionado de Bi

Tengo el mismo problema, en la aplicación Bi muestra la fecha y hora correctas, pero en Web Report mostrar la hora UTC (en este caso +4) ¿hay alguna forma de solucionar esto?

He usado este Dax para obtener el tiempo de actualización del conjunto de datos, pero aún con este problemaDax usedDax used, Dax usóDate & time on Bi App with correct timeDate & time on Bi App with correct timeFecha y hora en bi App con la horaDate & Time on Bi webDate & Time on Bi web correctaFecha y hora en Bi web

let
Source = #table(type table[Date Last Refreshed=datetime], {{DateTime.LocalNow()}}),
    #"Tipo cambiado" = Table.TransformColumnTypes(Source,{{"Date Last Refreshed", type datetime}})
in
#"Tipo cambiado"

Muy agradecido la ayuda

Gracias

Eh

Utilicé la siguiente solución como un pequeño truco, ya que era mucho más fácil que las soluciones Dax desde mi punto de vista.

Agregué un nuevo origen de datos web a mi archivo con la siguiente dirección URL:

http://worldtimeapi.org/api/timezone/Europe/Berlin

Esto le dará una nueva tabla con información de fecha como utc-time y la hora de Europa / Berlín como puede ver aquí:

lkshck_0-1665384655749.png

Agregué el valor datetime a un visual y eso es todo. Cada vez que se actualice el informe, este valor también se actualizará a la hora actual.

Tal vez esto también 🙂 te ayude

Saludos

Lukas

De todas las opciones la más fácil y efectiva es esta, pase horas buscando solución y aquí simplemente con nuevo origen de datos se muestra la hora actualizada en versión web y versión de escritorio en mi caso necesitaba que se actualizara a la hora de chile y modifique el link http://worldtimeapi.org/api/timezone/america/santiago

Anonymous
Not applicable

Hola compañeros, buen día.

 

Tengo una duda que llevo dias tratando de resolverla pero no mas no encuentro que es...

 

Al momento de publicar el reporte, la información debe de ser del día de hoy, sin embargo me sale que ya es el día de mañana.

 

Por ejemplo: Ocupo saber cantidades del día de hoy (12 de diciembre) pero cuando el reporte esta publicado, me arroja la fecha de mañana (13 de diciembre).

 

Me pudieran orientar... por favor.

 

Saludos

Si estas utilizando el metodo anterior de la pagina tienes que saber cual es el campo que estas seleccionando para mostrar, no vaya ser que estes mostrando el horario UTC y no el de tu ciudad.

De todos los campos que sale cual es el que tomas para el tablero?

A la final yo le reste el numero de horas de diferencia al UTC para que al mento de publicar el informe me quedara con la fecha y hora correcta. Esto provoca que en el reporte de escritorio la hora no sea la correcta.

Juanbetancur
Helper I
Helper I

Yo me encontré con el mismo inconveniente y en este momento estoy intentando con cambiar el tipo de dato de fecha a texto para que el servicio de power bi no lo detecte como fecha y no haga la converción de UTC... veré que tal me va.

 

Actualización....... No funcionó 😞

Syndicate_Admin
Administrator
Administrator

@lkshck , creo que deberías usar

Date.From(DateTime.FixedLocalNow())

Para la zona horaria, consulte si esto puede ayudar

https://www.youtube.com/watch?v=2kmFfbOeFJg

Date.From(DateTime.FixedLocalNow()) no funcionó. Entonces, si no hay ninguna solución incorporada, iré con la solución externa.

@lkshck,

AFAIK, el servicio power bi actual no admite valores DateTime con la zona horaria específica. El DateTime con zona horaria se convertirá a la fuerza al formato UTC si los usó en el lado del servicio power bi.

Para este escenario, me gustaría sugerirle que obtenga el 'UTC NOW' en el lado del escritorio y lo calcule manualmente con el desplazamiento de la zona horaria para mantenerlo mostrado en la zona horaria específica.

let
    //#duration(days, hours, minutes, seconds) function and negative/positive number to fix UTC to specific local timezone
    Source = DateTimeZone.UtcNow() + #duration(0,8,0,0)
in
    Source

Saludos

Xiaoxin Sheng

Genial, me funcinó excelente!!

¿La primera solución usará mi hora local también en el servicio PowerBI? En caso afirmativo, esto debería estar bien. Quiero evitar agregar nuevas fuentes de datos si realmente no es necesario 😄

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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