BIEE 11g 左连接 右连接

0

BIEE 11g RPD数据模型 表连接 的问题

报表查询 SQL 代码如下:

WITH SAWITH0 AS
 (select sum(T461272.GOODS_NUMBER) as c1,
         sum(T461272.GOODS_AMOUNT) as c2,
         sum(T461272.GOODS_MAMOUNT) as c3,
         sum(T461272.GOODS_RETURN_NUMBER) as c4,
         sum(T461272.GOODS_RETURN_AMOUNT) as c5,
         sum(T461272.GOODS_NET_NUMBER) as c6,
         sum(T461272.GOODS_NET_AMOUNT) as c7,
         T460098.BRST_NAME as c8
    from B2C_EDW.EDW_B2C_BI_PRODUCT_ITEM T460098
    full outer join(B2C_EDW.EDW_B2C_BI_CALENDAR_DAY T460865 /* EDW_B2C_BI_CALENDAR_PAY_DAY */
   inner join(B2C_EDW.EDW_B2C_OS_CHANNEL T460120
   inner join B2C_EDW.EDW_B2C_OS_FINANCE_SALE_CHL T461272
      On T460120.CHANNEL_CODE = T461272.CHANNEL_CODE) On T460865.DAY_KEY = T461272.SALE_DAY) On T460098.GOODS_SN = T461272.GOODS_SN
   where (T460120.CHANNEL_NAME = '有范APP' and
         T460865.CLNDR_DT >= TO_DATE('2015-05-26', 'YYYY-MM-DD'))
   group by T460098.BRST_NAME),
SAWITH1 AS
 (select sum(T469827.GOODS_NUMBER) as c1, T460098.BRST_NAME as c2
    from B2C_EDW.EDW_B2C_BI_PRODUCT_ITEM       T460098,
         B2C_EDW.EDW_B2C_OS_CHANNEL            T460120,
         B2C_EDW.EDW_B2C_BI_CALENDAR_DAY       T460865 /* EDW_B2C_BI_CALENDAR_PAY_DAY */,
         B2C_EDW.EDW_B2C_OS_OPERATION_SALE_ORD T469827
   where (T460098.GOODS_SN = T469827.GOODS_SN and
         T460120.CHANNEL_CODE = T469827.ORDER_FROM and
         T460120.CHANNEL_NAME = '有范APP' and
         T460865.DAY_KEY = T469827.PAY_DAY and
         T460865.CLNDR_DT >= TO_DATE('2015-05-26', 'YYYY-MM-DD'))
   group by T460098.BRST_NAME),
SAWITH2 AS
 (select count(distinct T622983.SKU_ITEM_NBR) as c1, T460098.BRST_NAME as c2
    from B2C_EDW.EDW_B2C_BI_PRODUCT_ITEM T460098
    full outer join B2C_EDW.V_APP_LM_UNIFY_STOCK T622983
      On T460098.GOODS_SN = T622983.ITEM_CD
   group by T460098.BRST_NAME)
select 0 as c1,
       case
         when D1.c8 is not null then
          D1.c8
         when D2.c2 is not null then
          D2.c2
         when D3.c2 is not null then
          D3.c2
       end as c2,
       D1.c2 as c3,
       D1.c2 / nullif(D2.c1, 0) as c4,
       D1.c3 as c5,
       D1.c7 as c6,
       D1.c6 as c7,
       D1.c1 as c8,
       D1.c5 as c9,
       D1.c4 as c10,
       D3.c1 as c11,
       D1.c2 * 100.0 / nullif(D1.c3, 0) as c12,
       D2.c1 as c29
  from (SAWITH0 D1 full outer join SAWITH1 D2 On
        SYS_OP_MAP_NONNULL(D1.c8) = SYS_OP_MAP_NONNULL(D2.c2))
  left outer join SAWITH2 D3
    On SYS_OP_MAP_NONNULL(D3.c2) =
       SYS_OP_MAP_NONNULL(case
                            when D1.c8 is not null then
                             D1.c8
                            when D2.c2 is not null then
                             D2.c2
                          end)


其中 “left outer join SAWITH2 D3”  部分想要改写成 right outer join ,请问 RPD模型应该如何设定
已邀请:
1

闪亮的杀猪刀 - OBIEE + Informatica 爱好者 2015-06-03 回答

http://blog.csdn.net/biplusplu ... 52377

无意中发现的解决方法 还没有验证
0

匆匆 - 拔剑浴血幕,只为红颜故、BIEE高级工程师 2015-06-02 回答

你看看这部分在模型的逻辑层是怎么设置的额,可以截图上来,我记得好像是在逻辑层那里可以设置
0

匆匆 - 拔剑浴血幕,只为红颜故、BIEE高级工程师 2015-06-02 回答

[~M}6S2LWF_R9][0EJMALPU.jpg

这里

要回复问题请先登录注册