使用参数创建动态报表

动态报表是开发人员可以根据用户规范更改数据的报表。 可以通过确定要在报表中要查看其数据的值来使用参数,报表会通过筛选数据来相应地进行更新。对于数据量非常大,影响Power BI 运行性能的,可以通过这个动态更改数据源筛选的方法。

通过创建动态报表,可使用户更大程度地控制报表中显示的数据;他们可自行更改数据源并筛选数据。

接下来我用案例来操作具体步骤。

数据库用 SQL Server 上的数据库来做。

一,链接数据库

1,输入服务器详细信息后,请在“SQL Server 数据库”窗口中选择“高级选项”。

2,将 SQL 查询粘贴到“SQL 语句”框,然后选择“确定”。

select incident.incident_id "INCIDENT_ID", incident.short_desc "SUMMARY", incident.inc_status ""STATUS"" from inciden WHERE [INCIDENT_ID] = "52044482"

在这里插入图片描述
3,选择“编辑”,以在 Power Query 编辑器中打开数据。

二,接下来,你将按照以下步骤创建参数

1,在“开始”选项卡上,选择“管理参数”>“新建参数”。

2,在“参数”窗口中,将默认参数名称更改为更具描述性的名称,使其用途明确。 在此例中,你会名称更改为“SalesTable”。

3,从“类型”列表中选择“文本”,然后从“建议值”列表中选择“任何值”。

4,选择“确定” 。
在这里插入图片描述
此时将为你创建的参数显示一个新查询。

在这里插入图片描述

三,现在需要调整 SQL 查询中的代码,以访问你的新参数

1,右键单击“Query1”,然后选择“高级编辑器”。

2,将执行语句中的现有值替换为与号 (&),后跟参数名称 (SalesTable),如下图所示。
在这里插入图片描述
3,然后选择“完成”。虽然在屏幕上看不到差别,但 Power BI 运行了查询。

4,若要确认查询是否已运行,可选择参数查询并在“当前值”框中输入一个新值来运行测试。
在这里插入图片描述
5,查询旁边可能会显示警告图标。 如果出现,请选择该查询来查看警告消息,其中会指出需要权限才能运行此本机数据库查询。 选择“编辑权限”,然后选择“运行”。

四,现可将参数应用于报表

1,选择“编辑查询”>“编辑参数”。

2,在“编辑参数”窗口中,输入一个新值,然后选择“确定”。

3,选择“应用更改”,接着再次运行本机查询。

4,现在,在Query1表查看数据时,你会看到通过参数传递的新值的数据。

五,为多个值创建动态报表

1,若要一次满足多个值,首先需要创建一张 Microsoft Excel 工作表,表中有一列,该列包含Query1表里用于做参数的值列表。

2,接下来,使用 Power BI Desktop 中的“获取数据”功能连接到该 Excel 工作表中的数据,然后执行以下步骤

(1)在“导航器”窗口中选择“编辑”,在 Power Query 编辑器中打开数据,你将看到一个新的数据表查询。

(2)查询窗格中的表

(3)将表中的列重命名为更具描述性的名称。
在这里插入图片描述

(4)将列数据类型更改为“文本”,使其与参数类型相匹配,并避免数据转换问题。

六,接下来,需要创建一个函数,它将新的 INCIDENT_ID 查询传递到 Query1

1,右键单击“Query1”,然后选择“创建函数”。
在这里插入图片描述
2,输入函数的名称,然后选择“确定”
在这里插入图片描述
新函数将在“查询”窗格中显示。
在这里插入图片描述
3,若要确保 Query1 不显示在报表的字段列表中(这可能会使用户感到困惑),可再次右键单击“Query1”,然后选择“启用加载”(默认已选中)来禁用此功能。

4,选择从 Excel 工作表加载的“Sheet”查询,然后在这个表中添加一列。点击“添加列”选项卡上,选择“调用自定义函数”来运行你创建的自定义函数。

5,从“功能查询”列表中选择你的函数。“新列名”自动更新,并且默认情况下会选择包含你要通过参数传递的值的表。
在这里插入图片描述

6,选择“确定”;如果必要,请运行本机查询。在 “INCIDENT_ID” 列的旁边显示“GetSalesFromSalesTale”函数的新列。

7,选择新列标题中的双箭头图标,然后选中要加载的列的复选框。

8,清除屏幕底部的“使用原始列名作为前缀”复选框,因为无需在报表中看到使用列名的前缀。

9,选择“确定” 。此时你可以在Sheet表中看到 所有所选参数的数据。
在这里插入图片描述

七,在Excel 工作表中控制报表展示的 INCIDENT_ID

1,如果需要,可将更多值 “INCIDENT_ID” 添加到 Excel 工作表中的 INCIDENT_ID 列,也可更改现有值。

2,保存更改,然后回到 Power Query 编辑器。

3,“刷新预览”,然后再次运行本机查询(如有必要),你将在此处的“字段”窗格中看到新列名。

以上就是所有用参数创建动态报表的全部过程。

  • 25
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值