【问题标题】:How to create a DateTime column From Date and Hour column in Power Query如何从 Power Query 中的日期和小时列创建日期时间列
【发布时间】:2020-11-17 22:45:32
【问题描述】:

我在表格中有这一列:

2019-10-01 01
2019-10-01 02
2019-10-01 03...

如何使用 Power Query 将其转换(或创建新列)为适当的 DateTime 列,其中“01,02,03”值是小时?我只处理日期和时间。

Power Query 本身无法识别它。

【问题讨论】:

    标签: datetime powerquery


    【解决方案1】:

    如果您将":00" 附加到列的末尾,它应该能够将其解释为日期时间格式。

    Table.TransformColumns(Source,{{"Col", each DateTime.FromText(_&":00"), type datetime}})
    

    【讨论】:

    • 谢谢,亚历克西斯!我在您的主题上使用了一个变体: = Table.AddColumn(#"PreviousStep", "DateTime", each [Date] & ":00") 由于我使用的是小时结束时间,因此我还必须替换 24 小时: 00 与 00:00。然后它将其识别为有效的日期/时间。
    【解决方案2】:

    我使用了以下输入表

    这对我有用

    let
        source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
        splitByDelimiter = Table.SplitColumn(source, "Input", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, true), {"Date", "Time"}),
        changedType = Table.TransformColumnTypes(splitByDelimiter,{{"Date", type date}, {"Time", type time}})
    in
        changedType
    

    结果如下

    【讨论】:

      【解决方案3】:

      如果您的列名为 Column1,如下所示:

      您可以使用此代码:

      Table.TransformColumns(Source,{"Column1", each #datetime(Number.From(Text.Range(_,0,4)),Number.From(Text.Range(_,5,2)),Number.From(Text.Range(_,8,2)),Number.From(Text.Range(_,11,2)),0,0)})
      

      要得到这个:

      只需复制上面的代码,点击,然后将代码粘贴到编辑栏中。如果您的列未命名为 Column1,请将对 Column1 的引用替换为您的列名。

      【讨论】:

        猜你喜欢
        • 2019-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-19
        • 2018-09-16
        • 2022-11-04
        • 2020-02-01
        • 1970-01-01
        相关资源
        最近更新 更多