使用 Power BI Desktop 可以访问 SAP BusinessWarehouse (BW) 数据。

安装 SAP BW 连接器

若要使用 SAP BW 连接器,请完成以下安装步骤:

  1. 在本地计算机上安装 SAP NetWeaver 库。 你可以从 SAP 管理员处获取 SAP Netweaver 库,也可以直接从 SAP 软件下载中心下载。 由于 SAP 软件下载中心的结构经常发生变化,因此没有有关站点导航的更多具体指导。 SAP NetWeaver 库通常还包括在 SAP 客户端工具安装中。

    可以搜索 *SAP 注释 #1025361*,获取最新版本的下载位置。 请确保 SAP NetWeaver 库(32 位或 64 位)的体系结构匹配 Power BI Desktop 安装,然后按照 SAP Note 安装 SAP NetWeaver RFC SDK 中包含的所有文件。

  2. 获取数据”对话框在“数据库”类别中包含针对 SAP Business Warehouse 服务器的条目。

SAP BW 连接器功能

Power BI Desktop 中的 SAP BW 连接器预览功能允许用户从他们的 SAP Business Warehouse 服务器多维数据集中导入数据。 必须指定服务器*、*系统编号*和*客户端 ID 才能建立连接。

你还可以指定两个额外的“高级选项”:语言代码和针对指定服务器运行的自定义 MDX 语句。

如果未指定任何 MDX 语句,则向你显示导航器窗口,其中将显示服务器上可用的多维数据集、向下钻取的选项,以及来自可用多维数据集的选择项的列表,包括维度和度量值。 Power BI 显示由 BW 开放分析接口 OLAP BAPI 公开的查询和多维数据集。

当从服务器中选择一个或多个项时,将基于它们的选择创建输出表的预览。

导航器窗口也提供了一些显示选项,允许你执行以下操作:

  • 显示*仅选定项*与*所有项*(默认视图):此选项在验证最后一组选定项时十分有用。 查看此类容的另一种方法是选择*预览*区域中的*列名称*。

  • 启用数据预览(默认行为):还可以控制是否应在此对话框中显示数据预览。 禁用数据预览会减少服务器调用的数量,因其将不再请求数据以进行预览。

  • 技术名称:对于多维数据集中的对象,SAP BW 支持*技术名称*的概念。 技术名称允许多维数据集所有者公开多维数据集对象的*用户友好*名称,而不是仅公开多维数据集中的那些对象的*物理名称*。

导航器中选择所有必须的对象后,你可以通过选择导航器窗口底部的下列按钮之一,决定要执行的下一步操作。

  • 选择加载将会触发将输出表的整个行集加载到 Power BI Desktop 数据模型中,然后将你带到报表视图,在此你可以使用数据关系视图来开始对这些数据进行视觉化处理或进行进一步的修改。

  • 选择编辑将打开查询编辑器,在整个列集引入到 Power BI Desktop 数据模型之前,你可以在其中执行其他数据转换和筛选步骤。

除了从 SAP BW 多维数据集导入数据之外,请记住,你还可以从 Power BI Desktop 中的很多其他数据源导入数据,然后将它们合并到单一报表中。 这将在 SAP BW 数据顶部将演示各种有趣的报表和分析方案。

故障排除

本部分内容提供有关使用此预览版的 SAP BW 连接器的故障排除(和解决方案)。

  1. 来自 SAP BW 的数值数据返回小数点,而不是逗号。 例如,1,000,000 的返回形式为 1.000.000。

    SAP BW 返回以 ,*(逗号)或 *. (句点)作为十进制分隔符的十进制数据。 为指定哪些 SAP BW 可用于十进制分隔符,Power BI Desktop 使用的驱动程序会调用 BAPI_USER_GET_DETAIL*。 该调用返回一个名为 DEFAULTS 的结构,它包含一个名为 *DCPFM 的字段,用于存储*十进制格式表示法*。 它采用以下三个值之一:“ ”(空格)= 小数点为逗号:N.NNN,NN “X”= 小数点为句点:N,NNN.NN “Y”= 小数点为 N NNN NNN,NN

    报告此问题的客户发现,对于特定用户(显示不正确的数据的用户),对 BAPI_USER_GET_DETAIL 的调用失败,并显示类似于以下内容的错误消息:

    You are not authorized to display users in group TI:
        <item>
            <TYPE>E</TYPE>
            <ID>01</ID>
            <NUMBER>512</NUMBER>
            <MESSAGE>You are not authorized to display users in group TI</MESSAGE>
            <LOG_NO/>
            <LOG_MSG_NO>000000</LOG_MSG_NO>
            <MESSAGE_V1>TI</MESSAGE_V1>
            <MESSAGE_V2/>
            <MESSAGE_V3/>
            <MESSAGE_V4/>
            <PARAMETER/>
            <ROW>0</ROW>
            <FIELD>BNAME</FIELD>
            <SYSTEM>CLNTPW1400</SYSTEM>
        </item>
    

    为了修复此错误,用户必须要求他们的 SAP 管理员授予在 Power BI 中使用的 SAPBW 用户执行 BAPI_USER_GET_DETAIL 的权限。 需要确定的另一点是,用户是否具有必需的 DCPFM 值,如本故障排除解决方案前面的内容所述。

  2. SAP BEx 查询的连接

    你可以通过启用特定属性执行 Power BI Desktop 中的“BEx”查询,如下图所示: