ITPub博客

首页 > Linux操作系统 > Linux操作系统 > MDX 读取多维表数据

MDX 读取多维表数据

Linux操作系统 作者:517424787 时间:2015-10-18 17:27:31 0 删除 编辑

最近忙着总结MDX语法

一般我们都习惯读取二维表的数据,比如物理表和DSO等。读取多维表(Cube)中的数据比较麻烦,它跟一般二维的语法有很大的差异。

这次以SAP BI 读取Cube中的数据为例。

分为以下四步:

1.Clear 表空间

2.MDX 语法

3.读取Cube数据的Function

4.把数据Insert到二维表中

1.

CLEAR:g_datasetid,g_start_cell,g_end_cell.
CLEAR:g_return,g_mndtry_prptys,g_option_prptys_vals,
        g_axis_info,g_axis_dimensions,g_cell_data,g_command_text.
  CLEAR: g_return[],g_mndtry_prptys[],g_option_prptys_vals[],
         g_axis_info[],g_axis_dimensions[],g_cell_data[],g_command_text[].

2.

DATA: l_str(40)   TYPE c.
  CLEAR: g_command_text,g_command_text[].
  APPEND ' SELECT NON EMPTY' TO g_command_text.
  APPEND '  {[Measures].[0AMOUNT]}' TO g_command_text.
  APPEND '   ON COLUMNS,' TO g_command_text.
  APPEND ' NON EMPTY' TO g_command_text.
  APPEND '  [0CO_AREA].[LEVEL01].MEMBERS ' TO g_command_text .
  APPEND '  * [0CO_DOC_NO].[LEVEL01].MEMBERS ' TO g_command_text.
  APPEND '  * [0CO_ITEM_NO].[LEVEL01].MEMBERS ON ROWS' TO g_command_text.
  APPEND ' FROM [$Z_FDGS_4]' TO g_command_text.
  APPEND ' WHERE' TO g_command_text.
  CLEAR l_str.
  CONCATENATE '([0CO_DOC_NO].'  '['  l_docno   '],'   INTO l_str.
  APPEND l_str TO g_command_text.

  CLEAR l_str.
  CONCATENATE '[0CALDAY].' '[' p_date ']'  ')' INTO l_str.
  APPEND l_str TO g_command_text.

3.
Function:
 BAPI_MDDATASET_CREATE_OBJECT
 BAPI_MDDATASET_GET_AXIS_DATA
 BAPI_MDDATASET_GET_AXIS_INFO
 BAPI_MDDATASET_GET_CELL_DATA
 BAPI_MDDATASET_DELETE_OBJECT
4.
通过以上的Function可以获取多维表的数据,通过循环和截取存放到二维表中。
 
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16354317/viewspace-1814807/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2015-03-30

  • 博文量
    22
  • 访问量
    26531