Excel Power Query-替换新列中的文本

Excel Power Query-替换新列中的文本,excel,powerquery,Excel,Powerquery,我不熟悉Excel中的Power Query,我的问题是: 我有一个带有日期的文本栏,格式为“09-Feb-17a”。为了删除文本“A”并在新列(自定义列?)中填充日期信息,我使用了以下代码: = Table.AddColumn(#"Changed Type", "Start Date", each Replacer.ReplaceText([Start], " A","")) 问题是一些日期格式正确,即没有“A”。对于这些日期,我得到一个错误: 表达式.错误:无法将值#date(2019,1

我不熟悉Excel中的Power Query,我的问题是:

我有一个带有日期的文本栏,格式为“09-Feb-17a”。为了删除文本“A”并在新列(自定义列?)中填充日期信息,我使用了以下代码:

= Table.AddColumn(#"Changed Type", "Start Date", each Replacer.ReplaceText([Start], " A",""))
问题是一些日期格式正确,即没有“A”。对于这些日期,我得到一个错误:

表达式.错误:无法将值#date(2019,1,11)转换为 键入文本。细节: 价值=2019年1月11日 类型=类型

在power query中是否有解决此问题的方法

提前谢谢。

也许吧

  • 将列数据类型更改为
    Text
    (日期-->日期时间)
  • 提取
    空格前面的字符串部分
  • 可选将列数据类型更改为
    Date

或许

  • 将列数据类型更改为
    Text
    (日期-->日期时间)
  • 提取
    空格前面的字符串部分
  • 可选将列数据类型更改为
    Date


您可以使用
try
来处理这两种数据类型:

= Table.AddColumn(#"Changed Type", "Start Date", each try Date.FromText(Replacer.ReplaceText([Start], " A","")) otherwise DateTime.Date([Start]), type date)
或者,它将提取第一个空格之前的日期,而不管后面是哪个(或多少)字符:

= Table.AddColumn(#"Changed Type", "Start Date", each try Date.FromText(Text.BeforeDelimiter([Start], " ")) otherwise DateTime.Date([Start]), type date)

您可以使用
try
来处理这两种数据类型:

= Table.AddColumn(#"Changed Type", "Start Date", each try Date.FromText(Replacer.ReplaceText([Start], " A","")) otherwise DateTime.Date([Start]), type date)
或者,它将提取第一个空格之前的日期,而不管后面是哪个(或多少)字符:

= Table.AddColumn(#"Changed Type", "Start Date", each try Date.FromText(Text.BeforeDelimiter([Start], " ")) otherwise DateTime.Date([Start]), type date)

谢谢罗恩,但不能让它工作-显然是因为我的知识有限。谢谢罗恩,但不能让它工作-显然是因为我的知识有限。