アナライザーレポートではレポートで使用するディメンションやメジャーの項目が左側のフィールドリストに一覧で表示されます。

スキーマ.png
フィールドリストはカテゴリー、数値-テキスト-時間、A→Z、スキーマのいずれかで並べ替えを行うことができます。
デフォルトではカテゴリーが並べ替えの設定として登録されていますが、このデフォルトの表示順の設定を変更することができます。

①URLを使用したソートオプションの指定
ソートオプションはURLの最後に「fieldListView」クエリーパラメータを追加することでURLに設定できます。
例えば、HTMLやXMLのコードブロックで以下のようなことが可能です。

http://localhost:8080/pentaho/api/repos/xanalyzer/editor?amp;showFieldList=true&showFieldLayout=true&catalog=SampleData&cube=Quadrant%20Analysis&autoRefresh=true&debug=true&fieldListView=cmdViewName

②アノテーションを使用したソートオプションの指定
アノテーションを使用してソートオプションを指定するには、「AnalyzerFieldListView」というCubeレベルのアノテーションを
Mondrianスキーマファイルに追加します。このアノテーションは以下に示すように、キューブの下に最初の子エレメントを置く必要があります。

<Cube name="Quadrant Analysis">
<Annotations>
<Annotation name="AnlalyzerFieldListView">cmdViewName</Annotation>
</Annotations>
<Table name="Quadrant_Acuals" />
<DimensionUsage name="Region" source="Region" />
<DimensionUsage name="Department" source="Department"/>
<DimensionUsage name="Positions" source="Positions" />

③analyzer.propertiesファイルからのソートオプションの指定
このソートオプションは「report.field.list.view」プロパティのcmdViewTypeを設定することで指定できます。

# Default field list view mode used to sort the available field # list in the editor. Possible values include: cmdViewCategory,

# cmdViewType, cmdViewSchema and cmdViewName

# This can also be overriden on a cube level with the annotation

# AnalyzerFieldListView report.field.list.view=cmdViewType

なお、cmdViewTypeの部分は設定したい表示順によって記載が異なります。

表示順の設定名
カテゴリ →cmdViewCategory
数値-レベル-時間 →cmdViewType
A→Z →cmdViewName
スキーマ →cmdViewSchema

この設定に関する注意点
①表示順の設定は以下の優先順位に基づいています。
1,URLで指定されたソート順(ブログ内①)
2,既存のアナライザーレポートの場合、最後に保存された設定
3,キューブで設定したアノテーション(ブログ内②)
4,analyzer.propertiesで設定した順番(ブログ内③)

1~4に該当しない場合、cmdViewCategoryが自動的に適応されます。

アナライザーレポートには様々な設定項目がありますが、

今回はその中でも特に使われる上限値の設定についてご紹介いたします。
いずれの設定項目につきましても、biserver-ee/pentaho-solutions/analyzerの中の
analyzer.propertiesを編集していただくことで変更可能です。

①フィルタの要素数
アナライザーレポートにてフィルタを設定する際、
例えば地域ディメンジョンをフィルターに使う場合、該当する地域の要素(日本、アメリカ、カナダ等)を最大100までしか選択することができません。
しかし、フィルターで100以上の要素を設定したい場合は、

analyzer.propertiesのfilter.members.max.count=100
の値を変更していただくことで、最大要素数を変更することができます。

②レポート表示行数について
アナライザーレポートにて表を作成する際、ある一定の行数を越えると、すべての行が表示されず、
すべての行を見るためには表をエクスポートするようにメッセージで促されます。

ブラウザで表示される一定の行数を変更するためには、
analyzer.propertiesのrenderer.browser.max.pivot.cellsの値を変更してください。

Excelファイルの出力行数
作成したレポートをExcelファイルにエクスポートした際、
10,000行を越えているとエクスポートエラーが発生します。
(エクスポートされたExcelファイルを開くと、エラーメッセージが表示されます)

このExcelファイルに出力される最大行数を変更するには、
analyzer.propertiesのrenderer.export.max.rows=10000を変更してください。


FAQ追加

|
先日、CPython Script Executorというステップがマーケットプレイスに追加されているのを発見しましたので、インストールして触ってみました。

まだこのステップはステージレベルが4段階中2で、サポート対象外、本番環境での使用は非推奨という記載もあり、手元の環境(OS: OSX10.11.4、PDI: 6.0.1EE)では、ちょっと混みいった処理になると実行できないようでした。(ちなみにPDIを起動する際も、エンタープライズエディションに同梱されているJavaではなく、

PENTAHO_JAVA_HOME=$JAVA_HOME ./spoon.sh

という具合に他のJavaを指定して起動しないと/usr/local/binとかにPATHが通らないようでした。)

でも、その内改善される、もしくは環境等によっては動作する可能性もなくはないかもしれないので、
今回作ったトランスフォーメーションを共有させていただきたいと思います。

Screen Shot 2016-04-20 at 9.37.28 AM.png
トランスフォーメーションの内容は、Pythonのステップが2つとその結果をPostgresqlに
ロードするテーブル出力ステップの3ステップ構成です。

1つ目と2つ目は分ける必要はないですが、入力データを元に処理を行いたかったので、
2つに分けました。(1つにまとめても処理は完了しませんでした。)

1つ目のステップでは、ウィキベディアのメインページの「新しい記事」セクションのリンク先の記事を取ってきて、記事毎の文章をmecabで単語に分解して、名詞、形容詞、動詞のみに絞って抽出します。

2つ目のステップでは、1つ目のステップで用意した記事毎の単語データからTFIDFのコーパスを作成し、Spark mllibのLDAでトピックモデリングします。

3つ目のステップでは、2つ目のステップで生成したトピック番号、単語、確率をテーブルに投入します。

処理が完了すると

例えば、トピッグ毎に確率が大きい順に15個程単語を表示、で
select topic, word, prob from (
    select row_number() over (partition by topic order by prob desc) as r, t.* from topic_model t) x where x.r <= 15 and prob > 1;

Screen Shot 2016-04-20 at 9.26.55 AM.png

こんな感じの結果になります。トピックの数は10にしています。
記事の数はだいたい20〜30程です。

Pythonステップに入力されたデータはpandasのデータフレームに変換されます。
出力する際もpandasのデータフレームに変換します。

弊社取扱製品のRapidminerでも同じようにpandasのデータフレームを活用した
Pythonプラグインオペレータが一足先に利用できるようになってます。
ほぼ同じようにRapidminerでも処理が作成できるので、PDIから移植して
実行してみましたが、全く問題なく処理が完了しました。

PDIのPythonステップは、試してみたところ、

pd.DataFrame(sc.parallelize(np.linspace(0, 100, 100000)).collect())
# 0から100の間の10万個の数字を生成して出力

といった単純なものは実行できましたが、これを

pd.DataFrame([sc.parallelize(np.linspace(100, 1000, 10000)).reduce(lambda x, y: x+y)])

このようにリデュースして合計値を出力しようとしたり、

pd.DataFrame(sc.parallelize(np.linspace(100, 1000, 100000000)).collect())

出力する数字を1億個ぐらいにしようとしたりすると処理が放棄されました。

その他、スクリプトに日本語が混じると処理が開始しなかったり、
Number of Rows to Processという設定項目にBatchを選択すると
次からそのステップが開かなくなる等のバグがありました。

作成したPDIのトランスフォーメーションとRapidminerのプロセスのファイルは
下記に保存してますのでよろしければお試しください。

PDIトランスフォーメーション
Rapidminerプロセス

以上です。
Mondrianはアナライザー等のアプリケーションから受け取ったMDXクエリーを元にSQLクエリー発行してデータベースからデータを取得するので、データベースがパフォーマンスのボトルネックとなっている事が多く、Mondrianのパフォーマンスに問題がある場合はデータベースのパフォーマンスを最初に確認するのがよいとされています。

Pentahoは実行したMDXクエリーとSQLクエリーをログに出力する事ができるので、パフォーマンスに問題のあるクエリー実行後にログを確認し、全体の処理時間の大半をSQLクエリーが占めているようであればデータベースにチューニングが必要だと判断する事ができます。

データベースのチューニング方法はデータベース毎に異なりますが、Mondrianを利用するにあたり、ディメンションのプライマリキーにインデックスを作成する事が、有効な対策の1つです。
インデックスの作成により実行に数分かかっていたクエリーが数秒になったという事例もあります。

データベースの中には分析クエリー用に設計された物もあり、それらはインデックスの作成やクラスタリングなど、高速なレスポンスに必要な処理を自動で行ってくれます。可能な場合はMondrianのデータソースには分析データベースを利用する事をお勧めします。

★Have a nice open source day★
KSK Analytics Pentaho Team
①Saikuの概要について http://www.pentaho-partner.jp/blog/2016/03/pentahoce-saiku.html
②PentahoCE版のインストール方法について http://www.pentaho-partner.jp/blog/2016/04/pentaho-91.html

前回の記事ではPentahoCE版のインストール方法についてご説明いたしましたが、
今回はインストールされているPentaho上にSaikuAnalyticsをインストールする方法をご説明します。

まず前回のブログにてMarketplaceのzipファイルをダウンロードしましたが、そのzipファイルを解凍してください。

スクリーンショット (1342).pngzipファイルを解凍するとmarketplaceというフォルダが出てきますので、そのフォルダを、
<Pentahoが入っているディレクトリ>/biserver-ce/pentaho-solutions/systemの中に移動させてください。
※移動させる前にstop-pentaho.shを実行し、一度Pentahoを停止することをおすすめします。

スクリーンショット (1343).png移動後再度start-pentaho.shを実行し、Pentahoを起動させてユーザーコンソールにログインしてください。

ログイン後のホーム画面にMarketplaceが左上のドロップダウンリストに表示されます。

スクリーンショット (1344).png次に新しくドロップダウンリストに表示されたMarketplaceボタンを押していただくと、
Marketplace画面に移動します。

スクリーンショット (1345).png
続いてSaikuをインストールするために、検索ボックスにsaikuと入力してください。
そうすると一番上にSaikuAnalyticsのプラグインが表示されます。

スクリーンショット (1346).png
SaikuAnalyticsが表示されましたら、青く表示されている名前をクリックしてください
(installボタンは押さないでください)

そうすると以下のようなインストール画面が表示されますので、
左側のバージョンのドロップダウンリストでSTABLEと記載されているバージョンを選択してください。
(Enterprise版がインストールしても使用することはできません)

スクリーンショット (1347).pngバージョンをSTABLEに変更されましたら、installボタンをクリックしインストールが完了するまでお待ちください。


スクリーンショット (1348).pngインストールが完了しましたら、Pentahoを再起動(stop-pentaho.shを実行し、start-pentaho.shを実行)してください。

再起動後ユーザーコンソールにログインすると、新規作成にてSaikuAnalyticsボタンが表示されます。

スクリーンショット (1349).pngSaiku Analyticsボタンを一度押していただき、以下のようなSaikuのホーム画面が表示されることを確認してください。

スクリーンショット (1350).png次回はインストールしたSaiku内に入っているサンプルデータを使用してアナライザーを触ってみる部分をご説明いたします。

前回のブログではPentahoのCE版でOLAP分析を行う方法としてSaikuAnalytics(以下Saikuと表記)をご紹介いたしました。

そこで今回は実際にPentahoCEとSaikuをインストールする方法について解説いたします。

環境情報
OS CentOS6.5 64ビット版
Pentaho Pentaho-ce 5.2 

まず、PentahoCE版のダウンロードサイト(salesforgeのサイト)に移動していただき、
ここからbiserver-ce-<バージョン名>.zipファイルをダウンロードしてください。

ここではbiserver-ce-5.2.0.0-209.zipをダウンロードしています。

スクリーンショット (1329).png

スクリーンショット (1330).png

続いてSaikuをインストールするために、PentahoMarketPlaceが必要となるため、
MarketPlaceをダウンロードする必要があります。

MarketPlaceはPentahoのサイトよりダウンロードすることができます。


スクリーンショット (1331).png
スクリーンショット (1351).png
今回はMarketPlace 5.2をダウンロードしております。

続いてPentahoをインストールする作業になります。
まずPentahoをインストールする前にOSにJavaがインストールされていることを確認してください。
(Javaがない場合はインストールすることができません)

Javaをインストールし終わっている場合は、インストールしたbiserver-ce-<バージョン名>.zipを解凍します。

スクリーンショット (1334).png

解凍をしますと、biserver-ceというフォルダがあることを確認してください。

スクリーンショット (1335).png

biserver-ceフォルダが確認できましたら、早速Pentahoを起動するため、
このディレクトリに移動し、start-pentaho.shを実行してください。

スクリーンショット (1336).png
スクリーンショット (1339).png

起動した後、http://<pentahoが入っているサーバーのipアドレス>:8080というURLをブラウザ上で実行すると、Pentahoのユーザーコンソールが表示されます。
(idはadmin,パスワードはpasswordとなっています)

スクリーンショット (1340).png

いかがでしたでしょうか。
次回はMarketPlaceを使用してSaikuをインストールする方法をご紹介します。






PentahoCE × Saikuプラグイン

|
Pentahoをご使用になっているみなさんの中には、EE版ではなくCE版を使っていたり、
Pentahoを使ってみたいけど、すぐにいきなりEE版を使うのは金銭的のも抵抗があるという方もおられると思います。

そもそもPentahoのEE版とCE版では何が違うのかというと、
(右記URLに比較が記載されています http://www.pentaho-partner.jp/purchase/func.html)

大きな違いとしてユーザーコンソール上でアナライザーレポートを作成することができません。

厳密にはアナライザーレポートの代わりにJpivotというレポート作成ツールがあるのですが、
Jpivotは実際にMDX(SQLのようなデータを呼び出す言語)を書かないといけないため、BIシステムを初めて触られる方にはかなり難しいツールです。

しかしながら、現在ではそのアナライザーレポートの代わりとしてSaikuAnalyticsというプラグインを使用することでレポートを作成することができるようになりました。

SaikuAnalyticsはPentahoと同じようなBIシステムであり、Pentaho内ではその一部機能をプラグインという形で提供されています。
(SaikuAnalytics http://www.meteorite.bi/)

Saiku_Essbase_Sample_Basic.png



そこで、今回はPentahoCE版のハンズオンとして、Saikuプラグインをインストールし、そのプラグイン上でレポートを作成するところまでブログ上の連載という形でしていこうと思います。

次回は早速CE版のインストールならびにSaikuプラグインのインストール方法について説明します。



PentahoではHadoopを含め数多くのデータベースとの接続をサポートしております。

その中でももちろんOracleDBとの接続もサポートしておりますが、
先日RAC構成のOracleDBとの接続についてご質問がありました。

ちなみに、RAC構成(Real Application Clusters)とはOracle独自の技術で、
1つのデータベースの中に複数のインスタンスを構築できるロードバランス型のクラスタリング構成のことです。
http://www.atmarkit.co.jp/ait/articles/0904/13/news115.html

この構成の場合は、データベース名に以下のようなDBのURLを入力します。
(このURLはOracleでRAC構成にしていただくと取得することができます。)

(DESCRIPTION=(ADDRESS_LIST= 
                  (ADDRESS=(PROTOCOL=TCP)(HOST=rac-node1)(port=1521))
                  (ADDRESS=(PROTOCOL=TCP)(HOST=rac-node2)(port=1521)))
                  (FAILOVER=on)(LOAD_BALANCE=on) 
                  (CONNECT_DATA=(SERVER=DEDICATED) 
                  (SERVICE_NAME=<service_name>))) 

そしてポート番号に-1を入力して、ユーザー名とパスワードを入れていただくと、
接続できます。



2016年5月

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

アイテム

  • スキーマ.png
  • Screen Shot 2016-04-20 at 9.26.55 AM.png
  • Screen Shot 2016-04-20 at 9.37.28 AM.png
  • スクリーンショット (1350).png
  • スクリーンショット (1349).png
  • スクリーンショット (1348).png
  • スクリーンショット (1347).png
  • スクリーンショット (1346).png
  • スクリーンショット (1345).png

月別 アーカイブ