excel - 如何使用 Excel 中表中的命名日期来过滤 Power Query?
问题描述
所以我之前实际上已经用我已经构建的查询完成了此操作,但这次我尝试使用从 Excel 表中提取的日期来过滤其他人构建的 Power Query,这不是最干净的代码。我在正确编写代码时遇到问题,也不想把它搞砸。下面是我为 Start_Date 和 End_Date 提供的代码。
let
Source = Excel.CurrentWorkbook(){[Name="Start_Date"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type date}}),
Start_Date = Record.Field(#"Changed Type"{0},"Column1")
in
Start_Date
let
Source = Excel.CurrentWorkbook(){[Name="End_Date"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type date}}),
End_Date = Record.Field(#"Changed Type"{0},"Column1")
in
End_Date
这使我的日期格式为 Start_Date 的 12/29/2019 和 End_Date 的 6/26/2021。然后我尝试在下面的代码中使用这些来替换当前存在的日期。
let
Start_Date = Start_Date,
End_Date = End_Date,
Source = Sql.Database("", "", [Query="-- Estimated Runtime: <30 sec for 1 year of data#(lf)#
(lf)Declare @StartDate date#(lf)Declare @EndDate date#(lf)Set @EndDate = End_Date -- Set
EndDate to Now#(lf)Set @StartDate = '2019-12-29'--dateadd(yy,-1,dateadd(yy,
datediff(yy,0,@EndDate),0)) -- Set StartDate to January 1st of previous year#(lf)#(lf)
但是,如果我只是尝试用命名的 Start_Date 和 End_Date 替换日期,则会收到以下错误消息。
DataSource.Error: Microsoft SQL: Invalid column name 'End_Date'.
Details:
DataSourceKind=SQL
DataSourcePath=jansql01;mas500_app
Message=Invalid column name 'End_Date'.
Number=207
Class=16
任何帮助是极大的赞赏!
解决方案
它需要是 SQL 可以消化的文本格式。
所以而不是
Query="...Set @EndDate = End_Date..."
你需要End_Date
作为一个字符串插入更像
Query="...Set @EndDate = '" & Date.ToText(End_Date, "yyyy-MM-dd") & "'..."
推荐阅读
- java - 错误:Java 链码正在进行中,并在 Fabric 1.1 中被禁用
- android - Room:使用 ID 检索用户信息
- css - DataTable中一个单元格的动态css - PrimeNG
- apache-kafka - 以 Kafka Avro 文件格式将新模式/主题添加到模式注册表
- java - 从命令行运行 Verticle 时找不到包
- java - 对 sendBroadcast(intent) 无操作
- ios - iOS Scope Bar 添加到 UISearchBar 下后不出现
- javascript - 将 js 对象发送为 html 表单
- r - 所有在 Shiny 中绘制 xray 分布的输出?
- functional-programming - Kotlin 中的元素算术运算