数据集字段集合 (Power BI Report Builder)

适用于: Power BI Report Builder Power BI Desktop

数据集字段表示来自数据连接的数据。 字段可以表示数值数据,也可以表示非数值数据。 示例包括销售额、总销售额、客户名称、数据库标识符、URL、图像、空间数据和电子邮件地址。 在设计图面上,字段显示为报表项(如文本框、表和图表)中的表达式。

报表有三种类型的字段,它们显示在“报表数据”窗格中:数据集字段、数据集计算字段和内置字段。

  • 数据集字段。 对数据源运行数据集查询时,表示要返回的字段集合的元数据。

  • 数据集计算字段。 为数据集创建的其他字段。 通过计算定义的表达式来创建各个计算字段。

  • 内置字段。 表示由报表生成器提供的字段集合的元数据,字段集合提供报表信息,如报表名称或处理报表的时间。 有关详细信息,请参阅内置全局信息和用户引用 (Power BI Report Builder)

数据集字段和查询

数据集字段由数据集查询命令和您定义的所有计算字段指定。 对于嵌入式数据集而言,字段集合是对数据源运行当前查询后返回的字段列表。

计算字段

通过创建表达式可以手动指定计算字段。 计算字段可用于创建数据源中不存在的新值。 例如,计算字段可以表示新值、一组字段值的自定义排序顺序,也可以表示转换为另一数据类型的现有字段。

计算字段是报表的本地字段。

使用扩展字段属性

支持多维查询的数据源(例如,SQL ServerAnalysis Services)支持字段的字段属性。 字段属性显示在查询的结果集中,但是在 “报表数据” 窗格中不可见。 它们仍可在报表中使用。 若要引用字段的属性,请将该字段拖到报表中,然后将默认属性 Value 更改为所需属性的字段名。 例如,在 Analysis Services 多维数据集中,可以定义多维数据集单元格中的值格式。 通过使用字段属性 FormattedValue可使用已格式化值。 若要直接使用该格式化值,而不是使用一个值,然后再设置文本框的格式属性,请将该字段拖到该文本框中,然后将默认表达式 =Fields!FieldName.Value 更改为 =Fields!FieldName.FormattedValue

注意

并非所有的 Field 属性均可用于所有数据源。 针对所有的数据源定义 ValueIsMissing 属性。 仅当数据源提供了其他预定义的属性(例如,多维数据源的 KeyUniqueNameParentUniqueName )时,才支持这些属性。 某些数据访问接口支持自定义属性。

了解字段的默认表达式

文本框可以是报表正文中的文本框报表项,也可以是 Tablix 数据区域的单元中的一个文本框。 将字段与文本框进行链接时,文本框的位置决定了字段引用的默认表达式。 在报表正文中,文本框值表达式必须指定聚合和数据集。 如果报表中只有一个数据集,系统将为您创建此默认表达式。 对于表示数值的字段,默认聚合函数为 SUM。 对于表示非数值的字段,默认聚合为 First。

在 Tablix 数据区域中,默认字段表达式取决于字段所添加到的文本框的行成员身份和组成员身份。 将“销售量”字段添加到表详细信息行的文本框中时,字段表达式为 [Sales]。 如果将同一字段添加到组头中的文本框,则默认表达式为 (Sum[Sales]),这是因为组头显示组的汇总值,而不是详细值。 报表运行时,报表处理器对每个表达式进行计算,然后替换报表中的结果。

有关表达式的详细信息,请参阅表达式 (Power BI Report Builder)

字段数据类型

创建数据集后,数据源中字段的数据类型可能不与报表中使用的数据类型完全相同。 数据类型可能经过一到两层映射。 数据处理扩展插件或数据访问接口可能将数据源中的数据类型映射到公共语言运行时 (CLR) 数据类型。 数据处理扩展插件返回的数据类型将映射到 .NET Framework中的公共语言运行时 (CLR) 数据类型的子集。

在数据源中,数据以该数据源所支持的数据类型存储。 例如, SQL Server 数据库中的数据必须是受支持的 SQL Server 数据类型之一,例如 nvarchardatetime。 从数据源检索数据时,数据通过与数据源类型相关联的数据处理扩展插件或数据访问接口进行传递。 数据可能从数据源所使用的数据类型转换为数据处理扩展插件所支持的数据类型,具体情况取决于数据处理扩展插件。 Reporting Services 使用公共语言运行时 (CLR) 所支持的数据类型。 数据访问接口将结果集中的每一列从本机数据类型映射到 .NET Framework 公共语言运行时 (CLR) 数据类型。

在每个阶段,数据分别由不同的数据类型表示,如以下列表所描述:

  • 数据源 :所连接的数据源类型版本支持的数据类型。

    例如, SQL Server 数据源的典型数据类型包括 intdatetimevarchar

  • 数据访问接口或数据处理扩展插件 :连接到数据源时选择的数据处理扩展插件的数据访问接口版本所支持的数据类型。 基于 .NET Framework 的数据访问接口使用 CLR 支持的数据类型。

    例如, .NET Framework 支持的典型数据类型包括 Int32StringDateTime 结构支持日历日期和时间。

  • 报表处理器:数据类型基于在安装 Power BI Report Builder 时所安装的 CLR 版本

有关在表达式中包含对数据集字段的引用的详细信息,请参阅表达式中的数据类型 (Power BI Report Builder)

在运行时检测缺少的字段

处理报表时,数据集的结果集可能会由于数据源中不再存在指定的所有列而不包含这些列的值。 可以使用字段属性 IsMissing 检测在运行时是否返回了某个字段的值。 有关详细信息,请参阅数据集字段集合引用 (Power BI Report Builder)