将前导零添加到日期和月份值中
Adding leading Zeros into Day and Month Value
我有一个简单的 table,其中有一列的日期格式如下:
MM/DD/YYYY。
不幸的是,有些人在没有前导零的情况下工作。
因此,我想使用 Power Query 在 Month 和 Day 元素中添加前导零以具有通用格式。
但是怎么办?有人有什么功能可以分享吗?
同样,不确定您为什么要这样做,但是
假设所有条目都是看起来像日期的文本,您可以使用以下 M 代码:
在分隔符处拆分字符串
将列表中的每个条目更改为一个数字
最后一个数字加 2000
将数字改回格式为“00”的文本
与分隔符重新组合
let
Source = Excel.CurrentWorkbook(){[Name="Table29"]}[Content],
//set type = Text
#"Changed Type" = Table.TransformColumnTypes(Source,{{"TextDate", type text}}),
xform = Table.TransformColumns(#"Changed Type",
{"TextDate", each
let
x = Text.Split(_,"/"),
y = List.Transform(x,each Number.From(_)),
z = List.ReplaceRange(y,2,1, {2000+y{2}}),
a= List.Transform(z,each Number.ToText(_,"00")),
b = Text.Combine(a,"/")
in b})
in
xform
我认为更好的解决方案可能是设置您的数据输入方法,以便所有日期都输入为 dates 而不是文本
我有一个简单的 table,其中有一列的日期格式如下: MM/DD/YYYY。 不幸的是,有些人在没有前导零的情况下工作。 因此,我想使用 Power Query 在 Month 和 Day 元素中添加前导零以具有通用格式。 但是怎么办?有人有什么功能可以分享吗?
同样,不确定您为什么要这样做,但是
假设所有条目都是看起来像日期的文本,您可以使用以下 M 代码:
在分隔符处拆分字符串
将列表中的每个条目更改为一个数字
最后一个数字加 2000
将数字改回格式为“00”的文本
与分隔符重新组合
let
Source = Excel.CurrentWorkbook(){[Name="Table29"]}[Content],
//set type = Text
#"Changed Type" = Table.TransformColumnTypes(Source,{{"TextDate", type text}}),
xform = Table.TransformColumns(#"Changed Type",
{"TextDate", each
let
x = Text.Split(_,"/"),
y = List.Transform(x,each Number.From(_)),
z = List.ReplaceRange(y,2,1, {2000+y{2}}),
a= List.Transform(z,each Number.ToText(_,"00")),
b = Text.Combine(a,"/")
in b})
in
xform
我认为更好的解决方案可能是设置您的数据输入方法,以便所有日期都输入为 dates 而不是文本