导航查询对象
连接到 SAP BW 实例后,导航器对话框将显示所选服务器中的可用目录列表。
将看到一个名称为 $INFOCUBE 的目录文件夹。 此文件夹包含 SAP BW 系统中的所有 InfoProvider。
其他目录文件夹表示 SAP BW 中至少存在一个查询的 InfoProvider。
导航器对话框将显示所连接 SAP BW 系统中的数据对象的分层树。 下表介绍了对象类型。
符号 | 说明 |
---|---|
SAP BW 服务器 | |
目录 - $INFOCUBE 或 InfoProvider | |
InfoCube 或 BEx 查询 | |
关键数字 | |
Characteristic | |
特征级别 | |
属性(特性) | |
层次结构 |
注意
导航器将显示 InfoCube 和 BEx 查询。 对于 BEx 查询,可能需要进入业务资源管理器,打开所需的查询,并选中“允许外部访问此查询:通过 OLE DB for OLAP,以便查询在导航器中可用。
注意
在 Power BI Desktop 中,仅在导入连接模式下显示 InfoCube 或 BEx 查询节点下方的对象(如关键数字、特征和属性),而不是在 DirectQuery 模式下显示。 在 DirectQuery 模式下,所有可用的对象都映射到 Power BI 模型,并可用于任何视觉对象。
在导航器中,可以从不同的显示选项中进行选择,以查看 SAP BW 中的可用查询对象:
仅选定项:此选项将列表中显示的对象限制为仅选定项。 默认情况下,将显示所有查询对象。 此选项可用于查看查询中包含的对象。 查看所选项的另一种方法是在预览区域中选择列名称。
启用数据预览:此值为默认值。 此选项可用于控制是否应在导航器对话框中右侧显示数据预览。 禁用数据预览可减少服务器交互量和响应时间。 在 Power BI Desktop 中,数据预览仅在导入连接模式下可用。
技术名称:SAP BW 支持查询对象的技术名称的概念,而不是默认显示的描述性名称。 技术名称唯一标识 SAP BW 中的对象。 选中该选项后,技术名称将显示在对象的描述性名称旁边。
特征层次结构
即使未在特征上定义层次结构,特征也始终至少有一个特征级别(级别 01)。 特征级别 01 对象包含特征的所有成员作为值平面列表。
SAP BW 中的特征可以定义多个层次结构。 对于这些特征,只能选择一个层次结构或级别 01 对象。
对于具有层次结构的特征,层次结构的每个选定级别都将包含为该特征选择的属性。
度量属性
选择度量时,可以选择单位/货币、格式化值和格式字符串。 在下面的屏幕截图中,获取 COGS 的格式值很有用。 这有助于在所有报表中遵循相同的格式标准。
注意
在 DirectQuery 模式下,度量属性在 Power BI Desktop 中不可用。
多维数据的平展
Power Query 根据导航器中的所选对象和属性,构造一个 MDX 语句,该语句将发送到 SAP BW 以便执行。 MDX 语句返回可以使用 Power Query 编辑器进一步操作的平展数据集。
Power Query 使用 SAP BW 7.01 或更高版本中提供的较新接口。 该接口可减少内存消耗,并且结果集不受单元格数的限制。
将在所选特征和属性级别在 SAP BW 中聚合平展数据集。
即使有了这些改进,生成的数据集也会变得非常大且处理很耗时。
性能建议
仅包含最终需要的特征和属性。 目标是提高聚合级别。 例如,是否需要报表中的材料级别详细信息,或者材料组级别是否足够? Power BI 中需要哪些层次结构级别? 尝试创建较小的数据集,其中包含更高的聚合级别或多个较小的数据集,这些数据集稍后可以联接在一起。
Query parameters
SAP BW 中的查询可以定义动态筛选器,以便限制查询返回的数据集。 在 BEx 查询设计器中,可以使用所谓的特征限制和向该限制分配 变量,来定义这种类型的动态筛选器。 查询上的变量可能是必需或可选的,并且可供用户在导航器中使用。
在 Power Query 导航器中选择具有特征限制的 SAP BW 查询时,会看到变量在数据预览区域上方显示为参数。
使用显示选择器,可以显示在查询上定义的所有参数,也可以仅显示所需的参数。
上图中显示的查询具有多个可选参数,包括一个用于材料组的参数。 可以选择一个或多个材料组,以仅返回所选值的购买信息,即外壳、主板和处理器。 还可以直接在值字段中键入值。 对于具有多个条目的变量,应使用逗号分隔的值,在此示例中,将类似于 [0D_MTLGROUP].[201], [0D_MTLGROUP].[202], [0D_MTLGROUP].[208]
。
值 # 表示未分配;在此示例中,任何没有分配材料组值的数据记录。
性能建议
将在 SAP BW 数据源中将处理基于参数值的筛选器,而不是在 Power BI 中处理。 在将 SAP BW 数据加载或刷新到 Power BI 时,这种类型的处理对于较大的数据集具有性能优势。 将数据从 SAP BW 加载到 Power BI 中所需的时间会随数据集的大小增加而增加,例如平展结果集中的列数和行数。 要减少列数,请在导航器中仅选择最终想要查看的关键数字、特征和属性。
同样,要减少行数,请使用查询上的可用参数缩小数据集范围,或将较大的数据集拆分为多个较小的数据集,这些较小的数据集在 Power BI Desktop 数据模型中可以联接到一起。
在许多情况下,还可以与 SAP BW 中的 BEx 查询作者合作,克隆和修改现有查询,并通过添加其他特征限制或删除不必要的特征来优化其性能。
将 SAP 数据加载到 Power Query 中
在导航器中选择所需的 SAP 数据集后,可以将数据导入到 Power Query 编辑器中。 选择转换数据以启动 Power Query 编辑器,在其中可以执行其他数据转换和筛选步骤。
在上面的示例中,参数仅用于返回具有外壳、主板和处理器的材料组的记录。
在 Power Query Desktop 中,还可以选择加载,将 SAP BW 中的整个数据集加载到 Power BI Desktop 中。 Power BI Desktop 将定向到“报表”视图,可以在其中开始可视化数据,或使用“数据”或“关系”视图进行进一步修改。