在Power BI

时间:2019-07-29 22:05:30

标签: timezone powerbi dax powerquery powerbi-desktop

({Here是我在Microsoft Power BI社区论坛上打开的完全相同的问题)

我的数据库中有一个表,其中有一列包含UTC中的日期时间值,另一列具有该日期时间的时区(一个字符串,其中包含时区的IANA ID,例如“ America / Sao_Paulo”)。

Table print, with a datetime column named "Start" and a text column named "Timezone Id"

我必须在Power BI中生成一个新列,该列的 DateTimeZone 值对应于 UTC中给定的日期时间转换为给定的时区,并且它必须在Power Bi上有效台式机,也位于云上(已嵌入Power BI)。

我搜索了Power Query MDAX docs,但是只能找到使用数字(例如-10)而不使用IANA ID将时区应用于日期时间的方法...(这对我很重要由于夏令时),使用时区ID而不是简单的数字。

我过去曾尝试过Reza Rad's idea of using a Web Query with Power Query,但事实证明,在线Power BI不会让我使用网络查询,也不会更新我的数据源(这对我来说是一项硬性要求)。此外,他们的方法无法解决我的确切情况,因为我仍然应该确定要发送请求的网站以及在报告中使用哪种结构。 (我愿意就此事提出建议)

Power BI社区论坛上有一个similar thread,但仍然没有解决方案。

有人可以使用Power Query M,DAX或Power BI上的其他解决方法来帮助我将时区应用于日期时间吗?

2 个答案:

答案 0 :(得分:2)

问题:

  

但是事实证明,在线Power BI不允许我使用Web查询,也不会更新我的数据源(这对我来说是一个硬要求)。

您需要网关连接才能运行Online Power BI。在Online Power BI中,计划刷新需要一个网关来刷新Web查询或本地文件夹/文件查询。

过程:

您需要从here

在PC上安装Data Gateway。

我认为在您的特定情况下,您可以安装Personal Gateway。
安装个人网关的说明:https://www.youtube.com/watch?v=xjcO5tNvjGs

安装后,请按照以下步骤操作:

  1. 转到Power BI Service中的数据集设置,然后单击“网关连接”,将自动选择您的个人网关。
  2. 之后,编辑您的数据源凭据并选择“匿名”。
  3. 完成此操作后,您可以为数据集打开计划刷新

以下屏幕截图:
Personal Gaateway

注意:我已经对其进行了测试,并且可以正常工作。

答案 1 :(得分:0)

如果您想获取时区信息作为查询,则可以使用以下Wikipedia link作为数据源,并从中提取时区表。

我已经尝试过并获取数据(下面的屏幕截图)。将数据作为查询获取后,您可以创建关系,也可以将其与查询合并。

请检查是否对您有帮助。

Timezone Database