簡體   English   中英

如何使用 Excel 表中的命名日期來過濾 Power Query?

[英]How to use named date from table in Excel to filter 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") & "'..."

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM