基于 Power BI 共享数据集创建分页报表
适用于: Power BI Report Builder Power BI Desktop
可以将在 Power BI Desktop 中创建的数据集用作 Power BI 报表生成器分页报表的数据源。 假设有这样一个场景:你已经在 Power BI Desktop 中创建了一个 Power BI 报表。 你花了很多时间来设计数据模型,然后创建了一个包含各种出色视觉对象的精美 Power BI 报表。 此报表中有一个包含多个行的矩阵,需要滚动页面才能查看全部内容。 报表阅览者希望打印该报表,以便显示矩阵中的所有行。
Power BI 分页报表可以实现此目的:打印分为多页的一张表或一个矩阵,并包含页眉页脚以及设计的完美页面布局。 它可进一步完善 Power BI Desktop 报表。 要想报表基于完全相同的数据且没有任何差异,需要使用同一数据集。
所需内容
以下是在 Power BI 报表生成器中使用共享数据集所需和不需要的事项。
- 下载并安装 Power BI Report Builder。
- 此数据集可以位于任何工作区中,你也无需是该工作区的成员。
- 要访问 Power BI 语义模型,需要具有该数据集的生成权限。 请参阅生成权限。
- 需要 Power BI Pro 许可证或 Premium Per User (PPU) 许可证才能分布分页报表。
- 在 Power BI Report Builder 中创建分页报表无需 Power BI Pro 或 PPU 许可证。
- 可以发布到“我的工作区”。 对于任何其他工作区,至少需要参与者角色。
如果需要按照本文内容进行操作,请下载零售分析示例 .pbix 文件,在 Power BI Desktop 中将其打开并添加一个包含多列的表。 在“格式”窗格中,将“总计”下的开关滑动到“关闭”位置。
然后在 Power BI 服务中将报表发布到工作区。
连接到 Power BI 语义模型
打开 Power BI 报表生成器。
选择报表生成器右上角的“登录”,登录 Power BI 帐户。
在“报表数据”窗格中,选择“新建”>“Power BI 语义模型连接”。
注意
无法通过 Report Builder 表、矩阵或图表向导为 Power BI 语义模型创建数据源或数据集。 创建数据源或数据集后,可以使用这些向导基于它们来创建表、矩阵或图表。
搜索或浏览到数据集或数据集驻留的工作区,然后选择“选择”。 报表生成器会填充数据集名称。
该数据集位于“报表数据”窗格中的“数据源”之下。
请记住,可在同一个分页报表中连接到多个 Power BI 语义模型和其他数据源。
获取数据集的 DAX 查询
如果希望 Power BI 报表和分页报表中的数据相同,仅连接到数据集是不够的。 还需要基于该数据集构建的数据分析表达式 (DAX) 查询。
视频:获取 DAX 查询
在下面的视频中,Chris Finlan 演示如何获取分页报表所需的 DAX。
注意
此视频可能使用的是早期版本的 Power BI Report Builder 或 Power BI 服务。
获取 DAX 查询的步骤
执行以下步骤获取查询。
在 Power BI Desktop 中打开 Power BI 报表 (.pbix)。
请确保报表中具有一张包含分页报表中所有数据的表。 表需要满足以下两个要求:
它必须是一个平面表,而不是矩阵或其他视觉对象。 如果它不是表,请立即将其转换为表,完成下面的性能分析器步骤,然后将其转换回所需的视觉对象。
对于数字字段,需要使用预定义的度量值。 它们旁边有一个计算器符号。 阅读有关创建度量值的信息。
在“视图”功能区中,选择“性能分析器” 。
在“性能分析器”窗格中,选择“开始录制”,然后选择“刷新视觉对象” 。
展开表名称旁边的加号 (+) 并选择“复制查询”。 此查询是 Power BI 报表生成器中数据集所需的 DAX 公式。
使用查询创建数据集
返回到 Power BI 报表生成器。
右键单击“数据源”下方的数据集,然后选择“添加数据集” 。
在“数据集属性”中,为数据集命名,并选择“查询设计器”。
确保选择“DAX”,并取消选择“设计模式”图标 。
在上方的框中,粘贴从 Power BI Desktop 中复制的查询。
注意
如果查询包含 TOPN 函数,请从查询中将其删除。
选择“执行查询”(红色感叹号 !),确保查询正常运行。
查询结果如下方的框中所示。
选择“确定”。
在“数据集属性”对话框的“查询”窗口中可以查看查询 。
选择“确定”。
在“报表数据”窗格中,现在可以看到新数据集及其字段列表。
在报表中创建一张表
一种快速创建表的方法是使用表向导。
在“插入”功能区中选择“表格”>“表向导” 。
选择先前使用 DAX 查询创建的数据集,然后选择“下一步”。
若要创建平面表,请在“可用字段”中选择所需的字段。 可以一次性选择多个字段,方法是先选择第一个所需字段,按住 Shift 键并选择最后一个所需字段。
将字段拖动到“值”框,然后选择“下一步”。
选择需要的布局选项,然后选择“下一步”。
选择完成。 在“设计视图”中查看表。
选择“单击以添加标题”添加一个标题。
选择“运行”以预览报表。
选择“打印布局”,查看报表的打印效果。
此报表布局需要一些调整。 由于列和边距使得该表宽度为两页,该报表包含 54 页。
设置报表格式
可以通过多个格式选项将该表的宽度调为一页。
可以在“属性”窗格中缩小页边距。 如果“属性”窗格未显示,请在“视图”功能区中选中“属性”复选框 。
选择报表(而非表或标题)。
在“报表属性”窗格的“页面”下,展开“边距”,将每个 1 更改为 0.75 英寸 。
还可缩小列宽。 选择列边框并将其右侧向左拖动。
另一种方法是确保为数字设置适当的格式。 选择一个包含数值的单元格。
提示
可以按住 Shift 键并选择其他单元格,一次性设置多个单元格的格式。
在“开始”功能区的“数字”区域中,将“默认”格式更改为“货币”等数值格式 。
将“占位符”样式更改为“示例值”,以便能在单元格中看到格式设置 。
如果合适,请在“数字”区域中减少小数位数,以便节省更多空间。
删除空白页
即便边距和表列宽已经缩小,可能每隔一页仍存在一张空白页。 为什么? 原因在于算术问题。
将设置的页边距以及报表正文宽度相加后,值必须小于报表格式的宽度。
例如,假设报表格式为 8.5" X 11" 且所设单侧边距为 0.75。 由于两侧边距之和为 1.5",因此正文宽度必须小于 7"。
选择并拖动报表设计图面右边缘,使其读数小于标尺上的所需数字。
提示
在“正文”属性中可以进行更为精确的设置。 在“大小”下,设置“宽度”属性 。
选择“运行”预览报表并确保已删除空白页。 与先前的 54 页相比,该报表现在仅有 26 页。 成功!
注意事项和限制
- 对于采用 Analysis Services 实时连接的数据集,可以使用基础 Analysis Services 连接而不是共享数据集直接进行连接。
- 如果希望使用 Power BI 语义模型(在 Power BI Report Builder 中使用 DirectQuery),则该数据集必须包括一个度量值,即使你不打算在报表中显示该度量值。 如果没有度量值,该数据集将返回错误的数据结果。
- 虽然可用数据集列表中显示了具有提升或认证认可的数据集,但其并未被标记为可用数据集。