Excel - 使用单元格值作为传递日期 ODBC SQL PowerQuery

Excel - Using cell value as pass-through date ODBC SQL PowerQuery

提问人:cgwoz 提问时间:5/25/2022 最后编辑:cgwoz 更新时间:5/25/2022 访问量:503

问:

我已经在这里和这里看到了关于 SO 的参考帖子。我已经尝试了论坛的回复,但无法成功运行我的 PowerQuery。

到目前为止,我已将“开始日期”和“结束日期”单元格命名为“StartDate”和“EndDate”。从那里,我创建了两个空白查询,它们都重命名为 StartDateValue 和 EndDateValue,如下所示: 和(StartDate) => Excel.CurrentWorkbook(){[Name=StartDate]}[Content]{0}[Column1](EndDate) => Excel.CurrentWorkbook(){[Name=EndDate]}[Content]{0}[Column1]

现在,循环回到我的原始 PowerQuery,用于设置这些日期参数的 where 子句如下所示:

 AND A."CREATED_DTM" BETWEEN Excel.Workbook(File.Contents(StartDateValue("StartDate"))) and Excel.Workbook(File.Contents(EndDateValue("EndDate")))
          

这样做似乎行不通。虽然,如果我替换我的“失败”调用并简单地输入日期值,就像我的脚本正常执行一样。也许我错过了一个步骤或没有在我的 SQL 中正确调用值......不太确定。有关此的任何信息都有帮助,谢谢。'5/1/2022'

SQL Excel 参数传递 PowerQuery

评论

0赞 alexherm 5/25/2022
该问题可能与日期格式有关。

答:

0赞 horseyride 5/25/2022 #1

我不确定您打算如何在 powerquery 中使用它,但您可能希望在查询中以文本格式显示 StartDate 和 EndDate 单元格的内容,因此请放弃您的两个函数,只需将这些行包含在您的代码中

SD = Text.From(Date.From(Excel.CurrentWorkbook(){[Name="StartDate"]}[Content]{0}[Column1])),
ED = Text.From(Date.From(Excel.CurrentWorkbook(){[Name="EndDate"]}[Content]{0}[Column1])),

然后您可以根据需要使用 SD 和 ED

text = "this is some text with " & SD & " and " & ED & " in them"

= Sql.Database("SERVER", "DATABASE", [Query="SELECT * FROM [TABLE] WHERE weekStartDate>='"&SD&"'"])

评论

0赞 cgwoz 5/25/2022
我只想将 2 个单元格中的日期值作为 WHERE 子句中的日期参数传递到 ODBC SQL 脚本中。示例:WHERE “4-1-2022”和“5-1”2022之间的日期 但我的两个日期是我的单元格值