2016年3月23日水曜日

MySQL 4.x系ではCREATE USERの構文が違う

ついつい忘れてしまうMySQLのCREATE USERですが、今回改めて実施したところ
はまってしまったので備忘録です。

結果としては、CREATE USER は、MySQL 5.x系からであり、MySQL4.xで実施する際には
構文が違うということでした。

NGケース


mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'password';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near
'USER'test1'@'%' IDENTIFIED BY 'test12345'' at line 1

というわけで

OKケース


GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password';

2016年3月20日日曜日

iReportsで、グループ毎の集計値を合算して合計として表示する方法

見出しだけだとわかりづらいので例とともに。

データ例


伝票A 合計100円 , 明細 20円 30円 50円
伝票B 合計250円 , 明細 80円 170円

ここで、100円と250円を合算したい。
明細だと、一部計算がずれる場合があるので明細からの合計は行わない。


その他要件

・伝票毎で、グループが切ってある。


手順


1) Variablesを作成

 V_DENPYO_GOUKEI (名前は何でもよい) を作成、以下プロパティを設定。
 ・Cauculation : Sum
 ・Reset type : Report (これ重要)
 ・Increment Type : Group
 ・Increment group : DenpyoのGrou
 ・Variable Expression : $F{DENPYO_GOUKEI}.equals(null)? 0 : new Double($F{DENPYO_GOUKEI})

ResetTypeをReport以外に指定すると、想定値と異なる値を取得してきてしまいました。


解消できるまでに小2時間。


レポーティングツール類はプロパティの使い方が肝となることが多いと感じました。



追伸:

設定するフィールド側
text field expression : $V{V_DENPYO_GOUKEI}
Evaluation Time : Report