沙漠中的魚

          欲上天堂,先下地獄
          posts - 0, comments - 56, trackbacks - 0, articles - 119
            BlogJava :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

          BIEE向儀表盤頁面自定義參數傳遞

          Posted on 2014-06-11 09:53 沙漠中的魚 閱讀(2027) 評論(0)  編輯  收藏 所屬分類: BIEE
          當我們需要通過一個分析跳轉到另一個分析頁面時,如果另一個分析頁使用的維度與當前維度不是同一個時,無法進行直接傳參,可以通過如下設置,當前值轉換為URL傳參的形式,變為對方分析可以接受的參數,進行傳參。







          myCustomPortalPageNav1(1,'/shared/E2E網絡價值顯示/_portal/網絡價值顯示2','1169平臺主圖表展示','"Fact - 平臺主顯示指標"."平臺名稱"','','@{PARA1}','"Fact - 小V主"."PT_CODE"','','@{PARA2}','"FACT_CYZB_WEEK"."PT_CODE"','','@{PARA3}')

          在儀表盤的頁面中添加如下JavaScript代碼
           <script>
          NQNavigateHandlerly = function (h, v) {
           NQWClearActiveMenu();
           var k = h.oNavObject;
           var m = k.sSWEView != null;
           var l = Math.min(k.vValues.length, 64);
           if (m) {
            if (k.sNavValue != "") {
             NQSWENav(k.sSWEView, k.sSWEApplet, k.sNavValue)
            }
            return
           }
           var g = k.vTargets[v];
           g[0](g, k);
           var n = k.sPortal != null;
           var u = XUICreateElement(saw.xml.kSawxNamespace, "expr");
           if (l > 0) {
            u = XUICreateElement(saw.xml.kSawxNamespace, "expr");
            u.setAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
            u.setAttribute("xsi:type", "sawx:sqlExpression");
            u.setAttribute("op", "and");
            for (var o = 0; o != l; ++o) {
             var a = k.vValues[o];
             if (!k.navColType || k.navColType[o] == false) {
              var c = XUIAppendNewElement(u, saw.xml.kSawxNamespace, "expr");
              XUISetXsiType(c, saw.xml.kSawxNamespace, "comparison");
              XUISetAttributeString(c, "op", (null != a.sOp && a.sOp == "null") ? "null" : "equal");
              var r = (a.sCodeFormula != null);
              if (r) {
               setExprLHSXMlForMappedColumn(c, a.sFormula, a.sCodeFormula, true)
              } else {
               setExprLHSXMlForUnMappedColumn(c, a.sFormula)
              }
              if (null == a.sOp || a.sOp != "null") {
               var q = XUIAppendNewElement(c, saw.xml.kSawxNamespace, "expr");
               XUISetXsiType(q, saw.xml.kSawxNamespace, "untypedLiteral");
               XUISetElementText(q, a.sValue)
              }
             } else {
              if (k.navColType && o < k.navColType.length && k.navColType[o] == true) {
               var p = obips.XMLDOM.parseXML(a.sValue);
               var d = obips.XMLDOM.selectSingleNode(p, "sawx:expr");
               if (d) {
                u.appendChild(d.cloneNode(true))
               }
              }
             }
            }
            if (l == 1) {
             u = u.firstChild
            }
           }
           var f = {
            reloadInplace : false,
            commandRequest : "go"
           };
           var s = {};
           s.Path = k.sPath;
           s.ViewID = "";
           var b = document.getElementById("idPageID");
           if (b) {
            s.PageID = b.getAttribute("pageID")
           }
           if (l > 0) {
            s.P0 = saw.getXmlText(u)
           }
           s.P19 = k.sSearchID;
           s.P17 = k.sPromptSearchID;
           s.P16 = "NavRuleDefault";
           s.NavFromViewID = k.sViewID;
           if (n) {
            f.command = "Dashboard";
            f.workspaceModule = "biee.dashboards";
            s.PortalPath = k.sPortal;
            s.P1 = "dashboard";
            if (k.sPage) {
             s.Page = k.sPage
            } else {
             s.Page = ""
            }
           } else {
            var e = k.sViewID.substr(0, k.sViewID.indexOf("~v:") == -1 ? k.sViewID.length : k.sViewID.indexOf("~v:"));
            var j = document.getElementById(e + "Result");
            if (j) {
             s.P18 = j.getAttribute("options").replace(new RegExp("s", "gi"), "")
            }
           }
           f.mobileNav = n ? "dashboard" : "report";
           f.targetWindow = k.sWindowTarget;
           obips.views.ViewController.handleViewAction("Navigate", k.sViewID, s, f, null, {
            canChangeStateId : false,
            requireUpToDateStateId : false
           })
          }
          NQMakeFormulaly = function (b, a) {
           if (a != "") {
            return NQFixTableName(b) + "." + NQFixTableName(a)
           } else {
            return b
           }
          }
          NQNavigately = function (a, c, e) {
           var f = c.oNavObject.vTargets;
           var b = "NQNavigateHandlerly(" + c.sJSObjName + ",";
           var d = c.oNavObject.sSWEView != null;
           if (d) {
            NQNavigateHandlerly(c, null);
            return false
           }
           if (f.length == 1) {
            NQNavigateHandlerly(c, 0);
            return false
           }
           return false
          }
          myCustomPortalPageNav1 = function (b, e, j) {
           b = saw.getEvent(b);
           var g = new NavigateInfo();
           g.SetSearchID(GetMySearchID(saw.getEventTarget(b)));
           g.SetPromptSearchID(GetMyPromptSearchID(saw.getEventTarget(b)));
           g.SetViewID(GetMyViewID(saw.getEventTarget(b)));
           g.SetTargets(new Array(new Array(NQWNavPortal, e, j)));
           //g.setIsNewWindow("_blank");
           var a = 0;
           for (var f = 3; (f + 2 < arguments.length) && (a < 10); f += 3) {
            var h = arguments[f];
            var d = arguments[f + 1];
            var c = arguments[f + 2];
            if (c) {
             if (c == "isnull") {
              g.AddValue("null", NQMakeFormulaly(h, d), c)
             } else {
              g.AddValue("eq", NQMakeFormulaly(h, d), c)
             }
            }
            ++a
           }
           g.oNavObject = g;
           NQNavigately(b, g)
          }
          </script>
          主站蜘蛛池模板: 永年县| 湖州市| 四会市| 黄陵县| 双鸭山市| 措美县| 姚安县| 卢氏县| 贺兰县| 灌阳县| 宣威市| 板桥市| 安义县| 广宁县| 南雄市| 隆昌县| 博乐市| 疏附县| 富平县| 石渠县| 林州市| 吉隆县| 丹江口市| 望城县| 祁门县| 扎鲁特旗| 凤台县| 社会| 小金县| 吉林省| 正镶白旗| 叶城县| 克山县| 佛学| 寿光市| 丹凤县| 文水县| 宜黄县| 荣昌县| 西林县| 称多县|