【问题标题】:Power Query/Excel: Error with DateTime.ToText()Power Query/Excel:DateTime.ToText() 出错
【发布时间】:2016-04-21 12:57:15
【问题描述】:

在 Excel 2016 - 查询编辑器 - 高级编辑器中。

这是我的代码:

let
    SettingsSheet = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
    #"TimeRange" = Table.TransformColumnTypes(SettingsSheet,{{"From", type datetime}, {"To", type datetime}}),
    From = #"TimeRange"[From],
    To = #"TimeRange"[To],
    DateFormatString = "yyyy-MM-dd-THH:mm:ssZ",
    FormattedFrom = DateTime.ToText(#"TimeRange"[From], DateFormatString ),
    FormattedTo = DateTime.ToText(To, DateFormatString ),
    ...
    (Further in the code, I will need to concart formatted datetimes in a URL string.)

如果我结束了

...
in
   #"TimeRange"

正如预期的那样,我得到了一张带有日期时间的表格。

如果我完成 ... #"testTable" = {​​ From, To, FormattedFrom, FormattedFrom} 在 #"测试表"

我得到一个显示的表格 1 个清单 2 清单 3 错误 4 错误

虽然我期待 3 和 4 的日期格式为 DateFormatString 建议。

我也尝试过不使用DateFormatString,如

FormattedFrom = DateTime.ToText(#"TimeRange"[From]),

并使用DateFormatString = "YYYYMMDD",,如https://msdn.microsoft.com/en-us/library/mt253497.aspx 上的示例所示 但我得到了相同的结果。

我应该如何格式化日期?

编辑:错误说:Expression.Error:我们无法转换类型的值 要键入 DateTime 的列表。细节: 值=列表 类型=类型

【问题讨论】:

  • 通过从单元格中的“错误”中单击右键,错误消息将显示在预览窗口中。将其复制到您的线程中通常也很有帮助。

标签: excel business-intelligence powerquery


【解决方案1】:

DateTime.FromText 需要一个单元格作为第一个参数,而不是列。

此添加的自定义列将创建一个文本字符串,将 2 个日期与所需格式和“-”作为分隔符连接起来:

   String = Table.AddColumn(#"TimeRange", "String", each DateTime.ToText([From], DateFormatString)&"-"&DateTime.ToText([To], DateFormatString))

【讨论】:

  • 它说“Expression.SyntaxError: Token Equal expected.”在 "Table.AddColumn(" 之后。另外,我真的需要在一个字符串变量中使用它,我的意思是我需要构建一个 URL 之后调用数据服务。我是否以这种方式获取该字符串,然后 MyString = #"TimeRange"[String ](我根本不熟悉这种语言。)
  • 查看这段代码: let SettingsSheet = Excel.CurrentWorkbook(){[Name="Table2"]}[Content], #"TimeRange" = Table.TransformColumnTypes(SettingsSheet,{{"From" , 输入日期时间}, {"To", 输入日期时间}}), DateFormatString = "yyyy-MM-dd-THH:mm:ssZ", String = Table.AddColumn(#"TimeRange", "String", 每个 DateTime。 ToText([From], DateFormatString)&"-"&DateTime.ToText([To], DateFormatString)) in String
  • 如果您想了解更多关于这种语言的信息,请从以下内容开始:msdn.microsoft.com/en-us/library/mt299038.aspx 和周边文章并在此处查看更多信息:thebiccountant.com/learning-resources
  • 我现在更进一步了。现在的问题是,当我写 "url = "myurl/something/?from=" & FormattedFrom[FromDate] & "&to=" & FormattedTo[ToDate], Source = OData.Feed(url)," 我得到 "Expression.Error: We无法将运算符 & 应用于文本和列表类型。详细信息:运算符=&" Left= [url 的左侧] Right=List"
  • 分号似乎不属于这里:"url = "myurl/something/?from="; & 相反:"url = "myurl/something/?from=" & ...除此之外,你现在应该没事吧?
猜你喜欢
  • 1970-01-01
  • 2022-06-30
  • 2018-02-22
  • 1970-01-01
  • 2022-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多