首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可视化中如何基于参数刷新Power报表?

可视化中如何基于参数刷新Power报表?
EN

Stack Overflow用户
提问于 2020-08-18 13:51:49
回答 3查看 3.6K关注 0票数 1

就像在标题里一样。我想刷新基于参数(如日期参数)的Power桌面报告。我可以在查询编辑器中创建日期参数(和其他参数),所以这不是一种情况。案例是如何根据在查询编辑器中创建的参数刷新Power报告(可视化)。有可能吗?

下面是一个示例:

这些是我的Power可视化中的过滤器。基于年份/月(用户可以在筛选器上选择月份、年份)报告应自动刷新--必须将年份(或日期)作为SQL参数传递。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-08-21 08:33:03

我找到了解决办法。关键是在这里使用NativeQuery。这些步骤如下:

  1. 创建带有参数的存储过程(例如、DateFrom、DateTo),并将数据导入到PowerQuery编辑器中的Power
  2. 中,创建2个参数。假设startDateendDate。设置一些默认值:

  1. 转到“高级编辑器”以更改M代码。适当的方法应该如下:

代码语言:javascript
复制
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)必须以我前面展示的方式分配给它们。

重要的是你不能让主管..。用于导入数据的“SQL语句字段”中的语句(当然,您需要填写服务器名称等)。我的意思是,您可以首先导入原始数据(参见第一点),但在此之后,该字段应该保持为空。整个工作现在由您的M代码使用本机查询完成。

在您的“高级编辑器”中单击“Ok”(参见第3点)后,

  1. 将与参数一起执行您的SQL查询。现在您可以看到PowerBI.

中的数据刷新了

  1. 转到Power中的可视化层。单击“转换数据”的小箭头,然后选择“编辑Parameters':

  1. 现在输入参数的值。

点击OK,就这样!您的SQL查询现在正在根据从PBI可视化层传递的参数进行刷新,所有刷新的数据都将加载到PBI中的数据模型中--这意味着您的可视化将使用新的数据自动更新。它不再是统计数据--它现在是动态的:)

它的另一个好处是,从SQL导入到PQ的基表不会更改为函数(通常是参数化查询时)--即使在基本查询中使用参数,它仍然是表。它减少了将数据加载到PBI数据模型中的问题,所有列都保留在它们的位置上,没有一个列被删除。对我来说是完美的。

我还关闭了本机查询批准(转到Options>Security),因为PBI不请求您执行查询的权限。当您使用本机查询时,这是一件好事(请记住安全问题,这在这里很重要)。

票数 2
EN

Stack Overflow用户

发布于 2020-08-18 16:38:25

不,不可能在2020年08/18创建一个动态刷新计划。您的报告(桌面)中有您的控件&您有在线控件。就这样。

票数 1
EN

Stack Overflow用户

发布于 2022-10-17 07:38:31

实际上,此方法只在power桌面上工作,当您将报表发布到pbi服务或power服务器时,没有任何管理参数选项。

对于ms/pbi开发团队来说,这是很长一段时间待定的主题。

最好的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63470125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档