如何删除前导YYYY-MM-DD并格式化power bi中的数据类型

问题描述 投票:0回答:1

我想在PowerBI中将列格式化为数据类型“duration”。为了做到这一点,我需要删除数据加载后出现的YYYY-MM-DD。我猜这些不一致是由于某些值采用这种格式:-3:34和订单:10:43:00

这是列在power bi中的样子: 这是它在导入power bi之前在Excel中的样子:

我试图在电源查询中“替换值”,这给了我这个结果:

一旦我将数据类型更改为“duration”和“apply and load”,它就会给我这个结果:

我期待结果是-02:03,03:01。负值表示早期递送,正值表示延迟递送。例如2小时3分钟或3小时1分钟。列需要采用某种形式的时间数据类型,因为我计划进行计算等。

关于如何解决这个问题的任何建议?某种形式的table.replace()?我试过table.replace但是有错误。 dax函数替换工作,但我希望能够删除其中一列,因为替换将给我一个新列。

powerbi dax powerquery m
1个回答
0
投票

我已经用Excel中的列进行了测试(这是时间)。我使用以下查询语言在Power-Bi中导入(请注意上一步中的类型持续时间):

    let
Source = Excel.Workbook(File.Contents("C:\...\Test.xlsx"), null, true),
Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
    #"Promoted Headers" = Table.PromoteHeaders(Sheet1_Sheet, [PromoteAllScalars=true]),
    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"HHMM_DELAYED", type duration}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Seconds", each Duration.TotalSeconds([HHMM_DELAYED]), type number),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "DurationText", each Duration.ToText([HHMM_DELAYED]))
in
    #"Added Custom1"

这对我来说非常好,请看下面的结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.