如何解决如何基于可视化中的参数刷新Power BI报表?
与标题相同。我想根据参数刷新Power BI Desktop报告。日期参数。我可以在查询编辑器中创建日期参数(和其他参数),所以不是这种情况。案例是如何根据在查询编辑器中创建的参数刷新Power BI报表(可视化)。有可能吗?
这里是一个例子:
这些是我的Power BI可视化文件中的过滤器。应该根据年/月(用户可以在过滤器上选择月,年)报告自动刷新-年和月(或日期)必须作为SQL参数传递。
解决方法
我找到了解决方案。关键是在这里使用NativeQuery。步骤如下:
- 使用参数(例如 DateFrom 和 DateTo )创建存储过程,并将数据导入Power BI
- 在PowerQuery编辑器中创建2个参数。假设 startDate 和 endDate 。设置一些默认值:
- 转到“高级编辑器”以更改M代码。正确的方法如下:
let
Source = Sql.Database("ServerName\12","Base2"),Query = Value.NativeQuery(
Source,"EXEC [dbo].[storedProcedure_XYZ] @DateFrom = '" & Date.ToText(startDate) & "',@DateTo = '" & Date.ToText(endDate) & "'")
in
Query
@DateFrom 和 @DateTo 是SQL参数,必须按照我上面显示的方式将PQ参数(startDate和endDate)分配给它们。
重要的是,您不能将EXEC ....语句放在“ SQL语句字段”中以导入数据(当然,您需要填写服务器名称等)。 我的意思是,您可以先导入原始数据(请参见第1点),但此后此字段应保持为空。现在,整个工作由您的M代码使用本机查询完成。
-
在“高级编辑器”中单击“确定”(请参阅第3点),您的SQL查询将与参数一起执行。现在您可以在Power BI中看到刷新的数据。
-
转到Power BI中的可视化层。单击此小箭头向下的“转换数据”,然后选择“编辑参数”:
- 现在输入参数值。
单击“确定”就可以了!现在将根据您从PBI可视化层传递的参数来刷新SQL查询,所有刷新的数据将被加载到PBI中的数据模型中-这意味着您的可视化将自动使用新数据进行更新。它不再是状态-现在是动态的:)
关于它的另一个好处是,从SQL导入到PQ的基表将不会更改为函数(通常是在对查询进行参数化时)-即使您在基查询中使用参数,它仍然保留在表中。将数据加载到PBI数据模型中所产生的问题更少,所有列都保留在原处,并且没有任何列被删除。它对我来说很完美。
我还关闭了本机查询批准(转到“选项”>“安全性”),因为PBI不会征求您执行查询的许可。当您使用本机查询时,这是一件好事(请记住安全性问题,在这里很重要)。
,否,自2020年8月18日起无法创建动态刷新计划。您的报表中有控件(桌面),并且控件在线。就是这样。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。