【问题标题】:Converting decimal time to hours to plot a 24-hour timeline chart in power bipower bi 将十进制时间转换为小时绘制24小时时间线图
【发布时间】:2022-11-18 09:35:17
【问题描述】:

希望你做得很好。 我是 PowerBI 的新手,我想将十进制时间/日期列值转换为小时数,以便在 24 小时时间轴上绘制信息。我能够在 tableau 中实现这一点,因为它会自动检测时间并且可以轻松地绘制信息。当我将日期/时间列转换为时间并尝试绘图时,我在 powerBI 中实现这一点有点接近,但是有巨大的噪音并且看起来更加混乱,因为它以秒/分钟(底部 sn-p)为单位进行了每次更改。我附上了 sn-ps 以供参考,有人可以帮我解决这个问题吗?

【问题讨论】:

  • 我放弃了索要样本数据。
  • 嘿@彼得。抱歉没有附上数据。我想要实现的是在 powerbi 中将 hh:mm:ss 转换为 hh AM/PM

标签: powerbi dax tableau-api powerbi-desktop tableau-desktop


【解决方案1】:

在 Power BI 中,建议将 DateTime 列拆分为单独的 Date 和 Time 列。这都是出于性能原因。在一年多的时间里,一个粒度为 1 秒的 DateTime 列可以有 30M 个不同的值,这比存储一个具有 365 个值的列和一个具有 86,400 个值的列要多得多。这样您的日期列就可以链接到日期维度以提供其他日期时间层次结构属性,例如 FiscalQuarter、DayOfWeek 等。

在 Power Query 中选择 DateTime 列并转到 --> 添加列 --> 时间 --> 仅时间。然后将 DateTime 列的数据类型更改为 Date。

这也解决了您的报告问题,因为您只需将时间列放在 X 轴上即可。

如果你想要一个自定义格式字符串,你可以在 Power Query 中添加一个计算列,比如

= Table.AddColumn(#"Changed Type1", "TimeDesc", each DateTime.ToText(#date(2020,1,1)&[Time], [Format="h tt"]))

并使用“Sort by Column”时间配置新列。

【讨论】:

  • 感谢您的回复。所以,我复制了该列并将类型更改为时间。但是当我在图表上绘制它时,我看到的是日期而不是 hh AM/PM
  • 而不是复制,在查询编辑器上选择列,转到-->添加列-->时间-->仅时间
  • 我不明白那是什么意思。
  • 对不起,如果我让事情变得更糟。因此,我在新的时间列中实现了 hh AM/PM 格式。但是当我将这个时间列绘制到图表上时,值非常混乱,因为我在问题中附加了 sn-p(最底部)但是我们能否像我在 tableau 中所做的那样看到平面面积图(附加的 sn-p在顶端)
  • 也许是因为,有许多列值显示凌晨 1 点的值和凌晨 2 点的值等等,它们没有分组在一起,这可能是这些每个相似值都被绘制在轴上的原因,如果我们可以在凌晨 1 点、凌晨 2 点等获取所有值的计数?
猜你喜欢
  • 1970-01-01
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-17
  • 2013-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多