从 SQL 服务器将数据导入 Power BI 时,如何动态更改 SQL 查询中使用的值?
When importing data into Power BI from SQL Server, how do you dynamically change a value used in the SQL query?
我有以下查询将数据从 SQL 服务器导入 Power BI。
SELECT *
FROM table_name
WHERE transaction_date > '2020-01-01 00:00:00'
我需要能够更改 transaction_date
的值(日期时间值),而不必每次都编辑查询。
我试图使用参数来执行此操作,但我不知道如何将其正确添加到 SQL 查询中。参数 current_date
是日期时间值。
SELECT *
FROM table_name
WHERE transaction_date > '"¤t_date&"'
我收到错误:
Conversion failed when converting date and/or time from character string.
请告诉我如何使用这些参数,或者是否有任何其他方法可以做到这一点。
您可以使用数据库接受的适当日期格式将值转换为文本,例如:
DateTime.ToText(current_date, [Format="yyyy-MM-dd HH:mm:ss", Culture="en-US"])
然后在您的 M 代码中使用该值来修改查询:
let
Source = Sql.Database(".", "SomeDatabaseName", [Query="select *#(lf)from table_name#(lf)where transaction_date >= '" & DateTime.ToText(current_date, [Format="yyyy-MM-dd HH:mm:ss", Culture="en-US"]) & "'"])
in
Source
请注意,每次参数值更改为新内容时,都会提示用户确认查询。要关闭此功能,您必须转到设置并取消选中 Require user approval for native database queries
复选框:
我有以下查询将数据从 SQL 服务器导入 Power BI。
SELECT *
FROM table_name
WHERE transaction_date > '2020-01-01 00:00:00'
我需要能够更改 transaction_date
的值(日期时间值),而不必每次都编辑查询。
我试图使用参数来执行此操作,但我不知道如何将其正确添加到 SQL 查询中。参数 current_date
是日期时间值。
SELECT *
FROM table_name
WHERE transaction_date > '"¤t_date&"'
我收到错误:
Conversion failed when converting date and/or time from character string.
请告诉我如何使用这些参数,或者是否有任何其他方法可以做到这一点。
您可以使用数据库接受的适当日期格式将值转换为文本,例如:
DateTime.ToText(current_date, [Format="yyyy-MM-dd HH:mm:ss", Culture="en-US"])
然后在您的 M 代码中使用该值来修改查询:
let
Source = Sql.Database(".", "SomeDatabaseName", [Query="select *#(lf)from table_name#(lf)where transaction_date >= '" & DateTime.ToText(current_date, [Format="yyyy-MM-dd HH:mm:ss", Culture="en-US"]) & "'"])
in
Source
请注意,每次参数值更改为新内容时,都会提示用户确认查询。要关闭此功能,您必须转到设置并取消选中 Require user approval for native database queries
复选框: