Я создаю отчет Power BI на основе данных из таблицы SQL Server User, которая содержит столбец CreatedDate типа DateTypeOffset (7). Я ищу Power Query, эквивалентный .NET [TimeZoneInfo.FindSystemTimeZoneById]. Данные моего отчета содержат информацию о часовом поясе, которая хранится как стандартный идентификатор (например, Стандартное тихоокеанское время), и мне нужно преобразовать значения в моем столбце DateTimeOffset в часовой пояс, о котором я говорил выше, вот как Я делаю это на C #:
TimeSpan timeZoneOffsetSpan = TimeZoneInfo.FindSystemTimeZoneById(settings.TimeZone).GetUtcOffset(UserCreatedDateTime);
Это дает мне разницу между временем в часовом поясе, хранящемся в моих настройках, и временем UTC для UserCreatedDateTime. И я выполняю эту строку кода только один раз для всех строк в моей таблице User, потому что цель приведенного выше кода - узнать текущее смещение с учетом таких функций часового пояса, как DayLightSaving.
И теперь я могу просто добавить это смещение (которое может быть положительным или отрицательным) для каждого значения в моем столбце User.CreateDateTime, в C # я делаю это с помощью [DateTimeOffset.ToOffset]:
DateTimeOffset convertedOffset = UserCreatedDateTime.ToOffset(timeZoneOffsetSpan)
Поэтому мне нужно иметь возможность выполнять те же преобразования в моем отчете Power BI, но я не смог найти ни одной функции Power Query, которая могла бы делать то же самое, что и [TimeZoneInfo.FindSystemTimeZoneById], если бы эта функция существовала, она охватила бы мою первую строку кода C # а затем мне нужно будет найти эквивалент [TimeZoneInfo.FindSystemTimeZoneById]. [DateTimeZone.SwitchZone], вероятно, то, что мне нужно, но сначала мне нужно знать смещение, соответствующее моему часовому поясу, а затем я смогу передать это смещение в качестве 2-го и 3-го параметров для этой функции.
Итак, в завершение мне нужен аналог Power BI для [TimeZoneInfo.FindSystemTimeZoneById]. Кто-нибудь может помочь?