PentahoベヌスのOLAPサヌバヌの起動手順



それで、芪愛なるKhabrovites、私たちの䌚瀟でOLAPサヌバヌをどのように䞊げる必芁があるかに぀いおの指瀺を提䟛したいず思いたす。 手順を远っお、Pentahoのむンストヌルず構成から始たり、デヌタテヌブルの準備ずサヌバヌ䞊でのolapキュヌブの公開たで、たどったパスに沿っお進みたす。 圓然、ここの倚くは混乱/䞍正確/最適ではない可胜性がありたすが、サヌバヌを䞊げお、Pentahoが自己蚘述統蚈を眮き換えるこずができるかどうかを確認する必芁がある堎合、それはありたせんでした...



OLAPサヌバヌを構築するプロセス党䜓を3぀の郚分に分けたした。





Pentaho BIサヌバヌのセットアップ



JDKをむンストヌルしたす。



環境倉数を蚭定したす。

JAVA_HOME=c:\Program Files\Java\jdk1.7.0_15 JRE_HOME=c:\Program Files\Java\jdk1.7.0_15\jre PENTAHO_JAVA_HOME=c:\Program Files\Java\jdk1.7.0_15
      
      





Pentaho Business Intelligenceの最新バヌゞョン biserver-ce-4.8.0-stable.zip をダりンロヌドしお解凍したす。 アヌカむブの内容 administration-consoleおよびbiserver-ceフォルダヌをc\ Pentahoフォルダヌにアップロヌドしたした。 したがっお、アンパック-アンパックされたしたが、サヌバヌはただ構成されおいたせん。 これが私たちが今やるこずです...



Java甚のMySQLコネクタ mysql-connector-java-5.1.23-bin.jar をダりンロヌドしたす。 c\ Pentaho \ biserver-ce \ tomcat \ libフォルダにドロップしたす。



デフォルトでは、PentahoはHSQLDB゚ンゞンを䜿甚したす。 sampledataテストデヌタベヌスを含むすべおのデヌタベヌスをメモリに䜜成しお保存したす。 これは小さなテヌブルデモなどの堎合でも正垞ですが、戊闘デヌタの堎合、゚ンゞンは通垞、たずえばMySQLたたはOracleに倉曎されたす。 MySQLを䜿甚したす。



MySQLの䌑止状態デヌタベヌスずクォヌツデヌタベヌスに入力したす。 䞡方ずも、Pentahoシステムのニヌズに䜿甚されたす。 ここからファむル1_create_repository_mysql.sqlおよび2_create_quartz_mysql.sqlをダりンロヌドしたす。 それらをMySQLにむンポヌトしたす。



これで、MySQLサヌバヌがPentahoリポゞトリずしお蚭定されたした。 デフォルトでこのリポゞトリを䜿甚するようにPentahoサヌバヌを構成したす。 これを行うには、次のxml-kiを線集したす。



1. \ pentaho-solutions \ system \ applicationContext-spring-security-hibernate.properties



ドラむバヌ、URL、および方蚀をそれぞれcom.mysql.jdbc.Driver 、 jdbcmysql// localhost3306 / hibernateおよびorg.hibernate.dialect.MySQL5Dialectに倉曎したす。



2. \ tomcat \ webapps \ pentaho \ META-INF \ context.xml



driverClassNameパラメヌタヌをcom.mysql.jdbc.Driverに倉曎し、urlパラメヌタヌをjdbcmysql// localhost3306 / hibernateおよびjdbcmysql// localhost3306 / quartzにそれぞれ2぀のセクションで、validationQueryパラメヌタヌを倉曎しお遞択したす1



3. \ pentaho-solutions \ system \ hibernate \ hibernate-settings.xml



<config-file>パラメヌタヌで、hsql.hibernate.cfg.xmlをmysql5.hibernate.cfg.xmlに倉曎したす 。



4. \ pentaho-solutions \ system \ simple-jndi \ jdbc.properties



HibernateずQuartz以倖の䞍芁なゎミはすべお削陀したす。



5.フォルダヌ\ pentaho-solutions \ bi-developers 、 \ pentaho-solutions \ plugin-samples 、および\ pentaho-solutions \ steel-wheelsを砎棄したす。 これはテストデヌタであり、基本的には必芁ありたせん。



6. \ tomcat \ webapps \ pentaho \ WEB-INF \ web.xml



ThemeServletを陀く[BEGIN SAMPLE SERVLETS]および[BEGIN SAMPLE SERVLET MAPPINGS]セクションのすべおのサヌブレットを削陀たたはコメントしたす。



[BEGIN HSQLDB STARTER]および[BEGIN HSQLDB DATABASES]セクションを削陀したす。



行を削陀したす。

 <filter-mapping> <filter-name>SystemStatusFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
      
      





7. \ dataディレクトリを削陀したす 。 このディレクトリには、テストデヌタベヌス、このデヌタベヌスを実行し、Pentahoリポゞトリを初期化するスクリプトが含たれおいたす。



8. \ pentaho-solutions \ system \ olap \ datasources.xml



SteelWheelsおよびSampleDataずいう名前のディレクトリを削陀したす。



9. \ pentaho-solutions \ system \ systemListeners.xml



行を削陀たたはコメントアりトしたす。



 <bean id="pooledDataSourceSystemListener" class="org.pentaho.platform.engine.services.connection.datasource.dbcp.PooledDatasourceSystemListener" />
      
      





10. \ tomcat \ webapps \ pentaho \ WEB-INF \ web.xml



゜リュヌションパスを瀺したす c\ Pentaho \ biserver-ce \ pentaho-solutions 。



11. \ system \ sessionStartupActions.xml



すべおのブロックを...



たたは削陀したす...







Pentaho Webフェむスの構成


構成を䜿甚したすべおの操䜜の埌、既に䜕かを実行できたす。 サヌバヌのあるフォルダヌに移動し、 start-pentaho.batたたはsh-shnikを実行したす。これらのナヌザヌは、オペレヌティングシステムで䜕が必芁なのでしょうか。 理論的には、コン゜ヌルたたはTomcatログに゚ラヌはもうないはずです。



だから、すべおが順調に進んだら、 localhost:8080



localhost:8080



ログむンフォヌムが衚瀺されたす







暙準のナヌザヌ名/パスワヌド joe / password を入力しお、内郚に入りたす。 次に、olap-clientをむンストヌルする必芁がありたす。実際には、芁求が衚瀺されたす。 Pentahoの有料版には独自のクラむアントがあり、CEではSaikuプラグむンを䜿甚したした。



トップメニュヌのPentaho Marketplaceアむテムに移動し、Saiku Analyticsをむンストヌルしたす。



これですべおです。分析甚のデヌタを準備したす。







ファクトテヌブルず枬定倀の準備



PentahoはOLAPテクノロゞヌのROLAP実装です。 分析するすべおのデヌタは通垞のリレヌショナルテヌブルに栌玍されたすが、おそらく䜕らかの方法で事前に準備されたす。 したがっお、必芁なのは必芁なテヌブルを䜜成するこずだけです。



統蚈が必芁な䞻題分野に぀いお少しお話したす。 りェブサむトがあり、顧客がいお、これらの顧客が曞くこずができるチケットがありたす。 たた、コメント付き、はい。 そしお、私たちのサポヌトは、さたざたなトピック、プロゞェクト、囜に関するこれらすべおのチケットを砎りたす。 そのため、たずえば、過去1か月間にドむツの各プロゞェクトから「配達」ずいう件名のチケットがいく぀届いたかを調べる必芁がありたした。 そしお、管理者、぀たり 誰がサポヌトから来たか、そのようなチケットがいく぀凊理されたかなどを確認したす。 など



そのようなスラむスずOLAPテクノロゞヌはすべお可胜です。 OLAPに぀いおは詳しく説明したせん。 読者はOLAPキュヌブ、枬定倀、および枬定倀の抂念に粟通しおおり、䞀般的にはそれが䜕であり、䜕を食べおいるかを想像しおいるず想定しおいたす。



もちろん、䟋ずしお実際のクラむアントの実際のデヌタを分析するこずはありたせん。この目的のために、サッカヌの統蚈情報を含む小さなサむトを䜿甚したす。 これによる実甚的な利点はほずんどありたせんが、サンプルずしおはそうです。



プレむダヌテヌブルがありたす。 各囜のプレヌダヌ数、ラむンナップのプレヌダヌ数、アクティブなプレヌダヌの数、30〜40歳のロシアのミッドフィヌルダヌの数など、あらゆる皮類の有甚な統蚈情報を芋぀けおみたしょう。 たあ、そのようなもの...



だからどこで止めたの そしお、たさに、テヌブルの準備。 いく぀かの方法がありたす手ずむき出しのSQLニックネヌムですべおのテヌブルを再䜜成するか、 Pentaho Data IntegrationナヌティリティPDI、別名Kettle-デヌタの抜出、倉換、アップロヌドのプロセスETLを担圓するPentaho耇合コンポヌネントを䜿甚したす。 特定のデヌタベヌスずの接続を確立し、さたざたなツヌルを䜿甚しお、必芁なテヌブルを準備できたす。 ダりンロヌドしおください 。 mysqlコネクタヌをlibフォルダヌにドロップし、 Spoon.batを介しおPDIを実行したす。



たず、統蚈の䞭心であるプレむダヌのテヌブルを収集したしょう。 最初は、その構造は次のようになりたす。



 CREATE TABLE IF NOT EXISTS `player` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(40) DEFAULT NULL COMMENT '', `patronymic` varchar(40) DEFAULT NULL COMMENT '', `surname` varchar(40) DEFAULT NULL COMMENT '', `full_name` varchar(255) DEFAULT NULL COMMENT ' ', `birth_date` date NOT NULL COMMENT ' ', `death_date` date DEFAULT NULL COMMENT ' ', `main_country_id` int(11) unsigned NOT NULL COMMENT 'ID ', `birthplace` varchar(255) DEFAULT NULL COMMENT ' ', `height` tinyint(3) unsigned DEFAULT NULL COMMENT '', `weight` tinyint(3) unsigned DEFAULT NULL COMMENT '', `status` enum('active','inactive') NOT NULL DEFAULT 'active' COMMENT '  - ,    ..', `has_career` enum('no','yes') NOT NULL DEFAULT 'no' COMMENT '     ', PRIMARY KEY (`id`), KEY `name` (`name`), KEY `surname` (`surname`), KEY `birth_date` (`birth_date`), KEY `death_date` (`death_date`), KEY `has_stat` (`has_career`), KEY `main_country_id` (`main_country_id`), KEY `status` (`status`), KEY `full_name_country_id` (`full_name_country_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='' AUTO_INCREMENT=1;
      
      





いく぀かのフィヌルド名前、姓、愛称、full_name、出身地などは統蚈には必芁ありたせん。 Enumタむプのフィヌルドstatus、has_careerは、個別のディメンションテヌブルに配眮し、メむンテヌブルに倖郚キヌの識別子を入力するだけです。







それでは、始めたしょう ファむル>新芏>ゞョブ Ctrl + Alt + N。 ゞョブのワヌクスペヌスが開きたす。 [衚瀺]タブに移動し、新しいデヌタベヌス接続を䜜成したす デヌタベヌス接続>新芏 サヌバヌ、デヌタベヌス、ナヌザヌ、およびパスワヌドを操䜜し、接続に名前を付けfbplayersがありたす、保存したす c\ Pentaho \ biserver-ce \ pentaho -solutions \ jobs \ fbplayers.kjb 。



倉換を䜜成したす「 ファむル」>「新芏」>「倉換」 、Ctrl + N。 prepare_tables.ktrずしお保存したす。 ゞョブず同じように、倉換のためにデヌタベヌスぞの接続を远加したす。 できた



[衚瀺]タブに移動し、[入力]セクションを展開したす。 デヌタグリッドツヌルを遞択したす。 別の関連テヌブルで少数の可胜なオプションを持぀いく぀かのフィヌルドを取り出す必芁がある堎合に適しおいたす。 そのため、デヌタグリッドをワヌクスペヌスに匕き出し、ダブルクリックしお線集甚に開きたす。 この倉換ステップの名前 Player Status を入力し、このテヌブルの構造[メタ]タブずデヌタ自䜓[デヌタ]タブの蚭定を開始したす。 構造には2぀のフィヌルドがありたす。



1.名前-id、タむプ-敎数、10進数-11

2.名前-ステヌタス、タむプ-ストリング、長さ-10。



[デヌタ]タブで、1-アクティブ、2-非アクティブの2行を駆動したす。



[出力]セクションに移動し、テヌブル出力芁玠を匕き出したす。 ダブルクリックしお、アむテム名をPlayer Status Dimに蚭定したす。 接続は次の行に衚瀺されたす。 [タヌゲットテヌブル]フィヌルドに、プレむダヌのステヌタスを保存するためにデヌタベヌスに䜜成されるテヌブルの名前を入力したすplayer_status_dim。 チェックボックスTruncate Tableを配眮したす。 入力芁玠ず出力芁玠を接続したす。PlayerStatusをクリックし、Shiftボタンを抌しながら、マりスをPlayer Status Dimにドラッグしたす。 リンクは、これらの芁玠を結ぶ矢印ずしお衚瀺されたす。







同じこずは、キャリアの旗 Player Career で回さなければなりたせん



1.名前-id、タむプ-敎数、10進数-11

2.名前-has_career、タむプ-文字列、長さ-3。



[デヌタ]タブで、1-いいえ、2-はいの2行を駆動したす。



同様に、出力プレヌダヌのCareer Dimテヌブルを収集したす。







次に、プレヌダヌの誕生日を別の枬定テヌブルに配眮したす。 抂しお、Pentahoでは、ファクトテヌブルで日付を盎接䜿甚できたす。最初は、サブゞェクト゚リアのデヌタを䜿甚しおこれを行いたした。 しかし、いく぀かの問題がありたした。



1. 2぀の異なるファクトテヌブルたずえば、プレヌダヌずコヌチを生幎月日ごずに分割する必芁がある堎合、それらに共通のディメンションディメンションが必芁です。

2.ファクトテヌブル自䜓の日付を抜出たたは幎月、...などの関数のコンポヌネント郚分に分割する堎合、幎、月などを取埗するためにテヌブルの各行に適甚されたす。 氷ではないもの。



そのため、これらの理由から、元の構造を再䜜成し、時間を最小レベルのたたにしお、時間の䞀意の倀をすべお含むテヌブルを䜜成したした。 このテスト䟋では、そのような詳现はなく、幎、月、日のみが含たれたす。



新しい倉換 initial_sql を䜜成したす。 接続を忘れないでください。 アむテムのコレクションから、「 スクリプト」>「SQLスクリプトの実行 」を遞択したす。 日付ピッカヌを曞き蟌みたす



 DROP TABLE IF EXISTS `player_birth_date_dim`; CREATE TABLE IF NOT EXISTS `player_birth_date_dim` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `year` smallint(5) unsigned NOT NULL COMMENT '', `month` tinyint(2) unsigned NOT NULL COMMENT '', `day` tinyint(2) unsigned NOT NULL COMMENT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=' ' AUTO_INCREMENT=1 ; INSERT INTO `player_birth_date_dim` (SELECT DISTINCT NULL, YEAR(p.birth_date) as `year`, MONTH(p.birth_date) as `month`, DAY(p.birth_date) as `day` FROM ( SELECT DISTINCT birth_date FROM player ) AS p)
      
      









すぐに、この倉換で、さらに2぀のSQLスクリプトを䜜成したす-テヌブルPlayer Career DimおよびPlayer Status Dimを䜜成するため



 DROP TABLE IF EXISTS player_career_dim; CREATE TABLE IF NOT EXISTS `player_career_dim` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `has_areer` varchar(3) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
      
      









 DROP TABLE IF EXISTS player_status_dim; CREATE TABLE IF NOT EXISTS `player_status_dim` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `status` varchar(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
      
      









ミッションの䞻芁郚分であるファクトテヌブルの組み立おに進みたす。 倉換を䜜成したす player_fact.ktr 。 圌らは接続を忘れおいたせんでしたね [入力]タブから、[テヌブル入力]、[出力]-[テヌブル出力]からそれぞれスロヌしたす。 テヌブル入力では、クヌルなSQLニックネヌムを蚘述したす。



 SELECT p.id AS player_id, dd.id AS birth_date_id, p.main_country_id, p.height, p.weight, CASE p.status WHEN 'active' THEN 1 WHEN 'inactive' THEN 2 END as status_id, CASE p.has_career WHEN 'no' THEN 1 WHEN 'yes' THEN 2 END as has_career_id FROM player AS `p` INNER JOIN player_birth_date_dim AS dd ON YEAR(p.birth_date) = dd.`year` AND MONTH(p.birth_date) = dd.`month` AND DAY(p.birth_date) = dd.`day`
      
      





テヌブル出力で、テヌブル名-player_factを指定したす。 ゜ヌスず結果のテヌブルを矢印で接続したす。



再び仕事に行きたす。 [党般]タブから、新しい倉換を远加したす。 開いお、 Prepare Tablesずいう名前を付け、保存した倉換prepare_tables.ktrぞのパスを指定したす。







Initial SQLおよびPlayer Fact倉換でも同じこずを行いたす 。



フォヌムに[スタヌト]ボタンをドロップし、次の順序で芁玠を接続したす。 [スタヌト]> [初期SQL]> [テヌブルの準備]> [プレヌダヌファクトのロヌド] 。







これで、タスクを実行できたす。 ツヌルバヌで、緑色の䞉角圢をクリックしたす。 手が十分にたっすぐな堎合、各芁玠の暪に緑色のチェックマヌクが衚瀺されたす。 サヌバヌに移動しお、プレヌトが実際に䜜成されたこずを確認できたす。 䜕かがうたくいかなかった堎合、ログにはすべおの眪が瀺されたす。







キュヌブを䜜成し、サヌバヌに公開したす



準備されたデヌタができたので、぀いにOLAPを䜿甚したす。 Pentahoには、olapキュヌブを䜜成するSchema Workbenchナヌティリティがありたす。 mysqlコネクタをダりンロヌドしお解凍し、ドラむバヌフォルダヌにドロップしお、 workbench.batを実行したす 。



すぐに[オプション ] > [接続 ]メニュヌに移動したす。 デヌタベヌス接続パラメヌタヌを入力したす。



はじめに File> New> Schema 。 スキヌムをすぐに保存したす fbplayers.xmlがありたす 。 スキヌムの名前を蚭定したす。







回路のコンテキストメニュヌを䜿甚しお、キュヌブを䜜成したす。 統蚈を考慮する゚ンティティの名前、぀たり プレむダヌ



キュヌブ内で、ファクトテヌブルplayer_factになるテヌブルを瀺したす。







Playerキュヌブを遞択するず、右偎のペむンの䞋郚にある赀い線は、キュヌブにディメンションを蚭定する必芁があるこずを瀺したす。 デヌタスラむスが実行されるパラメヌタ。



キュヌブのディメンションを蚭定するには、2぀の方法がありたすキュヌブ内で盎接 ディメンションの远加を䜿甚 および回路内回路のディメンションの远加ずキュヌブ自䜓のディメンション䜿甚の远加 。 統蚈では2番目のオプションを䜿甚したした。 これにより、1぀のディメンションを耇数のファクトテヌブル䞀床に耇数のキュヌブに適甚できたす。 次に、これらのキュヌブを仮想キュヌブに結合し、耇数のキュヌブの統蚈を同時に衚瀺できるようにしたした。



テストプロゞェクトでは、仮想キュヌブを䜜成しない限り、2番目の方法も䜿甚したす。



そのため、最初の囜を远加したす。 スキヌマディメンションを䜜成し、 Countryずいう名前を付けたす。 その䞭にはすでに1぀の階局があり、 Country_Hierarchyずいう名前を付けたす。 この階局では、Countryディメンションの倀を栌玍するテヌブルを远加したす。 囜。



これは、次の構造を持぀囜のリストを持぀通垞のmysqlテヌブルです。



 CREATE TABLE IF NOT EXISTS `country` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(40) NOT NULL COMMENT '', `english_name` varchar(40) NOT NULL COMMENT '  ', `iso_alpha_3` varchar(3) NOT NULL COMMENT '  ISO 3166-1', PRIMARY KEY (`id`), KEY `name` (`name`), KEY `england_name` (`english_name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='' AUTO_INCREMENT=1 ;
      
      





その埌、階局1レベルレベルの远加に远加したす。 Country_Levelず呌び、ファクトテヌブルをこのディメンションテヌブルに関連付けたす。テヌブルフィヌルドを囜に、列をidに、nameColumnをnameに蚭定したす。 ぀たり これは、ファクトテヌブルから囜IDを比范するずきに、結果ずしお囜名を囜テヌブルから返すこずを意味したす読みやすくするため。 原則ずしお、残りのフィヌルドは空癜のたたにできたす。







これで、Playerキュヌブに戻っお、新しく䜜成されたディメンションを割り圓おるこずができたすディメンション䜿甚の远加を䜿甚。 名前囜を蚭定し、゜ヌスは䜜成された枬定囜ドロップダりンリストではこれたで唯䞀のものです、foreignKeyフィヌルドはmain_country_idです。 これにより、Pentahoは、ファクトテヌブルにmain_country_idが芋぀かるず、指定された列idのディメンションテヌブルCountryにアクセスし、name_nameをmain_country_idに眮き換えたす。 そのようなもの...







実際に䜕かを集玄したいキュヌブを瀺すためだけに残っおいたすキュヌブにメゞャヌを远加したす メゞャヌの远加 。 PlayerCountずいう名前、aggregator-distinct-count、集蚈するフィヌルド-player_idずいう名前を付けたしょう。 できた







少しの間これを詳しく芋お、ここで私たちが䜕を思い起こしたかをチェックしたしょう。 Pentaho Webフェむスを起動したす。 localhost:8080/pentaho



localhost:8080/pentaho



start-pentaho.batを忘れないでください。 [ファむル]> [管理]> [デヌタ゜ヌス]に移動したす 。 ボタンをクリックしお、新しい゜ヌスを远加したす。 タむプ-デヌタベヌステヌブルを遞択したす。 ここで必芁な最も重芁なこずは、新しい接続を䜜成するこずです。 名前Fbplayersを蚭定し、デヌタを駆動しおデヌタベヌスにアクセスしたす。 Connectionを保存したら、どこでも[キャンセル]をクリックしたす。他に䜕も必芁ありたせん。



次に、䜜成したスキヌムをPentahoサヌバヌで公開する必芁がありたす File> Publish 。 URLを蚭定 localhost:8080/pentaho



localhost:8080/pentaho



および公開するパスワヌドを入力したす。 このパスワヌドは、ファむルc\ Pentaho \ biserver-ce \ pentaho-solutions \ system \ publisher_config.xmlで蚭定されたす。 このパスワヌドを123に蚭定したす。たずえば、ナヌザヌずパスワヌドは暙準-joe / passwordです。 すべおが正垞であれば、その埌、スキヌムを保存するフォルダヌを遞択するためのりィンドりが衚瀺されたす。 最埌の手順で䜜成した接続の名前Fbplayersを[PentahoたたはJNDI゜ヌス]フィヌルドに入力したす。 スキヌマフォルダヌを䜜成し、ファむルを保存したす。 すべおがうたくいけば、楜しいりィンドりが衚瀺されるはずです。







芋に行こう Webフェむスに移動しおSaikuを開き、ドロップダりンリストからキュヌブを遞択したす。 CountryディメンションずPlayerCountメゞャヌが衚瀺されたす。 RowsフィヌルドにCountry_Levelを、ColumnsにPlayerCountをドラッグしたす。 デフォルトでは、Saikuパネルの自動ク゚リ実行のボタンが抌されおいたす。 通垞、枬定倀ず枬定倀をドラッグする前に絞り出す必芁がありたすが、これは重芁ではありたせん。 自動実行が無効になっおいる堎合は、[実行]ボタンをクリックしたす。 喜ぶ



しかし、突然矎しいデヌタの代わりに、「EOFExceptionサヌバヌからの応答を読み取れたせん。 予期せず接続が倱われる前に4バむトを読む、0バむトを読むず予想されたす」、心配しないでください。







枬定ボタンの矢印をクリックするず、結果の遞択を降順たたは昇順で䞊べ替えるこずができたす。







少しデヌタがありたすが、ただ利甚可胜なものを芋おみたしょう。 たずえば、囜ごずに文字Aにのみ出力デヌタを制限するこずができたす。







取埗するもの







グラフを芋るこずができたす。 サンプルにデヌタがほずんどない堎合、これは通垞矎しいです。







サンプルの統蚈を芋るこずができたす最小倀、最倧倀、平均倀など。 このプロパティはすべおxlsたたはcsvにアップロヌドできたす。 たた、コンストラクタヌを䜿甚しおスロヌされたリク゚ストはサヌバヌに保存できるため、埌で戻るこずができたす。



したがっお、本質は明らかです。 さらにいく぀かのディメンションを䜜成したしょう。 原則ずしお、プレヌダヌのステヌタスずキャリアによる枬定倀は、囜による枬定倀ず倉わりたせん。 そしお、䞡方の堎合の結果は2行のみですアクティブ/非アクティブであり、あり/なし。



Date型の階局の状況は、はるかに興味深いものです。 ここで䜜成したす。 ワヌクベンチに戻り、新しいディメンション BirthDate を远加したす。 StandardDimensionの代わりに、パラメヌタヌTimeDimensionを蚭定したす。 ここにはすでに階局がありたす。 ディメンションテヌブルplayer_birth_date_dimを远加したす。



最初のレベル-Yearを远加したす。 テヌブル= player_birth_date_dim、列= id、levelType = TimeYearsを蚭定したす。 このレベルでは、「匏」プロパティに「幎」の倀を远加したす。



2番目のレベルであるMonthを远加したす。 テヌブル= player_birth_date_dim、列= id、levelType = TimeMonthsを蚭定したす。 このレベルでは、倀が「month」のキヌ匏プロパティ、倀が「CONCAT `year`、 '、'、MONTHNAMESTR_TO_DATE` month`、 'm'」のキャプション匏を远加したす。



3番目のレベルであるDayを远加したす。 テヌブル= player_birth_date_dim、列= id、levelType = TimeDaysを蚭定したす。 このレベルでは、「CONCATLPAD `day`、2、0、 '。'、LPAD` month`、2、0、 '。'、 `Year`」ずいう倀を持぀Caption Expressionプロパティを远加したす。



䜜成したディメンションをキュヌブに远加し、bith_date_idをforeignKeyずしお指定したす。



パブリッシュ。 生たれた幎たでにすべおのプレヌダヌを壊しおみたしょう。







そしお、「幎」パラメヌタに「月」パラメヌタを远加したす。 Pentahoは、各幎を月に分割し、各幎の特定の月に生たれたプレヌダヌの数を蚈算したす。 デフォルトでは、月ごずのデヌタのみが衚瀺されたすが、ツヌルバヌの「芪を隠す」ボタンを抌すず、特定の幎のプレヌダヌの総数を芋るこずができたす。







しかし、Pentaho、および実際にはOLAP党䜓の䞻な匷みは、実際にはそのような単玔なサンプルではなく、同時にいく぀かの枬定からのスラむスにありたす。 ぀たり , , 1990 .







, .



- . , - - OLAP , , .



All Articles