BIEE 问题收集

对用户进行权限控制,编辑filter 时,选择维度,和事实表,那么权限控制不一样,需要对每一个展示表进行控制吗?

可否全局控制

BIEE 问题收集_第1张图片

 

 

 

 

INTDOUBLE型数据

整形数据相除不会得到小数

在后台将起改成浮点型即可

BIEE 问题收集_第2张图片

 

 

添加报表连接,下载、刷新、复制等等

BIEE 问题收集_第3张图片

清理缓存时可以 查看  管理会话 通过日志可以知道 当前查看的是否为缓存数据

 

如果是缓存会显示 cache hit XXX

连查两次相同的 看会话 就能看出来了

下钻排序问题,如果对下钻列进行了排序,那么下钻的得到的明细也会排序,明细会排序完成后再跳到其他字段的排序

表格列格式隐藏某个字段,透视图中点击该字段属性,点击隐藏,再反选隐藏,就可以显示出来,从而实现表格隐藏,而透视图不隐藏

两个不同主题联合查询

 

1 获取第一个主题的逻辑SQL,获取第二个主题的逻辑SQL

2 将两个SQL进行拼接,然后填入逻辑SQL

BIEE 问题收集_第4张图片

3 条件就会变成如下效果

BIEE 问题收集_第5张图片

资源来源:

4.3 - Against two Subject Areas (Multiple Subject Area)

In the 10g version, the GUI of Answer is not able to provide a wizard to create a SQL (answer) against multiple subject with the JOIN clause, you have to create it manually and past it in the advanced tab.

To develop your Logical SQL, you can use an ODBC client such as the Issue SQL module of BI Presentation Service.

Steps:

  • Go to the advanced tab of answer and copy/paste the following Logical Sql which is a OBIEE - Full outer Join of the two previous sql:

SELECT
   SubjectArea1.saw_0 saw_0,
   SubjectArea1.saw_1 saw_1,
   SubjectArea1.saw_2 saw_2,
   SubjectArea2.saw_2 saw_3
FROM
  (
   SELECT
      Customers."Cust Id" saw_0,
      Customers."Cust Last Name" saw_1,
      "Sales Facts"."Amount Sold" saw_2
   FROM
      SH
   WHERE
      Customers."Cust Id" < 10
  ) SubjectArea1 FULL OUTER JOIN
  (
    SELECT
       Customers."Cust Id" saw_0,
       Customers."Cust Last Name" saw_1,
       "FactWithCustomerDim"."Amount" saw_2
    FROM
       SH2
    WHERE
       Customers."Cust Id" < 9 ) SubjectArea2
ON
   SubjectArea1."Cust Id" = SubjectArea2.saw_0
ORDER BY saw_0, saw_1

 

  • Click op the set XML button and review the result report

BIEE 问题收集_第6张图片

 

来自 <https://gerardnico.com/dat/obiee/obis/logical_sql/multiple_subject_area>

 

 

 

https://gerardnico.com/dat/obiee/obis/logical_sql/multiple_subject_area

 

华哥提供的列子:

SELECT f1.s_1 saw_0,

       f1.s_2 saw_1,

       f1.s_3 saw_2,

       f1.s_4 saw_3,

       f1.s_7 saw_4,

       f1.s_6 saw_5,

       f3.s7 saw_6,

       f3.s2 saw_7,

       CAST(f3.s1 AS CHAR) saw_8,

       SUM((CASE

             WHEN f1.s_3 = '主营业务收入-出口' AND f1.s_6 = '2014' THEN

              f1.s_5

             ELSE

              NULL

           END) BY f1.s_2,

           f1.s_4,

           f1.s_1,

           f1.s_6,

           f1.s_3) saw_9,

       SUM((CASE

             WHEN f1.s_3 = '主营业务成本-出口' AND f1.s_6 = '2014' THEN

              f1.s_5

             ELSE

              NULL

           END) BY f1.s_2,

           f1.s_4,

           f1.s_1,

           f1.s_6,

           f1.s_3) saw_10,

       SUM((CASE

             WHEN f1.s_3 = '营业费用-外贸合同费用-佣金' AND f1.s_6 = '2014' THEN

              f1.s_5

             ELSE

              NULL

           END) BY f1.s_2,

           f1.s_4,

           f1.s_1,

           f1.s_6,

           f1.s_3) saw_11,

       CAST(SUM((CASE

                  WHEN f1.s_3 = '主营业务收入-出口' AND f1.s_6 = '2014' THEN

                   f1.s_5

                  ELSE

                   NULL

                END) BY f1.s_2,

                f1.s_4,

                f1.s_1,

                f1.s_6,

                f1.s_3) AS DOUBLE) /

       CAST((CASE

              WHEN f1.s_3 = '主营业务收入-出口' AND f1.s_6 = '2014' THEN

               f1.s_7

              ELSE

               NULL

            END) AS DOUBLE) * 100 saw_12,

       f3.s6 saw_13,

       CAST(f3.s8 AS DOUBLE) saw_14,

       REPORT_AGGREGATE(CAST(SUM((CASE

                                   WHEN "f1"."s_3" = '主营业务收入-出口' AND "f1"."s_6" = '2014' THEN

                                    "f1"."s_5"

                                   ELSE

                                    NULL

                                 END) BY "f1"."s_2",

                                 "f1"."s_4",

                                 "f1"."s_1",

                                 "f1"."s_6",

                                 "f1"."s_3") AS DOUBLE) /

                        CAST((CASE

                               WHEN "f1"."s_3" = '主营业务收入-出口' AND "f1"."s_6" = '2014' THEN

                                "f1"."s_7"

                               ELSE

                                NULL

                             END) AS DOUBLE) * 100 BY "f1"."s_6",

                        CAST("f3"."s1" AS CHAR)),

       REPORT_AGGREGATE("f3"."s6" BY "f1"."s_6", CAST("f3"."s1" AS CHAR)),

       REPORT_AGGREGATE(CAST("f3"."s8" AS DOUBLE) BY "f1"."s_6",

                        CAST("f3"."s1" AS CHAR))

  FROM (SELECT 0 s_0,

               "北方工业-总账"."维度 - 北方合同(带国家)"."合同号" s_1,

               "北方工业-总账"."维度 - 北方合同(带国家)"."国家" s_2,

               "北方工业-总账"."维度 - 北方科目"."科目名称" s_3,

               "北方工业-总账"."维度 - 北方部门"."部门名称" s_4,

               "北方工业-总账"."指标 - 日记账借贷方金额"."本位币金额" s_5,

               "北方工业-总账"."维度 - 时间"."年份" s_6,

               PeriodRolling("北方工业-总账"."指标 - 日记账借贷方金额"."本位币金额",

                             -unbound,

                             0) s_7

          FROM "北方工业-总账"

         WHERE (("指标 - 日记账借贷方金额"."本位币金额" <> 0) AND

               ("维度 - 北方科目"."科目编码" IN ('54010101', '51010101', '55010101')) AND

               "北方工业-总账"."维度 - 时间"."年份" = '2014')) f1

  LEFT OUTER JOIN (select f2.s_1 as s1,

                          f2.s_2 as s2,

                          f2.s_3 as s3,

                          f2.s_4 as s4,

                          f2.s_5 as s5,

                          f2.s_6 as s6,

                          f2.s_7 as s7,

                          f2.s_8 as s8

                     from (SELECT 0 s_0,

                                  "北方工业-经营分析"."维度 - 项目多维"."销售主合同" s_1,

                                  "北方工业-经营分析"."维度 - 项目管理时间"."付款年份" s_2,

                                  "北方工业-经营分析"."维度 - 项目多维"."国家名称" s_3,

                                  "北方工业-经营分析"."维度 - 项目多维"."国家编码" s_4,

                                  "北方工业-经营分析"."维度 - 项目多维"."销售部门名称" s_5,

                                  SUM((IFNULL(FILTER("北方工业-经营分析"."指标 - 合同测算"."人民币金额"

                                                     USING "北方工业-经营分析"."维度 - 合同测算信息"."测算类别" =

                                                     'RECEIVE'),

                                              0) -

                                      IFNULL(FILTER("指标 - 合同测算"."人民币金额"

                                                     USING "维度 - 合同测算信息"."测算类别" =

                                                     'PAYMENT'),

                                              0) -

                                      (IFNULL(FILTER("指标 - 合同测算"."人民币金额"

                                                      USING "维度 - 合同测算信息"."测算类别" =

                                                      'EXPENSE'),

                                               0) -

                                      IFNULL(FILTER("指标 - 合同测算"."人民币金额"

                                                      USING "北方工业-经营分析"."维度 - 合同测算信息"."类别" =

                                                      '其他费用'),

                                               0))) BY

                                      "北方工业-经营分析"."维度 - 项目多维"."销售主合同",

                                      "北方工业-经营分析"."维度 - 合同测算信息"."状态",

                                      "北方工业-经营分析"."维度 - 项目多维"."国家名称",

                                      "北方工业-经营分析"."维度 - 项目多维"."国家编码",

                                      "北方工业-经营分析"."维度 - 项目多维"."销售部门名称") /

                                  SUM(FILTER("指标 - 合同测算"."人民币金额" USING

                                             "维度 - 合同测算信息"."测算类别" = 'RECEIVE') BY

                                      "北方工业-经营分析"."维度 - 项目多维"."销售主合同",

                                      "北方工业-经营分析"."维度 - 合同测算信息"."状态",

                                      "北方工业-经营分析"."维度 - 项目多维"."国家名称",

                                      "北方工业-经营分析"."维度 - 项目多维"."国家编码",

                                      "北方工业-经营分析"."维度 - 项目多维"."销售部门名称") * 100 s_6,

                                  "北方工业-经营分析"."维度 - 项目多维"."项目名称" s_7,

                                  PeriodRolling(FILTER("北方工业-经营分析"."指标 - 付款实际明细"."人民币金额"

                                                       USING("北方工业-经营分析"."维度 - OU"."OU Number" = '22') AND

                                                       ("北方工业-经营分析"."指标 - 付款实际明细"."TASK_TYPE" NOT IN

                                                       ('合同收入', '库存')) AND

                                                       ("北方工业-经营分析"."指标 - 付款实际明细"."预算性质" =

                                                       '合同费用')),

                                                -unbound,

                                                0) s_8

                             FROM "北方工业-经营分析"

                            WHERE ("维度 - 项目多维"."组织编号" = '22')) f2

                    WHERE f2.s_2 = '2014') f3

    on (f1.s_1 = f3.s1)

 WHERE CAST(f3.s1 AS CHAR) IS NOT NULL

 ORDER BY saw_0, saw_1, saw_2, saw_3, saw_5, saw_6, saw_7, saw_8

 

 

使用PeriodRolling函数,直接计算某个度量值从无到有的总值,加入filter 进行限制

BIEE 问题收集_第7张图片

你可能感兴趣的:(OBIEE)