Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi Power bi报告-DateTime.localNow()不';I don’我不能按想象的那样工作_Powerbi_Powerbi Desktop - Fatal编程技术网

Powerbi Power bi报告-DateTime.localNow()不';I don’我不能按想象的那样工作

Powerbi Power bi报告-DateTime.localNow()不';I don’我不能按想象的那样工作,powerbi,powerbi-desktop,Powerbi,Powerbi Desktop,我在使用“DateTime.LocalNow()时遇到了一些问题,在2020年8月20日16.00之后,我得到了以下结果。这是我所期望的。但是,当我在power bi服务中发布报告并手动刷新时,日期和时间突然变为2020年8月20日下午2点 因此,它不仅从24小时变为12小时,而且比我的时区晚了2小时 为什么?我希望你们能帮助我,因为这对报告的用户来说是误导 提前感谢。该函数返回设置为系统上当前日期和时间的日期时间值 您的系统和要发布到的服务器位于不同的时区。与洛杉矶上午8:30到伦敦下午4:3

我在使用“DateTime.LocalNow()时遇到了一些问题,在2020年8月20日16.00之后,我得到了以下结果。这是我所期望的。但是,当我在power bi服务中发布报告并手动刷新时,日期和时间突然变为2020年8月20日下午2点

因此,它不仅从24小时变为12小时,而且比我的时区晚了2小时

为什么?我希望你们能帮助我,因为这对报告的用户来说是误导


提前感谢。

该函数返回设置为系统上当前日期和时间的日期时间值


您的系统和要发布到的服务器位于不同的时区。与洛杉矶上午8:30到伦敦下午4:30的情况相同。

此函数返回设置为系统上当前日期和时间的日期时间值


您的系统和要发布到的服务器位于不同的时区。与洛杉矶上午8:30到伦敦下午4:30的情况相同。

您可以使用度量值对日期时间值使用强制格式。创建一个度量值,如下所示-

date_time = FORMAT(NOW(),"dd/mm/yyyy HH:mm:ss")
现在,请在报告中使用此度量值,并尝试发布报告。您也可以在我的度量值中使用Now()的地方尝试使用DateTime.LocalNow()

解决方案:

下面是DateTime值的不同转换的输出-

步骤1:是您的以下M/Power查询代码的输出

original date = DateTimeZone.SwitchZone(DateTimeZone.LocalNow(),2,0)
第二步:只需复制“原始日期”列并命名为“GMT+2”。然后将此列的类型更改为datetime,如下所示-

第三步:在表中创建一个度量值(我猜表名-“DateTimeFormat”)


上述度量值应为您提供预期的输出。

您可以使用度量值对日期时间值使用强制格式进行尝试。按以下方式创建度量值-

date_time = FORMAT(NOW(),"dd/mm/yyyy HH:mm:ss")
现在,请在报告中使用此度量值,并尝试发布报告。您也可以在我的度量值中使用Now()的地方尝试使用DateTime.LocalNow()

解决方案:

下面是DateTime值的不同转换的输出-

步骤1:是您的以下M/Power查询代码的输出

original date = DateTimeZone.SwitchZone(DateTimeZone.LocalNow(),2,0)
第二步:只需复制“原始日期”列并命名为“GMT+2”。然后将此列的类型更改为datetime,如下所示-

第三步:在表中创建一个度量值(我猜表名-“DateTimeFormat”)


上述度量应该会给出您的预期输出。

谢谢。时间仍然是这样,但日期格式现在是假定的。您知道是否可以在公式中添加2小时。例如持续时间+2或其他什么。这不是一个好的决定。尝试按时区解决它。这可能和服务器有关位置。服务器位置将来可以随时更改。因此,您不能每次更改服务器时都保留此手动更改。希望您理解我的观点。我理解您的观点,但这只是一个临时解决方案。我现在所做的是以下操作-DateTimeZone.SwitchZone(DateTimeZone.LocalNow(),2,0)现在时间是有效的,但不是您以前解决的日期格式。您知道我如何将其添加到时间中吗?再次感谢您现在是12小时而不是24小时我使用DateTimeZone.SwitchZone(DateTimeZone.LocalNow(),2,0)我得到的是2020年8月21日下午3点40分。时间现在很好,但我希望它是2020年8月21日15点40分。谢谢。时间仍然是一样的,但日期格式是现在应该的。你们知道有并没有可能在公式中加上2小时。比如持续时间+2或其他什么。这不是一个好的决定。试着按时区来解决它。这个可能与服务器位置有关。服务器位置将来可以随时更改。因此,您不能每次更改服务器时都保留此手动更改。希望您理解我的观点。我理解您的观点,但这只是一个临时解决方案。我现在所做的是以下操作-DateTimeZone.SwitchZone(DateTimeZone.LocalNow(),2,0)现在时间是有效的,但不是您以前解决的日期格式。您知道我如何将其添加到时间中吗?再次感谢您现在是12小时而不是24小时我使用DateTimeZone.SwitchZone(DateTimeZone.LocalNow(),2,0),我得到2020年8月21日下午3:40。现在时间很好,但我希望是2020年8月21日下午15:40