SDN论坛看到BW的问题及相关解答

SDN论坛看到BW的问题及相关解答

连接: http://blog.sina.com.cn/s/blog_5c58e3c70100r1ou.htmlhtml

 

  1. 如今有一个 QUERY 运行十分慢 , 因此我想在 BW 里找到一个工具来分析这个 QUERY 是怎么运行的 . 想知道慢在什么地方 , 用了多少时间等一些具体信息 .
  2.  
    1. 在 BW 中使用交易代码 RSRT
    2. 填上须要测试的报表的技术名称
    3. 单击执行 + 调试
    4. 勾选弹出的调试选项对话框的其余中的显示统计数据和未使用高速缓存
    5. 输入 Querry 的所须要的变量,运行
    6. 结果回来以后, F3 返回 统计数据界面:将持续时间求和减去时间等待时间、用户的时间,获得的时间做为该报表的统计时间
    7. 报表执行的速度通常都是
      cache > BIA > Aggregate > Cube 自身 ..
      因此第二次执行,能从 cache 取数的话,天然就快 了
  3. 我在激活一个 DSO 时,因为数据量比较大,差很少有 2 千多万条的数据,以前的传输进程都是绿灯,可在激活过程当中,就变成了红灯,无论激活多少次也是红灯,请问这个是什么缘由啊

这个 DSO 是主要作报表用,仍是作数据存放及 delta 用,若是是后者的话,更改 DSO 的属性把 "SIDs Generation upon Activation" 的勾弃掉,若是是前者,能够经过事务 "RSODSO_SETTINGS" 调整相应参数来提升你的 active 的效率。 数据库

Parameter for SID Generation 中, Maximum package Size 是 2 万, maximum wait time for process 是 600(10 分钟 ) ,这个数字是不是越大越好 ?
Maximum package Size 是根据你的内存来设的, maximum wait time for process 能够长一点。 缓存

  1. 执行 " 分配工做簿 " 后,收到了邮件,但是 Excel 里的中文都是井号 "#######" ,请问该怎么解决?谢谢!
    BW
    3.5 的。

a)     退出 BW 系统,关闭全部 BW 系统的窗口和 EXCEL 的窗口; 安全

b)      右键点击 " 个人电脑 " ,选择 " 属性 "――>" 高级 "――>" 环境变量 "--" 系统变量 "--" 新建 " ,变量名: SAP_CODEPAGE 变量值: 8400 工具

c)       依次点击 " 肯定 " ,保存新增的环境变量 .
不行的话,重启下机器,另外注意用户名密码输入界面下的语言输入 ZH post

  1. 我目前在作一个 供应商分析 的报表的时候碰到了一个过滤不出过滤条件的问题,望各位大侠能帮忙!谢谢!

报表是在信息提供者:设备主数据 上出的。供应商是 设备主数据 的一个 属性(导航)。在 query 里制做报表的时候行上是 ' 供应商 ' ,列上是 ' 设备数 ' 。目的是分析该供应商都提供了多少设备。固然自由特性里有个设备号,能够追溯。
但当我用
rsrt 测试报表的时候, * 正常显示是没有问题的 * ,但想过滤出特定的供应商的时候老是过滤不出来。再追踪的时候出现以下提示:

'
在特性 ZZCZZS 的主数据表中不存在特性值 ##################### 。所以,没法将此值传输到内部 SID 中。 ' 测试

另外 ecc 的时候 供应商就是中文,并不像其余的设备的属性同样有个编号,而后编号能够对应一个中文。 是否是和中文有关,由于在提示里的特性值是 ##### 有没有解决的办法? 谢谢了!!! url

还有在不管是设备主数据仍是供应商主数据中中文显示都正常,我在过滤的时候是选择的,而不是输入问题。 设计

用 RSRC check 你的那二个特征,并修复。 调试

rsa1-- 工具 -- 应用层次结构 / 属性更改 -- 信息对象清单,检查设备特性是否在列表里,选中执行属性更改

  1. SAP 后勤数据的抽取,使用的增量队列, 财务数据的抽取,使用的是时间戳, 这句话对不对? 财务数据使用时间戳,就是说不经过增量队列,数据由业务系统直接到达 BW 系统, 彷佛与实际状况不符。
    1
    、使用 RSA7 查看增量队列时,确实能够看到财务数据源: 0FI_GL_4, 0FI_GL_6,
    2
    、总帐凭证过帐后,当即进行数据抽取, 0FI_GL_4 并不能马上抽取到数据,而 0FI_GL_6 马上就能够抽取到最新数据, 这是怎么回事呢? 或者我哪里理解错了?
  2. SAP 后勤数据的抽取,使用的增量队列, 财务数据的抽取,使用的是时间戳, 这句话是对的,
    总帐凭证过帐后,当即进 行数据抽取, 0FI_GL_4 并不能马上抽取到数据,而 0FI_GL_6 马上就能够抽取到最新数据, 这是怎么回事呢? 那是缘由这二个的时间戳的粒度不同,一个是到时分秒的,一个只是到 posting date 的。0FI_GL_10 和 0FI_GL_14 都是为 new GL 提供的 datasouce.
    0FI_GL_4 和 0FI_GL_6 在 BW 7.x 也都是可用的 。
  3. BW 请求数据,在 R3 端执行对应的 FM 操做,获取数据,写入增量队列 。
  4. 我如今有个问题,对于同一个 Transformation ,其中有个字段,须要针对不一样的 DTP ,赋予不一样的值,请问若是处理,谢谢!

1 能够在表 tvarvc 中建一个变量

2 而后在不一样的 dtp 中的 transfert routine 里写 赋值给上面变量 的 code : 好比 dtp A 执行则赋变量的值 为 A 若 dtp B 则变量的 值为 B 。。。。

3 而后在 transformation start routine 中 去读 变量的值 看是从哪一个 dtp 过来的 ,而后更改处理规则 。

一、  创建一个表;

二、  在 DTP 的过滤条件中写代码给表插入一条记录;

三、  在转换中去读取该表中的记录,并在结束例程中删除表中记录。

  1. DSO 用来存储明细数据,其结构比较简单 , 对于值的转换 , 既可使用合计,也可使用覆盖的方式。因在源端 ,  若是存在相同的 customer 记录 , 须要合并 , 为了省事 , 并无写 abap 代码 , 直接启用了合计的方式 , 若是使用合计的方式,能够用 delta 吗(最终的 DSO ? 若是能够 , 该用什么类型的 delta. 若是不能够 , 又不想写代码 , 如何能实现合计和 delta 的两种功能 .

肯定你的状况必需要要用合计 ? 用合计的 kf 通常要谨慎的 肯定你在的 kf 合计出的结果的正确性 ,否则整个 dso 里的数据都会错误。 delta 是 适用的 recordmode 用 after image 便可 .

能够用 RSA2 查到每一个数据源的 delta 属性,好比 2lis_03_bf 是 ABR, 这表示这个数据有 after image 、 before image 、 revise image.

不是说 ods 用合计不能作 delta , 而是说 ods 通常用来记录的是合计每条数据的详细状况,若是 ods 里不作报表 你能够把 kf 当 charactestic 来理解 ,而在 cube 里面来合计 是相对于不一样的 diemension 来合计你的 kf 这样是为报表多维分析服务的 。

ods的 delta是把 change log表的变化记录往上更新 , "合计 "是 key值相同下 ,keyfigure累加的 .

你能够用 DSO, 可是得用两层 DSO, 第一层 DSO1 用 Overwrite 方式 , 用来正确获取 Delta 的 Change log 数据 , 第二层 DSO2 从 DSO1 更新 , 可使用 Sum 方式 .

   

  1. 因为每隔一段时间须要对 PSA 进行清理, PSA 的数量多,并且每个我只懂用右键 -> 管理,而后一条一条地选择须要删除的记录(批量一个时间段的,如 1-3 个月的每日 Delta )。
    请问各位高手,有没有更好的方法能够清理
    PSA 的数据。

一、  仅成功登记 / 更新请求 ==== 就是指成功更新到 DSO 或者 CUBE 的数据请求
2 、仅那些未在数据目标中登记的带有错误的请求 ==== 就是出错了,没有更新到 DSO 或者 CUBE 的请求
3 、仅删除装载请求,不要删除激活请求( ODSR...)==== 这个应该是说成功装载可是没有上传到 DSO 或者 CUBE 的请求吧。

通常来讲,咱们是删除前 30 天的请求,保留一个月的请求数据便可,这样作的好处是还能节省一下磁盘空间 。

   

  1. FI 怎么抽取当天的数据?

FI-AP 、 AR 的设计就是抽取前面一天的数据,所以增量不能抽取到当天的数据。
若是数据量不大的话,建议进行全量抽取,而后在 BW 使用 DSO 进行增量的处理 。

  1. 安全上下限

BW 中,存在两种数据抽取方式,彻底更新与增量更新,彻底更新是每次把截至到某个时间的数据所有抽取,增量抽取则只抽取上次和本次抽取之间更新的数据,很显 然,增量抽取可以提升系统效率,根据 SAP 帮助的说法,增量更新又分为时间戳和增量 队列两种方法,其中财务数据的抽取为时间戳增量法,后勤数据的抽取为加强队列法。对于增量更新,都须要先对数据抽取进行初始化,而后再进行增量的抽取。对 于时间戳增量法,系统存在一个延迟时间,即时间戳设置时间与记帐时间的差别,好比时间戳是根据建立时间(或输入时间)来肯定是否更新的依据,而在抽取开始 时(时间戳已标记),此时凭证已建立而未记帐(即未更新至数据库),则这次没法抽取到该凭证,但下次抽取时,因为已在时间戳范围以外,也再也不进行抽取,从 而致使抽取数据遗漏,避免此问题, SAP 帮助上给出了经过设置安全抽取时间的方法,设置视图为 BWOM2_V_SAFETY ,可根据不一样的数据源设置不一样的安全时间,两个小时为推荐设置
这个安全时间是对于已经建立但未保存在凭证而言,若是在这个安全时间内保存了,则这次抽取将包含在内 ,

好比你 6小时抽取一次数据,假如你第一次在 12:00抽取,那么下次应该是 18:00抽取,那么应该来讲 18:00抽取的数据是 12:00-18:00的数据才对,可是有种状况须要你考虑,好比我 11:55在作一个凭证,可是中间我去吃饭, 12:30才回来完成这个凭证,那么这个凭证就是 11:55建立的,在 12:00抽取的时候,因为凭证没有产生,所以没法抽取,可是下次 18:00抽取的时候,因为这个凭证是在 11:55建立的,因此也没法抽取到。
作 BW数据仓库最重要的一条准则就是 "不重复、不遗漏 ",那么这样你就遗漏了数据,那么 SAP就想了个办法,就是好比此次我抽取从 06:00-12:00,那么下次我抽取从 11:30-18:00,这样上面的凭证就能抽取出来了吧,这时候 11:30-12:00就有半个小时的重复,这个就叫作 Lower Limit。
同上,好比我 12:00抽取的时候,不想抽取 06:00-12:00,而是想抽取 06:00-11:30,那么我就设置一个 Higher Limit 为 30分钟,则抽取的时候就不会到最新的时间,而是须要过帐半小时前的凭证。
比 如我设置了 30分钟的 Lower Limit, 30分钟的 Higher Limit,那么我 12:00抽取的数据应该是 05:00-11:30的数据,下次抽取的数据时 11:00-17:30,在下次就是 17:00-23:30,在下次就是 23:00-05:30,在下次就是 05:00-11:30,如此循环。

可是若是设置了 Lower Limit和 Higher Limit以后,请记得在 BW中使用 DSO来处理数据。

  1. 如何在 query 中把默认的转换汇率改为期末汇率 ? query 中默认的汇率转换类型都是 "M" ,但如今我须要把一个报表的转换汇率改为期末汇率,即汇率类型为 "V".
    该如何解决这个问题
    ?

在 RSCUR 中建立新的货币转换类型就能够了,不过 3.5 版本中事务代码为 rrc1.

  1. 你们都知道从 dso cube 进行增量抽取数据时 , 只有未被抽入 cube 的那部分增量数据才会进入 cube. 而系统具体是怎么从 change log 中判断出那部分增量数据的 ? 具体经过那些表 , 那位给讲解一下 .

每次 DSO 数据进行激活更新时,都会在 change log 表产生一个 request ,这个 request 对应此次请求发生改变的全部记录,若是是新记录, change log table 中的 recordmode = N, 若是是更改,那么会产生 2 条记录,一条 recordmode = X 表明修改前,另一条 recordmode = " " 表示修改后。 往 cube 上 delta 更新的时候,就是靠这些来获取变化量的,新产生的 request 中的那些记录。

相关文章
相关标签/搜索