我是新来的电力BI,做一些工作。我有几百万的在SQL Server数据库中的记录,我想要实现的是..每当我的同事打开电源BI报告,它必须要求的日期参数。一旦日期被提交,那么它必须去到SQL Server并获取数据,然后它必须显示报告。
可能吗?如果是,可能会有人请告诉我如何实现的呢?
如果您在报表中定义参数,并用它来过滤数据,当您加载报告,匹配过滤器的数据将被载入。您可以提供一个默认值,你知道将不返回数据(例如日期在未来,如果你是显示上或者经过一些时间的数据)。
你可以声明一个参数(在你的日期数据类型的情况下),并用它来过滤数据。声明一下,打开你的电力BI桌面报表,转到Power Query Editor
(通过点击功能区Edit Queries
按钮),并定义Manage Parameters
对话框中一个新的参数:
确保参数的数据类型的数据的类型,也就是说,如果你的数据有时间,定义Date/Time
参数相匹配。如果你的数据是Date
,定义Date
数据类型参数。
然后去查询,要筛选和列您要过滤器的标题点击按钮。在日期/时间过滤器菜单中选择如何筛选数据,例如获取即或某个日期后的数据:
然后你就可以关闭Power Query Editor
并返回报告。您可以向下修改从下拉列表中参数值下Edit Queries
- Edit Parameters
。
如果你想避免装载数据的参数的默认值,你可以保存这个报告模板(File
- > Export
- > Power BI template
),然后发送这个模板给您的同事。当他们打开它,他们将被提示定义的参数输入值,只有在此之后,该报告将连接到数据源并获取匹配的数据。这意味着,第一,你没有使用Power BI在线,但共享该报告为一个文件,第二你的同事已经访问数据源,以便能够加载数据。
如果必须发布到双向电力网的报告,那么你可以使用完全不同的技术 - 而不是定义参数,pass the filter in the report's URL。当报告正常加载(例如你去到工作区,并打开该报告),它会显示所有的数据(它不会被过滤)。但是,你可以为你的同事准备一个特殊的URL,通过追加?filter=MyTable/DateColumn ge 2019-02-04
您在浏览器的地址栏中看到该报告的网址。你要过滤的表的名称(例如MyTable
)和SalesData
与要筛选(例如DateColumn
)字段的名称替换SalesDate
。如果在这些名字空间,you must replace them with _0x0020_
,但如果可能的话,就避免它们。在这以后,过滤器限定用于滤波,例如一个operator ge
意味着greater than or equals
。并在结尾处的值(在您的案件之日起)。
你可以做一个网页,用户可以在其中选择一个日期,而这个页面将生成报表的适当的URL。或者你可以做的另一份报告,其中URL被构造为计算列或基于某些条件的措施(例如,选择从切片机的日期),用户可以点击hyperlink,这将载入实际的报告,但过滤。