Posted on

BI【Business Intelligence】ツールpentahoを使ってみました。

1.利用要件
 外部にあるMySQLに接続し、データベースを利用する。
 欲しい情報をグラフにして表現する。
 また、絞り込んだデータをEXCELやPDFに出力する。
2.pentahoインストール方法
 1)ダウンロードするファイル
  ・biserver-ce-4.5.0-stable.zip
  ・jdk-7u9-windows-i586.exe
  ・fop-0.20.5.jar.zip
 2)準備しておく環境
  ・Fedore14 MySQLのサーバー
   a.ファイアウォールでポート3306を有効にする。
   b./etc/my.cnfにてbind-addressが指定されていないことを確認
     (指定がないとどこからでもアクセス可能になります。)
   c.特定ユーザーのログイン情報のホストの設定を、「すべてのホスト」に設定する。
 3)インストール
  ・C:\pentahoのフォルダを作成する。
  ・C:\pentahoへ1)でダウンロードしたファイルをコピーする。
  ・biserver-ce-4.5.0-stable.zipを(C:\pentaho)へ展開する。
  ・jdk-7u9-windows-i586.exe(32BIT)版をインストールする。
   (64BIT:マシンは64BIT版をインストールする。)
  ・環境変数JAVA_HOMEへC:\Program Files\Java\jdk1.7.0_09を設定する。
  ・あと、biserver-ce-4.5.0-stable.zipの解凍だけでは、EXCEL、PDFが出力できないため、
   C:\pentaho\biserver-ce-4.5.0-stable\biserver-ce\tomcat\webapps\pentaho\WEB-INF\libの
   fop-0.94.jarを消し、fop-0.20.5.jarをコピーする。
3.pentahoの起動
 1)C:\pentaho\biserver-ce-4.5.0-stable\biserver-ceのstart-pentaho.batを実行する。
 2)ブラウザーを立ち上げてhttp://localhost:8080を入力する。
 3)ログイン画面が立ち上がるので、ID:joe、パスワード:passwordにてログインする。
4.pentahoの利用
 1)お使いのデータにより、集計する対象が変わります。
 2)mySQLへの接続、ファイル->新規作成->DataSourceにてData Source Wizardが立ち上がる。
 3)SourceTypeをDatabase Table(s)を選択する。
 4)+アイコンをクリックしてDatabase Connectionにてお使いの環境の情報を設定する。
  (ここで2.2)・c.のユーザーを設定する。)
5.pentahoの停止
 1)C:\pentaho\biserver-ce-4.5.0-stable\biserver-ceのstop-pentaho.batを実行する。
6.利用方法
 2日程度しか調査していないので、できることに関しては、全て把握した訳ではありません。
 利用の方法としては、mySQLでVIEWをCREATEしてそのテーブルをpentahoで参照し、グラフ化
 しました。pentaho内では、条件文を記述できないようなので、mySQLのVIEWで代用しました。
7.補足情報
 biserver-ce-4.5.0-stable.zipをインストールする前に、biserver-ce-3.10.0-stable.zipを
 インストールして使ったのですが、mySQLのViewを参照することができなかったです。
Posted on

datepickerで範囲制限をしてみました

 JQueryも動作的に大分安定してきて安心して使えるようになってますが、JQuery-UIもヴァージョンを重ねてだんだんかゆいところに手が届くようになってきています。

Webアプリケーションのカレンダーでdatepickerを使用している方も多いと思いますが、2つのdatepickerを使って開始日と終了日を指定するような場合に、

・終了日は開始日以前の日付を選択できない
・開始日は終了日以降の日付を選択できない

という制限をつけた動きを出来るようにしてみました(^^)

ヘッダでJQuery, JQueryUI, そして日本語ローカライズのdatepickerのファイルを読み込んで、レッツトライ!!

続きを読む datepickerで範囲制限をしてみました

Posted on

PHPでサーバーを監視するプログラムを作ってみました。

最近サーバーの調子が悪いので、サーバーにトラブルがあったら連絡くれるようにしてみました。

有料の監視ツールを使うほどでもないので、簡単に無料でできるか調べると、
アシアルさんでいいのを発見!これを使ってDBも監視するようにしました。
以下監視プログラムです。

続きを読む PHPでサーバーを監視するプログラムを作ってみました。

Posted on

画像の上にポイントを付けるjQueryを作ってみた








画像の上にポイントを置いて座標を取得して保存する仕組みを作ってみました。
使ったのはjQuery.uiの「ui.draggable.js」「ui.droppable.js」を使用しました。

ポイントの追加ボタンを押してポイントを追加し、ドラッグで画像の任意のところにドラッグします。
不要なポイントはドラッグしてゴミ箱に持っていくと消えます。
ポイントを配置した後に登録ボタンを押すと座標を取得して保存する流れになります。

続きを読む 画像の上にポイントを付けるjQueryを作ってみた

Posted on

CakePHP PaginateのソートでJOINしたテーブルのカラムを指定する

PaginateのソートでJOINしたテーブルのカラムを指定・・・

動かない・・・なぜだろうと調べてみたのでメモ
testsテーブル(id, name)
test_detailsテーブル(id, test_id, name)
があったとします。
echo $paginator->sort('氏名', 'TestDetail.name');
では動きません。
SQLエラー防止の為に親テーブルにないカラムは無視するようです。
http://xxxx/sort:column/direction:ascで適当なカラムを指定できるので
ではどうするのか・・・

続きを読む CakePHP PaginateのソートでJOINしたテーブルのカラムを指定する

Posted on

CakePHP1.3で携帯サイトを作る時の注意

CakePHPの1.3にバージョンアップしてみて携帯サイトを作ったら今までどおりのやり方でやっているのに文字化けが起こってしまいました。

何故か調べてみるとCakePHP1.3からは$form->create()をすると勝手に accept-charset=”utf-8″をformタグにくっつけて生成してしまうらしい・・・

ということで
$form->create(null, array(‘encoding’=>null));
と記述して文字コードの指定がされないように対策しました。

Posted on

pdftkを使ってPDFを合体する

pdftkを使ってPDFを合体したので、その手順を照会します。

使っているLinuxにpdftkが入っていなければyumでインストールします。

 # yum install pdftk

後はコマンドで
pdftk A.pdf B.pdf C.pdf cat output D.pdf
とするだけで、A、B、CのPDFの内容が合体されてD.pdfが作成されます。

今回はphpのプログラムからpdftkを使いたかったので、exec関数を使ってpdftkを叩きます。
exec(“pdftk A.pdf B.pdf C.pdf cat output D.pdf);
phpから呼ぶ時に注意しないといけない点はPDFのパスを指定しないといけない点で、
exec(“pdftk 絶対パス/A.pdf 絶対パス/B.pdf 絶対パス/C.pdf cat output 絶対パス/D.pdf);
と記述してあげます。

Posted on

ラジオボタンのチェックを全てはずせるようにしてみました

ラジオボタンのチェックって一度つけるとはずせないので、
チェックがついてるラジオをもう一度クリックすることではずせるようにしました。 

選択解除ボタンを作ることでも可能ですが、ボタンがあると見た目が悪い時などに使えると思います。 
ただし、一般的な動きではないので、「チェックの付いたらラジオをクリックすると未選択にできます。」等の注意書きはあったほうがいいと思います。
 (jquery使用)

続きを読む ラジオボタンのチェックを全てはずせるようにしてみました