沙漠中的鱼

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

2015年3月12日

Linux下安装

—-解压文件

tar -xvf phantomjs-1.9.7-linux-x86_64.tar.bz2

–将程序移到一个合适的位置

sudo mv phantomjs-1.9.7-linux-x86_64 /usr/local/src/phantomjs

—-创建软链接到环境变量中。这样可以直接在shell中使用phantomjs命令

sudo ln -sf /usr/local/src/phantomjs/bin/phantomjs /usr/local/bin/phantomjs

—-检查是否正常工作

phantomjs version

如果你看到当前版本号,即表示正常工作了。

--------------------------------------------------
Windows下安装
第一步:下载了PhantomJS后,把压缩包里的文件夹解压到D盘,重命名文件夹为phantomjs,然后在windows中添加环境变量;D:\phantomjs到Path中。在这里先不用关心phantomjs文件夹下的内容。


posted @ 2015-03-12 10:07 沙漠中的鱼 阅读(330) | 评论 (0)编辑 收藏

2014年6月24日

在BIEE仪表盘中需要隐藏的分析前后插入两个文本,写入HTML代码。

文本的代码分别为:
<div style="display:none"><table><tr><td>
</td></tr></table></div>
这样就可以设置分析的显示和隐藏了,在做Tab页签时,可以控制不同的分析显示。

posted @ 2014-06-24 19:54 沙漠中的鱼 阅读(446) | 评论 (0)编辑 收藏

2014年6月11日

当我们需要通过一个分析跳转到另一个分析页面时,如果另一个分析页使用的维度与当前维度不是同一个时,无法进行直接传参,可以通过如下设置,当前值转换为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>

posted @ 2014-06-11 09:53 沙漠中的鱼 阅读(1999) | 评论 (0)编辑 收藏

2014年1月14日

为了提高查询报表性能,只好将RPD模型中使用偏移函数AGO的函数全去掉,采用在前端通过滤值将今年的条件转换去年的值,设置为过滤,提高查询效率。


current_month为提示器中的表示变量。
EVALUATE('to_char(to_number(SUBSTR(%1,1,4))-1)||SUBSTR(%2,5,3)' AS char , '@{variables.current_month}{2013/12}', '@{variables.current_month}{2013/12}')

posted @ 2014-01-14 11:00 沙漠中的鱼 阅读(500) | 评论 (0)编辑 收藏

2013年8月28日

expdp system/Password1@dwfin schemas=dwbif,odsfin,odi_pro,odi_sys,obiee_chinamap dumpfile=expdp.dmp DIRECTORY=dpdata1
impdp system/Password1@dwfin schemas=dwbif,odsfin,odi_pro,odi_sys,obiee_chinamap dumpfile=expdp.dmp DIRECTORY=dpdata1

posted @ 2013-08-28 17:24 沙漠中的鱼 阅读(454) | 评论 (1)编辑 收藏

2013年8月2日

@echo off       
set PATH=C:\Program Files (x86)\Java\jdk1.6.0_20\bin;C:\WINDOWS;C:\WINDOWS\COMMAND 
set classpath=.;C:\Program Files (x86)\Java\jdk1.6.0_20\lib\tools.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\lib\dt.jar 
java -jar extract_excel.jar
   
pause 

posted @ 2013-08-02 11:08 沙漠中的鱼 阅读(622) | 评论 (0)编辑 收藏

2013年5月17日

<section class="imgArea">
    <title="雨伞指数" target="_blank" href="#"></a>
    <span style="#">
        不带伞
    </span>
</section>
在上面代码中,我们首先需要查找属性title=”雨伞指数"的节点,Xpath写法为"//a[@title='雨伞指数']",然后需要找到父节点,父节点标识为parent,Xpath的写法为“//a[@title='雨伞指数']/parent::section”,section表示为节点为Section节点。
然后需要查子点Span下的文本内容,完整的写法为“//a[@title='雨伞指数']/parent::section/span/text()”

posted @ 2013-05-17 16:05 沙漠中的鱼 阅读(4994) | 评论 (0)编辑 收藏

2013年1月8日

public class ClusteringFlyStoneDocument {

    public static void main(String[] args) {
        
        final Controller controller = ControllerFactory.createCachingPooling(IDocumentSource.class);
        //创建需要处理的属性对象
        final Map<String, Object> attributes = Maps.newHashMap();
        
        //需要处理的文档集合
        List<Document> documents = SampleDocumentData.DOCUMENTS_DATA_MINING;
        
        //将文档添加到聚类属性中
        CommonAttributesDescriptor.attributeBuilder(attributes).documents(documents);
        
        //设置处理的语言()
        MultilingualClusteringDescriptor.attributeBuilder(attributes).defaultLanguage(LanguageCode.CHINESE_SIMPLIFIED);
        
        //设置需要处理的对象,以及聚类的算法
        final ProcessingResult englishResult = controller.process(attributes, LingoClusteringAlgorithm.class);
        
        //获取结果,打印聚类主题及关联信息
        final List<Cluster> clustersByTopic = englishResult.getClusters();
        System.out.println("=======聚类主题=====");
        for(Cluster cluster : clustersByTopic){
            System.out.println("【主题 】" +cluster.getLabel());
            List<Document> cDocLst = cluster.getAllDocuments();
            for(Document doc : cDocLst){
                System.out.println("--------" + doc.getTitle());
            }
        }
         
        //通过URL进行聚类
        final ProcessingResult byDomainClusters = controller.process(documents, null,ByUrlClusteringAlgorithm.class);
        final List<Cluster> clustersByDomain = byDomainClusters.getClusters();
        System.out.println("=======URL聚类=======");
        for(Cluster cluster : clustersByDomain){
            System.out.println("【URL】" +cluster.getLabel());
            List<Document> cDocLst = cluster.getAllDocuments();
            for(Document doc : cDocLst){
                System.out.println("----" + doc.getTitle());
            }
        }
    }

}

posted @ 2013-01-08 15:08 沙漠中的鱼 阅读(1239) | 评论 (0)编辑 收藏

2012年9月24日

在Eclipse Debug Configurations窗口中,切换到Arguments页签,在VM argumenets文本框中配置Log4j配置文件的参数,如下:
-Dlog4j.configuration=file:/D:/WorkSpace/log4j.properties

posted @ 2012-09-24 15:49 沙漠中的鱼 阅读(642) | 评论 (0)编辑 收藏

2012年9月10日

在编写ant脚本测试从cvs服务器上签出文件,但是发现报异常:
BUILD FAILED
D:\WorkSpace\Test\AntTest\src\cvs_build.xml:17: cvs exited with error code 1
Command line was [Executing 'cvs' with arguments:
'-d:pserver:zhanghui@192.168.1.107:/flystone'
'checkout'
The ' characters around the executable and arguments are
not part of the command.
通过检查发现,原来是在ant脚本中,没有添加导出package包路径,添加上问题就解决好了,完整的ant配置文件如下:
<?xml version="1.0" encoding="utf-8"?>
<project default="checkout">
<property name="basedir" value="E:/tmp/" />
<property name="cvsroot" value=":pserver:test@192.168.1.107:/flystone" />
<property name="cvs.password" value="test" />
<property name="cvs.passfile" value="${basedir}/ant.cvspass" />
<target name="init">  
        <tstamp>  
            <format property="today" pattern="yyyy-MM-dd hh:mm:ss"/>  
        </tstamp>  
        <echo message="${today}" />  
    </target>  
<target name="initpass"  depends="init">
<cvspass cvsroot="${cvsroot}" password="${cvs.password}" passfile="${cvs.passfile}"/>  
</target>
<target name="checkout" depends="initpass">
<cvs cvsroot="${cvsroot}" dest="${basedir}" cvsRoot="${cvsroot}" package="test/product"  command="checkout" passfile="${cvs.passfile}" failonerror="true" error="error.log"/>
</target>
</project>

posted @ 2012-09-10 15:34 沙漠中的鱼 阅读(576) | 评论 (0)编辑 收藏