Webi 中的 Merge Dimensions

由于项目原因要经常使用Merge Dimension, 今天抽空把其中的道道复习了一下。

为了方便描述, 依然沿用BO 自带的 Island Resort Marketing作为Universe。

 
 

分别创建两个Data Providers,

如下所示,

 
 

[Year 1998]:


 

[Year 1998 1999]: 

 

 
 

运行查询, 结果如图,

  

现在将Year, Resort两个Dimension Merge起来,拖出的报表如下所示:

  

 
 

可见, 现在的报表显示样式是根据Merge之后的Dimension叠加而来。 

 
 

如果我如果想使用DP1中的Dimension作为Driving Value,该怎么做呢?

OK, 打开Merge之后的Dimension, 选择第一个DP中的Dimension.

拖入报表, 这样, 报表后面的值就是根据第一个DP中的Dimension值而来。

 
 

  
 

同理, 可以将DP2中的值作为Driving value.

 
 

另: Document的Properties中有一个选项叫: Extended Merged Dimension ...

Read More...

BO Enable Database Credentials

这是在BO当中使用数据库已有账户进行数据查询的一种方式。

 
 

下面通过一个简单的例子来说明一下。

 
 

首先要确保在数据库中有相应用户。比如,有一个用户名叫”Test1″,他的名下有Test_Value这张表,表中有数据,如下:

 
 

                                    ID
————————————–
                                     1

 
 

与此同时,有Test2用户, 同样, 在他的名下也有Test_Value这张表, 数据如下:

 
 

                                    ID
————————————–
                                     2

 
 

去到CMC新建两个用户, BO1, BO2, 修改两者的属性, 分别指向数据库用户Test1和Test2.

 
 

使用BO1创建一个Universe, 创建基于Test_Value表的Object。

 
 

创建完之后修改connection的Authentication Mode为”Use BusinessObjects Credential Mapping”。(这步很重要,否则会以标准的方式去数据库取数,无视前面的”用户mapping”)

 
 

保存universe,然后Export。

 
 

分别使用BO1和BO2登录,新建一个基于刚刚创建的universe的Webi报表,运行,就能看出两者查询出来的结果是不一样的。

 
 

===================================

 
 

总觉得BO的这种用户Mapping方式应该和Oracle的VPD相结合,以达到最佳的维护和可定制性。 改天研究一下。...

Read More...