Power BI-如何根据参数在Power BI Web上获取报告

时间:2019-02-04 06:45:32

标签: powerbi powerbi-embedded powerbi-desktop powerbi-datasource power-bi-report-server

我是Power BI的新手,正在做一些工作。 我在SQL Server数据库中有数百万条记录,我想要实现的是.. 每当我的同事在Power BI上打开报告时,它都必须询问date参数。 提交日期后,必须转到SQL Server并获取数据,然后必须显示报告。

有可能吗? 如果是这样,有人可以告诉我如何实现吗?

1 个答案:

答案 0 :(得分:1)

如果在报表中定义参数并将其用于过滤数据,则在加载报表时,将加载与过滤器匹配的数据。您可以提供一个默认值,您知道该默认值不会返回任何数据(例如,如果要在某个日期或之后显示数据,则为将来的日期)。

您可以声明一个参数(在日期数据类型的情况下)并使用它来过滤数据。要声明它,请在Power BI Desktop中打开报表,转到Power Query Editor(通过单击功能区中的Edit Queries按钮)并在Manage Parameters对话框中定义一个新参数:

Manage Parameters dialog

确保参数的数据类型与您的数据类型匹配,即,如果您的数据有时间,请定义Date/Time参数。如果您的数据是Date,请定义Date数据类型参数。

然后转到要过滤的查询,然后单击要过滤的列标题中的按钮。在日期/时间过滤器菜单中,选择如何过滤数据,例如提取某个日期或之后的数据:

enter image description here

然后,您可以关闭Power Query Editor并返回到报告。您可以在Edit Queries-Edit Parameters下的下拉菜单中更改参数的值。

如果要避免加载参数默认值的数据,可以将此报告另存为模板(File-> Export-> Power BI template),然后发送这个模板给你的同事。当他们打开它时,将提示他们输入已定义参数的值,只有在此之后,报表才会连接到数据源并获取匹配的数据。这意味着,首先,您没有使用Power BI Online,而是将报告作为文件共享,其次,您的同事可以访问数据源以加载数据。

如果必须将报告发布到Power BI Online,则可以使用完全不同的技术-而不是定义参数pass the filter in the report's URL。报表正常加载后(例如,您转到工作区并打开报表),它将显示所有数据(不会被过滤)。但是,您可以通过在浏览器地址栏中看到的报表URL上附加?filter=MyTable/DateColumn ge 2019-02-04来为同事准备一个特殊的URL。将MyTable替换为要过滤的表的名称(例如SalesData),将DateColumn替换为要过滤的表的名称(例如SalesDate) 。如果这些名称中有空格you must replace them with _0x0020_,但如果可能,请避免使用它们。之后,过滤器定义了operator进行过滤,例如ge的意思是greater than or equals。最后是值(您的情况下的日期)。

您可以创建一个网页,用户可以在其中选择日期,并且该页面将为您的报告生成适当的URL。或者,您也可以创建另一个报告,其中URL根据某些条件(例如,从切片器中选择日期)构造为计算列或度量,用户可以单击hyperlink,这将加载实际的报告,但已过滤。