【问题标题】:Convert time interval from text to number and grouping by customer time interval将时间间隔从文本转换为数字并按客户时间间隔分组
【发布时间】:2021-09-30 02:34:34
【问题描述】:

我有一些按一刻钟分组的数据,此列是文本格式。我想按客户时间间隔(例如每小时或早上 6 点至早上 9 点等)对数据进行分组。如何在 Power Query 编辑器中执行此操作以与 Power Pivot/Excel 一起使用?

谢谢!

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: excel powerquery powerpivot


【解决方案1】:

这应该可以让你大部分时间到达那里

右键单击并拆分 - 字符上的列

使用小时函数之类的方法转换所需的列并更改代码

= Table.TransformColumns(#"Changed Type1",{{"Quarter Hour.2", Time.Hour, Int64.Type}})

= Table.TransformColumns(#"Changed Type1",{{"Quarter Hour.2", each Time.From(Number.Round(Number.From(Time.From(_))*(24*60/15))/(24*60/15)), type time}})

四舍五入到最接近的所需分钟数,这里我使用最接近的 15 分钟

从那里只需使用下拉列表过滤所需的时间范围并分组您想要的任何内容

示例代码:

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Quarter Hour", type text}}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Quarter Hour", Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv), {"Quarter Hour.1", "Quarter Hour.2"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Quarter Hour.1", type time}, {"Quarter Hour.2", type time}}),
#"Extracted Hour" = Table.TransformColumns(#"Changed Type1",{{"Quarter Hour.2", 
    each Time.From(Number.Round(Number.From(Time.From(_))*(24*60/15))/(24*60/15))
, type time}})
in  #"Extracted Hour"

【讨论】:

  • 这对你有用吗?
猜你喜欢
  • 2011-12-20
  • 2022-01-19
  • 1970-01-01
  • 2021-02-16
  • 2011-02-08
  • 2019-06-28
  • 2018-10-12
  • 2016-10-06
  • 1970-01-01
相关资源
最近更新 更多