ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

OLAPµÄѧϰÓëʵÀý´î½¨
2015-07-24 10:52:19 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:1´Î
Tags£ºOLAP ѧϰ ʵÀý ´î½¨

OLAPµÄѧϰÓëʵÀý´î½¨

ÀíÂÛ×¼±¸¹¤×÷£º

Ò». OLAP

1.ʲôÊÇOLAP

OLAP£¨On-LineAnalysis Processing£©ÔÚÏß·ÖÎö´¦ÀíÊÇÒ»ÖÖ¹²Ïí¶àάÐÅÏ¢µÄ¿ìËÙ·ÖÎö¼¼Êõ£»OLAPÀûÓöàάÊý¾Ý¿â¼¼ÊõʹÓû§´Ó²»Í¬½Ç¶È¹Û²ìÊý¾Ý£»OLAPÓÃÓÚÖ§³Ö¸´ÔӵķÖÎö²Ù×÷£¬²àÖØÓÚ¶Ô¹ÜÀíÈËÔ±µÄ¾ö²ßÖ§³Ö£¬¿ÉÒÔÂú×ã·ÖÎöÈËÔ±¿ìËÙ¡¢Áé»îµØ½øÐдóÊý¾Ý¸´Á¿µÄ¸´ÔÓ²éѯµÄÒªÇ󣬲¢ÇÒÒÔÒ»ÖÖÖ±¹Û¡¢Ò×¶®µÄÐÎʽ³ÊÏÖ²éѯ½á¹û£¬¸¨Öú¾ö²ß¡£

2.Ïà¹Ø¸ÅÄî

£¨1£©Î¬

ÊÇÈËÃǹ۲ìÊý¾ÝµÄÌØ¶¨½Ç¶È£¬ÊÇ¿¼ÂÇÎÊÌâʱµÄÒ»ÀàÊôÐÔ¼¯ºÏ¹¹³ÉÒ»¸öά£¨Èçʱ¼äά¡¢µØÀíάµÈ£©¡£

£¨2£©¼¶±ð£¨Level£©

ÈËÃǹ۲ìÊý¾ÝµÄij¸öÌØ¶¨½Ç¶È£¨¼´Ä³¸öά£©»¹¿ÉÒÔ´æÔÚϸ½Ú³Ì¶È²»Í¬µÄ¸÷¸öÃèÊö·½Ã棨Èçʱ¼äά£ºÈÕÆÚ¡¢Ô·ݡ¢¼¾¶È¡¢Ä꣩¡£¼´Î¬µÄ¼¶±ð¡£

£¨3£©³ÉÔ±£¨Member£©

άµÄÒ»¸öȡֵ£¬ÊÇÊý¾ÝÏîÔÚijάÖÐλÖõÄÃèÊö¡££¨¡°Ä³ÄêijÔÂijÈÕ¡±ÊÇÔÚʱ¼äάÉÏλÖõÄÃèÊö£©¡£

£¨4£©¶ÈÁ¿£¨Measure£©

¶àάÊý×éµÄȡֵ£¬È硰ijÄêijÔÂijÈյŤ×Ê¡±¡£

£¨5£©×êÈ¡£¨Drill-upºÍDrill-down£©

¸Ä±äάµÄ²ã´Î£¬±ä»¯·ÖÎöµÄÁ£¶È¡£Drill-upÊǽ«µÍ²ã´ÎµÄÊý¾Ý¸ÅÀ¨µ½¸ß²ã´ÎµÄ»ã×ÜÊý¾Ý»òÕß˵ÊǼõÉÙά¶È£»drill-upÔòÊÇÏà·´£¬Êǽ«»ã×ܵÄÊý¾ÝÉîÈ뵽ϸ½Ú£¬»ò˵ÊÇÔö¼ÓÐÂά¡£

£¨6£©ÇÐÆ¬ºÍÇÐÃæ

ÊÇÔÚÒ»²¿·ÖάÉÏÑ¡¶¨Öµºó£¬¹ØÐĶÈÁ¿Êý¾ÝÔÚÊ£ÓàάÉϵķֲ¼¡£Èç¹ûÊ£ÓàµÄάֻÓÐÁ½¸ö£¬ÔòÊÇÇÐÆ¬£»Èç¹ûÓÐÈý¸ö»òÒÔÉÏ£¬ÔòÊÇÇп顣

£¨7£©Ðýת

ÊDZ任άµÄ·½Ïò£¬¼´ÔÚ±í¸ñÖÐÖØÐ°²ÅÅάµÄ·ÅÖã¨ÀýÈçÐÐÁл¥»»£©

£¨8£©ÐÇÐÍģʽ

ÓÉÊÂʵ±íºÍά±í×é³É£¬ÊÂʵ±í°üÀ¨ËùÓзÖÎöά¶ÈµÄÍâ¼üºÍÒ»¸ö¶ÈÁ¿£¬Î¬±í¶ÔÓ¦ÓÚ¸÷¸ö·ÖÎöµÄ½Ç¶È£¬Ëü³ýÁËÖ÷¼üÒÔÍ⻹°üº¬ÃèÊöºÍ·ÖÀàÐÅÏ¢¡£

£¨9£©Ñ©»¨Ä£Ê½

ÓÐʱºò£¬Î¬±íµÄ¶¨Òå»á±äµÃ¸´ÔÓ£¬ÀýÈç¶Ô²úƷά£¬¼ÈÒª°´²úÆ·ÖÖÀà½øÐл®·Ö£¬¶ÔÄ³Ð©ÌØÊâÉÌÆ·£¬ÓÖÒªÁíÍâ½øÐÐÆ·ÅÆ»®·Ö£¬ÉÌÆ·Æ·ÅƺͲúÆ·ÖÖÀà»®·Ö·½·¨²¢²»Ò»Ñù¡£Òò´Ë£¬µ¥ÕÅά±í²»ÊÇÀíÏëµÄ½â¾ö·½°¸£¬¿ÉÒÔ²ÉÓÃÒÔÏ·½Ê½£¬ÕâÖÖÊý¾ÝÄ£ÐͳÆÎªÑ©»¨Ä£ÐÍ¡£

\

¶þ. MondrianµÄѧϰ

2.1 MondrianµÄ¼Ü¹¹

1) µ×²ãÊý¾Ý¿â

2) ´æ´¢²ã Êý¾Ý¿â²¿·Ö£¨Êý¾Ý²Ö¿â£©µÄ½¨Á¢

½«Ô­ÓеĵײãÊý¾Ý¿âת»¯ÎªÒ»¸öÐÇÐÍÄ£ÐÍ»òÑ©»¨Ä£Ð͵Ĺý³Ì

3) ά¶È²ã schemaÎļþ (¹Ø¼ü²¿·Ö)

½«´æ´¢²ãµÄÊý¾Ý²Ö¿âת»¯ÎªÒ»¸öschemaÎļþ£¬Í¨¹ýschema-workbench»òÕßÊÖдÍê³É£¬ÖÁ´Ë¾Í¿ÉÒÔͨ¹ýMDXÀ´¶Ô¶àάÊý¾Ý¿â½øÐзÃÎÊ¡£

4) չʾ²ã ±àдjspÎļþÓÃÓÚչʾ ËüλÓÚչʾ²ãÓÉJpivotÌṩչʾ

JPivot ÊÇMondrianµÄ±íÏÖ²ãTagLib,

JpivotÍêÈ«»ùÓÚJSP+TagLib;

JPivotÁíÍâÒ»¸ö¿ÉÄÜʹÈ˲»¹ßµÄµØ·½ÊÇËüÍêÈ«»ùÓÚtaglib¶ø²»ÊÇ´ó¼ÒÊìϤµÄMVCģʽ¡£

µ«Ëü¿ÉÒԺܷ½±ãµÄ½«¶àάÊý¾Ýչʾ¸ø×îÖÕÓû§¡£

ÏÂÃæÊǹÙÍøÌṩµÄMondrianÌåϵ¼Ü¹¹Í¼£¬¿ÉÒÔÇåÎúµÄ¿´³öÕû¸öÏîÄ¿ÓɵײãÊý¾Ý¿â£¬´æ´¢²ãµÄÊý¾Ý²Ö¿â£¬Î¬¶È²ãµÄschemaÎļþºÍչʾ²ã×é³É¡£

\

<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+TW9uZHJpYW4gzqq/zbuntsvM4bmp0ru49tPD09qy6dGvtcRBUEk8L3A+CjxwPtLyzqq1vcS/x7DOqta5LLKiw7vT0NK7uPbNqNPDtcTTw9PaT0xBULLp0a+1xEFQSSzS8rTLTW9uZHJpYW7M4bmpwcvL/Mu909C1xEFQSS48L3A+CjxwPr6hudzI57TLLNK7uPazo8q508NKREJDtcTIy72rzazR+beiz9bL/LrcyuzPpC6yu82s1q60pr321NrT2sv8yrnTw7XEysdNRFiy6dGv0+/R1Cy2+LfHU1FMPC9wPgo8cD7PwsPmtcRqYXZhxqy2ztW5yr7By8jnus7BrL3Ttb1Nb25kcmlhbizIu7rz1rTQ0NK7uPay6dGvLNfuuvO08tOhveG5+zwvcD4KPHByZSBjbGFzcz0="brush:sql;"> importmondrian.olap.*; import java.io.PrintWriter; Connectionconnection = DriverManager.getConnection("Provider=mondrian;" +"Jdbc=jdbc:odbc:MondrianFoodMart;"+"Catalog=/WEB-INF/FoodMart.xml;",null,false); Query query =connection.parseQuery("SELECT {[Measures].[Unit Sales], [Measures].[StoreSales]} on columns," +" {[Product].children} on rows " +"FROM[Sales] " +"WHERE ([Time].[1997].[Q1], [Store].[CA].[SanFrancisco])"); Result result =connection.execute(query); result.print(newPrintWriter(System.out));

ÓëJDBCÀàËÆ,Ò»¸öConnectionÓÉDriverManager´´½¨,Query¶ÔÏóÀàËÆÓÚJDBCµÄStatement,Ëüͨ¹ý´«µÝÒ»¸öMDXÓï¾äÀ´´´½¨.Result¶ÔÏóÀàËÆÓÚJDBCµÄResultSet,Ö»²»¹ýËüÀïÃæ±£´æµÄÊǶàάÊý¾Ý¡£

Äú¿ÉÒÔͨ¹ý²é¿´Mondrian°ïÖúÎĵµÀïµÄjavadocÀ´»ñÈ¡¸ü¶à¹ØÓÚMondrian APIµÄ×ÊÁÏ

2.2×¼±¸¿ª·¢¹¤¾ß¼°»·¾³

±¾²âÊÔÐèÒªµÄ»·¾³£º

²Ù×÷ϵͳ£ºWindows 7;

Web·þÎñÆ÷£ºtomcat6.0;

¹ØÏµÊý¾Ý¿â£ºmysql;

¿ª·¢¹¤¾ß£ºmyeclipse;

Ïà¹ØÇý¶¯£ºmysql-connector-java-3.1.12-bin.jar

£¨1£© ÅäÖÃjdkºÍtomcat»·¾³±äÁ¿

£¨2£© ½¨Á¢µ×²ãÊý¾Ý¿â

/*

NavicatMySQL Data Transfer

 

SourceServer         : localhost_3306

SourceServer Version : 50096

SourceHost           : localhost:3306

SourceDatabase       : accessinfo

 

TargetServer Type    : MYSQL

TargetServer Version : 50096

FileEncoding         : 65001

 

Date:2015-03-02 11:36:40

*/

 

SETFOREIGN_KEY_CHECKS=0;

 

------------------------------

-- Tablestructure for `dim_ip`

------------------------------

DROPTABLE IF EXISTS `dim_ip`;

CREATETABLE `dim_ip` (

  `id` smallint(6) NOT NULL auto_increment,

  `dip` varchar(255) default NULL,

  PRIMARY KEY (`id`)

)ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=latin1;

 

------------------------------

--Records of dim_ip

------------------------------

INSERTINTO `dim_ip` VALUES ('1', '61.183.248.218');

INSERTINTO `dim_ip` VALUES ('2', '61.144.207.115');

 

------------------------------

-- Tablestructure for `dim_site`

------------------------------

DROPTABLE IF EXISTS `dim_site`;

CREATETABLE `dim_site` (

  `id` smallint(6) NOT NULL auto_increment,

  `dSiteID` int(11) default NULL,

  PRIMARY KEY (`id`)

)ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;

 

------------------------------

--Records of dim_site

------------------------------

INSERTINTO `dim_site` VALUES ('1', '542');

INSERTINTO `dim_site` VALUES ('2', '548');

INSERTINTO `dim_site` VALUES ('3', '543');

INSERTINTO `dim_site` VALUES ('4', '552');

INSERTINTO `dim_site` VALUES ('5', '551');

INSERTINTO `dim_site` VALUES ('6', '549');

 

------------------------------

-- Tablestructure for `dim_time`

------------------------------

DROPTABLE IF EXISTS `dim_time`;

CREATETABLE `dim_time` (

  `id` smallint(6) NOT NULL auto_increment,

  `signinTime` varchar(10) NOT NULL default '',

  PRIMARY KEY (`id`)

)ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;

 

-- ----------------------------

--Records of dim_time

------------------------------

INSERTINTO `dim_time` VALUES ('1', '2015-3-1');

INSERTINTO `dim_time` VALUES ('2', '2015-2-28');

INSERTINTO `dim_time` VALUES ('3', '2015-2-17');

INSERTINTO `dim_time` VALUES ('4', '2015-2-19');

INSERTINTO `dim_time` VALUES ('5', '2015-2-11');

 

------------------------------

-- Tablestructure for `fact_logs`

------------------------------

DROPTABLE IF EXISTS `fact_logs`;

CREATETABLE `fact_logs` (

  `fID` varchar(20) NOT NULL default '',

  `fSiteID` varchar(20) default NULL,

  `fTime` varchar(10) default NULL,

  `fIP` varchar(20) default NULL,

  `fCount` int(11) default NULL,

  PRIMARY KEY (`fID`)

)ENGINE=InnoDB DEFAULT CHARSET=latin1;

 

-- ----------------------------

--Records of fact_logs

------------------------------

INSERTINTO `fact_logs` VALUES ('1', '1', '4', '1', '87');

INSERTINTO `fact_logs` VALUES ('10', '2', '5', '2', '14');

INSERTINTO `fact_logs` VALUES ('2', '1', '4', '2', '128');

INSERTINTO `fact_logs` VALUES ('3', '3', '4', '1', '5');

INSERTINTO `fact_logs` VALUES ('4', '4', '4', '2', '4');

INSERTINTO `fact_logs` VALUES ('5', '5', '4', '2', '5');

INSERTINTO `fact_logs` VALUES ('6', '6', '4', '2', '3');

INSERTINTO `fact_logs` VALUES ('7', '2', '4', '2', '4');

INSERTINTO `fact_logs` VALUES ('8', '5', '5', '2', '15');

INSERT INTO `fact_logs` VALUES ('9','6', '5', '2', '13');

·ÖÎöÒ»¸ö·ÃÎÊÈÕÖ¾µÄÊÂʵ±í£¬ÓÐÈý¸öά¶È£¬Õ¾µã¡¢ IP µØÖ·¡¢ÈÕÆÚ¡£ÊÂʵ±í¼Ç¼µÄ¡£

ÆäÖÐfact_logsÊÇÊÂʵ±í£¬dim_ip£¬dim_site£¬dim_time·Ö±ð´ú±íÈý¸öά¶È±í¡£

£¨3£© ¶¨Òåģʽ

¿ÉÒÔʹÓÃschema-workbenchÉú³ÉAccessInfo.xml ½«Ëû¸´ÖƵ½E:\apache-tomcat-7.0.40\webapps\mondrian\WEB-INF\queries


  
    
      
      

£¨4£© ¸ºÔðչʾ²ãµÄ±àд AccessInfo.jsp ËûλÓÚE:\apache-tomcat-7.0.40\webapps\mondrian\WEB-INF\queries

<%@ page import="mondrian.olap.*"%>
<%@ page session="true"contentType="text/html; charset=ISO-8859-1" %>
<%@ tagliburi="http://www.tonbeller.com/jpivot" prefix="jp" %>
<%@ taglib prefix="c"uri="http://java.sun.com/jstl/core" %>

mysql.jdbc.Driver"jdbcUrl="jdbc:mysql://localhost/accessInfo"catalogUri="/WEB-INF/queries/AccessInfo.xml"
jdbcUser="root"  jdbcPassword="root"  connectionPooling="false">

select NON EMPTY {[Measures].[Amount]} ONCOLUMNS, NON EMPTY{([Access Time].[All Time], [Website Num].[All Site]) } ONROWS from [Access Analysis] 
where [User IP].[All IP].[61.144.207.115]

\


ÆäÖжÈÁ¿MesuresÊǾßÌåµÄÈÕÖ¾·ÃÎÊÁ¿(Amount)£¬Î¬¶ÈÊÇAccess Time,WebSite NumºÍUser IP£¬Õ¹¿ªºÍ¹Ø±ÕAll TimeºÍAll Site¶ÔÓ¦OLAPÖеÄÉÏ×êºÍÏÂ×ê²Ù×÷£¬MDXÖеÄwhere [UserIP].[61.144.207.115] ´ú±í×ÅÒ»¸öÇÐÃæ£¬¿ÉÒÔͨ¹ýÐÞ¸Ä[User IP]ϵÄÖµÀ´»ñÈ¡²»Í¬ÇÐÃæÏµÄtimeºÍsite¶ÔÓ¦µÄÈÕÖ¾·ÃÎÊÁ¿µÄÖµ¡£

¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£º¶ÁxmlÉú³É´úÂëÀý×Ó ÏÂһƪ£º¡¾Redis3¡¿RedisÊý¾Ý¿âµÄѧϰÓëʵ..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)