云网站服务器_国内数据云存储_移动云数据库服务器主机-搜集站云

云存储_ftp云服务器_12月免费

小七 141 0

作者简介:

Sukdev Koner是NetWeaver BI和SAP HANA的SAP认证顾问。他是BW/HANA架构师,在该领域拥有12年的经验。他为SAP BI Analytics在制药、快速消费品、,京淘客,实用、电力和保险/咨询。

目的和目标受众:

本博客将有助于那些在SAP BI系统中尝试过多项性能优化的人,如从PSA/更改日志中删除旧数据、压缩BW信息立方体、对信息提供者进行分区。对于特定的查询(在大的多维数据集上),执行时间相当长。

背景:

SAP BI Multi provider充当union操作符,用于组合多提供者中对象的数据。在这里,系统构造所涉及的数据集的联合集;这些数据集的所有值都是组合的。

多提供者可以由以下信息提供者的不同组合组成:信息立方体、数据存储对象、信息对象、信息集、虚拟提供者和聚合级别。

SAP指南是在顶部创建所有查询即使查询是基于单个信息提供程序,也是多提供程序的查询(某些情况下位于信息集之上)。

问题陈述:

当您在多提供程序之上执行查询时,超级淘客,其搜索和并行读取所有底层多维数据集/DSO。但所有多维数据集中的所有记录都至少搜索一次。例如,总共有100亿条记录。

如果您的多维数据集按时间特征(如0CALDAY或0FISCPER)进行分区,则在您运行时间特征查询时,它可能只搜索特定的一个或多个多维数据集。

但是如果,云服务器ecs,您的多维数据集没有分区,在生产环境中也没有分区的作用域。或者说您希望根据非时间特征(例如按物料、客户或利润中心)搜索/过滤报表

解决方案:

如果我们可以对特定的多维数据集执行查询(根据用户在查询输入选择中的选择),大量数据,那么性能和响应时间就会很好。

我们可以按照下面的方法来观察执行时间和内存/CPU使用率方面的性能提升(即使您有HANA作为数据库或BWA)。

假设您有一个DSO–ZDSO\U O01。在过去的10年里它有100亿的记录。DSO中的利润中心总数(0利润中心)为9。(30001, 30002 …. 30009)。

首先在DSO上创建三个立方体。说出ZCUBE_C01、ZCUBE_C02和ZCUBE_C03。

加载3个具有以下DTP选择的多维数据集:

ZDSO_O01->ZCUBE_C01(利润中心=30001、30002、30003)

ZDSO_O01->ZCUBE_C02(利润中心=30004、30005、30006)

ZDSO_O01->ZCUBE_C03(利润中心=30007、30008、30009)

在三个多维数据集的顶部创建一个多提供商ZMP_M01。转到查询设计器,返利app是真的吗,创建BEx查询。

业务用户希望对其有权限访问的利润中心执行查询。因此查询将一次执行一个利润中心。

在多提供商之上创建一个查询,并创建以下两个变量:

退出变量的目的是将查询执行限制到特定的信息多维数据集。

转到事务代码SMOD。

键入"RSR00001"并选择"组件"和"更改"。双击Include'ZXRSRU01'并写入下面的代码。

实际代码:

如果i\u step=2。

CASE i\u vnam。

WHEN'CUBE\u VAR'。0INFOPROV的Userr Exit变量

将表i\u VAR\u range读入l\u VAR\u range使用vnam键="PROFIT\u C\u V."利润中心变量–准备用户输入

如果sy subrc EQ 0.

lv\u PROFIT\u ctr=l\u var\u range-low.

*********立方体1的限制**************如果lv\ U利润ctr EQ'00000300001'或lv\ U利润ctr EQ'00000300002'或lv\ U利润ctr EQ'00000300003'。l\u s\u range-low='ZCUBE\u C01'。ENDIF.

**********多维数据集2的限制**************如果lv\ U利润ctr EQ'00000300004'或lv\ U利润ctr EQ'00000300005'或lv\ U利润ctr EQ'00000300006'。l\u s\u range-low='ZCUBE\u C02'。ENDIF.

**********立方体3的限制**************如果lv\ U利润ctr EQ'00000300007'或lv\ U利润ctr EQ'0000030008'或lv\ U利润ctr EQ'00000300009'。l\u s\u range-low='ZCUBE\u C03'。结束

**************l\u s\u range-sign='I'。l\u s\u range-opt='EQ'。

将l\u s\u range附加到e\u t\u range。ENDIF.

ENDCASE.

ENDIF.

结论:

在RSRT中执行BEx查询,在调试中可以看到基于利润中心的选择,它只选择了一个信息立方体。其他两个多维数据集完全不搜索。

因此性能更好,CPU使用率和内存读取、I/O吞吐量也得到提高。

下一步是什么: