内置集合 - 分页报表中的全局和用户引用(Power BI 报表生成器)
适用于: Power BI Report Builder Power BI Desktop
内置字段集合包含“Globals”和“User”集合,表示处理分页报表时由 Reporting Services 提供的全局值 。 Globals 集合提供一些值,例如报表名称、开始处理报表的时间,以及报表表头或表尾的当前页码。 User 集合提供用户标识符和语言设置。 这些值在表达式中用于对报表中的结果进行筛选。
使用全局集合
Globals 集合包含报表的全局变量。 在设计图面上,这些变量显示为带有前缀 &(& 号),例如 [&ReportName]
。 下表对 Globals 集合的成员进行了说明。
成员 | 类型 | 说明 |
---|---|---|
ExecutionTime | DateTime | 报表开始运行的日期和时间。 |
PageNumber | 整数 | 相对于重置页码的分页符的当前页码。 在报表处理开始时,初始值设置为 1。 对于每个呈现的页,该页码将增 1。 若要为矩形、数据区域、数据区域组或地图在分页符内对页面进行编号,请在“PageBreak”属性上,将“ResetPageNumber”属性设置为“True”。 不支持 Tablix 列层次结构组。 PageNumber 只能用于页眉或页脚中的表达式中。 |
TotalPages | 整数 | 相对于重置 PageNumber 的分页符的总页数。 如果未设置分页符,则该值与 OverallTotalPages 相同。 TotalPages 只能用于页眉或页脚中的表达式中。 |
PageName | 字符串 | 页的名称。 开始处理报表时,从 InitialPageName(这是一个报表属性)设置初始值。 处理每个报表项时,该值将被来自矩形、数据区域、数据区域组或地图的 PageName 的相应值替换。 不支持 Tablix 列层次结构组。 PageName 只能用于页眉或页脚中的表达式中。 |
OverallPageNumber | 整数 | 针对整个报表的当前页的页码。 此值不受 ResetPageNumber 影响。 OverallPageNumber 只能用于页眉或页脚中的表达式中。 |
OverallTotalPages | 整数 | 整个报表的总页数。 此值不受 ResetPageNumber 影响。 OverallTotalPages 只能用于页眉或页脚中的表达式中。 |
RenderFormat | RenderFormat | 与当前呈现请求有关的信息。 有关详细信息,请参阅下一节中的“RenderFormat”。 |
Globals 集合的成员将返回一个变量。 如果要在表达式中使用此集合中要求特定数据类型的成员,则必须先转换该变量。 例如,若要将执行时间变量转换为 Date 格式,请使用 =CDate(Globals!ExecutionTime)
。 有关详细信息,请参阅表达式中的数据类型 (Power BI Report Builder)。
RenderFormat
下表介绍 RenderFormat的成员。
成员 | 类型 | 说明 |
---|---|---|
名称 | 字符串 | 已注册的呈现器的名称。 在报表处理/呈现周期的特定环节可用。 |
IsInteractive | 布尔值 | 当前呈现请求是否使用交互式呈现格式。 |
DeviceInfo | 只读名称/值集合 | 当前呈现请求的 deviceinfo 参数的键/值对。 可以通过使用集合中的键或索引指定字符串值。 |
示例
下面的示例演示如何在表达式中使用对 Globals 集合的引用:
此表达式放置在报表表尾的文本框中,提供了报表的页码和总页数:
=Globals.PageNumber & " of " & Globals.TotalPages
此表达式提供了报表的名称和运行时间。 时间格式用 Microsoft .NET Framework 格式字符串设置为短日期:
=Globals.ReportName & ", dated " & Format(Globals.ExecutionTime, "d")
此表达式位于所选列的 “列可见性” 对话框中,仅当将报表导出到 Excel 后才会显示该列。 否则,此列将会隐藏。
EXCELOPENXML
引用 Office 2007 中包含的 Excel 的格式。EXCEL
引用 Office 2003 中包含的 Excel 的格式。=IIF(Globals!RenderFormat.Name = "EXCELOPENXML" OR Globals!RenderFormat.Name = "EXCEL", false, true)
使用用户集合
User 集合包含运行报表的用户的相关数据。 可以使用此集合筛选报表中显示的数据,例如,仅显示当前用户的数据或显示 UserID(如在报表标题中)。 在设计图面上,这些变量显示为带有前缀 &(& 号),例如 [&UserID]
。
下表对 User 集合的成员进行了说明。
成员 | 类型 | 说明 |
---|---|---|
语言 | 字符串 | 运行报表的用户的语言。 例如,en-US 。 |
UserID | 字符串 | 运行报表的用户的 ID。 |
使用区域设置
可以使用表达式通过 User.Language 值来引用客户端计算机上的区域设置,从而确定如何向用户显示报表。 例如,可创建基于区域值而使用不同查询表达式的报表。 查询可以根据返回的语言发生相应更改,从不同的列中检索本地化信息。 您还可以根据此变量在报表或报表项的语言设置中使用表达式。
注意
在更改报表的语言设置时,必须注意由此引发的显示问题。 例如,更改报表的区域设置可以更改报表的日期格式,也可以更改货币格式。 除非已对货币进行转换,否则上述更改可能导致在报表中显示错误的货币符号。 若要避免这种情况,可设置要更改的各个项的语言信息,或将包含货币数据的项设置为特定语言。