gpt4 book ai didi

powerbi - 电源查询: Date Time Zone operations

转载 作者:行者123 更新时间:2023-12-02 13:11:55 28 4
gpt4 key购买 nike

我正在基于 SQL Server 表 User 中的数据构建 Power BI 报告,该表包含 DateTypeOffset(7) 类型的 CreatedDate 列。我正在寻找相当于 .NET [TimeZoneInfo.FindSystemTimeZoneById] 的 Power Query。我的报告数据有一个时区信息,它存储为标准 ID(例如太平洋标准时间),我需要将 DateTimeOffset 列中的值转换为我上面讨论的时区,这就是方法我在 C# 中这样做:

TimeSpan timeZoneOffsetSpan = TimeZoneInfo.FindSystemTimeZoneById(settings.TimeZ​one).GetUtcOffset(UserCreatedDateTime);

这使得我的“设置”中存储的时区时间与 UserCreatedDateTime 的 UTC 时间之间存在差异。我只对用户表中的所有行执行该行代码一次,因为上面代码的目的是找出当前偏移量,同时考虑到夏令时等时区功能。

现在我可以简单地针对 User.CreateDateTime 列中的每个值添加偏移量(可以是正数或负数),在 C# 中,我通过使用 [DateTimeOffset.ToOffset] 来做到这一点:

DateTimeOffset convertedOffset = UserCreatedDateTime.ToOffset(timeZoneOffsetSpan)

因此,我需要能够在 Power BI 报告中执行相同的转换,但我找不到任何 Power Query 函数可以执行与 [TimeZoneInfo.FindSystemTimeZoneById] 相同的操作,如果该函数存在,它将覆盖我的第一行C# 代码,然后我需要找到与 [TimeZoneInfo.FindSystemTimeZoneById] 等效的代码。 [DateTimeZone.SwitchZone] 可能是我需要的,但我首先需要知道与我的时区相对应的偏移量,然后我可以将该偏移量作为该函数的第二个和第三个参数提供。

因此,为了最终确定,我需要 [TimeZoneInfo.FindSystemTimeZoneById] 的 Power BI 模拟。有人可以帮忙吗?

最佳答案

您可以向数据模型添加一个表,其中包含时区 ID 和时区偏移量列。在主查询中,您可以联接此表,然后创建计算以在新列中添加或减去偏移量。之后,删除连接的列。

参见此处How can I perform the equivalent of AddHours to a DateTime in Power Query?

或者您可以使用 DateTimeZone functions内置于 M 中。

关于powerbi - 电源查询: Date Time Zone operations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35927334/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com