チャートビューアでSQL文章を可変に【Javaチャート・グラフ作成ツールEspressChart】

チャートビューアでSQL文章を可変に
[質問]

現在、弊社にてEspressChartApiを利用して2次元のコンビネーショングラフを
表示させております。
しかし、メンテナンスを考えるとチャートビューアを利用したく考えております。
弊社で、チャートビューアを使用したテストが正常に作動しました。

<param name="filename" value="userdb/plsalldata4.cht" />

このchtファイルにはデータ取得用のSQLがかかれておりますが、このSQLを可変にすることはできるのでしょうか?
また、その場合にはどのようにすればよいのでしょうか?
—————————————————————-

[回答]

<param name="filename" value="userdb/plsalldata4.cht" />
を以下のように変更願います
<param name="filename" value="userdb/plsalldata4.tpl" />

chtファイルは図表データを含んでいます。
しかし、tplはデータを含んでおらず、それがhtmlページに開かれるごとに、
データ・ベースから新しいデータを検索します。
espresschart¥ヘルプ¥マニュアル¥Chp_5.htmlでは、
それがさらにクエリーをそれ自身変更するためにコードを持っています。
<param name="sourceDB" value="jdbc:odbc:DataSource ,&amp;lt;br&amp;gt; sun.jdbc.odbc.JdbcOdbcDriver,&amp;lt;br&amp;gt; username ,&amp;lt;br&amp;gt; password ,&amp;lt;br&amp;gt; select * from products" />
<param name="dataMap" value="0 1 -1 3" />
<param name="chartType" value="3D Column" />

JDK 1.4.1のHeadlessオプションについて【Javaチャート・グラフ作成ツールEspressChart】

EspressChartとEspressReportをUnix/Linux系のプラットフォームで使用する時にはX-Serverが必要です。

JDK 1.4.1のHeadlessオプションはLinux,UnixシステムにおいてX-Serverを使用したくないユーザのための新しい手法です。

JDK 1.4.1 can be configured to run headless on a server–when graphic display
is not needed on the server machine. Basically, you would add
“-Djava.awt.headless=true” to the Java command line.
For additional informationon this, please check the following link:

http://java.sun.com/j2se/1.4/docs/guide/awt/AWTChanges.html#headless

詳しくはマニュアルDeploymet(ディプロイメント)セクションを参照ください。

内部コードとしてUnicodeを採用【Javaチャート・グラフ作成ツールEspressChart】

EspressChartとEspressReportは内部コードとしてUnicodeを採用しています。
外部(ファイル等)から文字列を入出力する場合は、文字のエンコーディング正しく変換する必要があります。

○ReaderやWriterに指定する文字エンコーディングが間違いないか。
○データベースもファイルもすべて、文字エンコーディングをUTF-8で統一する。
○Javaソースをコンパイルするときに、コンパイルオプションでソースファイルの文字エンコーディングを正しく指定しているか。
○JSPやサーブレットでのContentTypeに指定するcharsetの値を確認する。

■Javaの文字化け“??? ”の法則とその防止策 は下記のサイトを参考にしてください。

http://www.atmarkit.co.jp/fjava/rensai2/webopt08/webopt08.html

Scheduler【Java対応レポート・帳票ツールEspressReport】

EspressReportにはユーザがレポート(帳票)とプロセスをスケジュールできるスケジューリング・アプリケーション(Scheduler)を含んでいいます。そのインターフェイスを使用してレポート・テンプレートか、コマンドラインで時間か、時間間隔でスケジュールすることができます。レポートはファイルシステムにエキスポートか、電子メールで転送することができます。スケジュールは別々のパラメータ値とセキュリティレベルで設定可能です。

APIを使用してネットワークに接続されたプリンタに出力することができます。
ヘルプ「Charpter 13 Scheduler」のAPIサンプルを参照ください。

またAPIを使用してユーザのクライアントPCに接続されているプリンターに出力することも可能です。

さらにAPIを使用してユーザがスケジュール・ジョブをプログラムでアクセス・変更することもできます。

コードサンプル:スケージュールジョブの作成
————————————————

import java.io.*;
import java.util.*;
import quadbase.scheduler.*;
import quadbase.reportdesigner.util.IExportConstants;
public class MySchedule {
public static void main(java.lang.String[] args) {
try {
MySchedule ScheduleReport = new MySchedule();
ScheduleReport.start();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void start() throws Exception {
// Create a schedule object to run a report template
ScheduleObject sObj = new ScheduleObject(“SCH_OBJ1”, ScheduleObject.REPORTOBJ);
// Specify which template to use
sObj.setFileLocation(“Templates/SAMPLE.rpt”);
// Specify the export format
sObj.setReportType(IExportConstants.DHTML);
// Specify the periodicity of the schedule (here run once) and start time
sObj.setTaskOption(ScheduleObject.ONE_TIME);
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MINUTE, 5);
sObj.setStartDate(calendar.getTimeInMillis());
// Don’t send email notification
sObj.setSendEmail(false);
// Add new schedule to jobs list
ScheduleModifier.addScheduleTask(sObj);
}
}

EspressManagerとPATH設定(CPUCheckNT.dll)【Javaチャート・グラフ作成ツールEspressChart】

EspressChartはVer5からEspressManagerという機能が追加されています。

EspressManager.batを使用されたときはEspressChartはCPUCheckNT.dllにPATHを設定します。

CPUCheckNT.dllはEspressChart/lib にあるかどうかとPATHの確認をお願いします。

実行環境において、何らかの理由でEspressManagerを使用されない場合は、ユーザがPATHを設定する必要があります。

Javaオブジェクト/アレー データとEJB【Javaチャート・グラフ作成ツールEspressChart】

リレーショナル・データベースやXMLファイルからデータを直接抽出する以外にEspressReport/ChartはJavaオブジェクト・アレーからか、EJB経由でレポート・チャートに直接データを受け渡すことができます。ランタイムではレポート・チャートに直接引き渡すことができます。デザインタイムではJavaオブジェクト/アレー データはJavaクラス・ファイルから取り込むことができます。

コード・サンプル: レポートに簡単なデータを引き渡すクラス
—————————————————————–
package help.examples.DataSources.classes;
import java.awt.*;
import quadbase.reportdesigner.ReportAPI.*;
import quadbase.reportdesigner.util.*;
public class SampleData implements IDataSource {
// Setting DbData for passing data as arguments
String dataType[] = {“string”, “string”, “double”, “double”};
String fieldName[] = {“OrderID”, “Product”, “Price”, “Quantity”};
String records[][] = {{“1001”, “Chair”, “325.00”, “4”},
{“1001”, “Table”, “1211.00”, “1”},
{“1020”, “Dresser”, “2214.00”, “1”},
{“1020”, “Table”, “1211.00”, “1”},
{“1020”, “Cabinet”, “4021.00”, “2”},
{“1031”, “Chair”, “325.00”, “2”},
{“1044”, “Table”, “1211.00”, “1”},
{“1044”, “Dresser”, “2214.00”, “1”}};
DbData data = new DbData(dataType, fieldName, records);
// create a empty constructor
public SampleData() {};
// implement getResultSet
public IResultSet getResultSet() { return data; }
}

EspressChart Ver4.0からのANTI_ALIASING機能【Javaチャート・グラフ作成ツールEspressChart】

EspressChart Ver4.0からANTI_ALIASING(アンチアリアス)がデフォルトになっているため標準設定では画像・文字の不鮮明が発生することがあります。

アンチエリアスの無いGIFを出力するためにはChart Designerの設定を調整するか、次のAPIラインを追加してください。

chart.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_OFF);

VALUE_TEXT_ANTIALIAS_OFF

ChartDesignerでは、 Format/Rendering Options からボックスをクリック下さい。

EspressChart Ver5.4の新機能詳細【Javaチャート・グラフ作成ツールEspressChart】

(1)SOAPデータソース
EspressChartバージョン5.4ではSOAP(Simple Object Access Protocol)のデータソースをサポート可能で、SOAPを使用したデータベースのデータを取得することが可能になります。SOAPデータソースはXMLデータソースとまったく同じですが、XMLファイルをローカル・システムから読取のではなく、SOAPメッセージのHTTPを経て転送されます。
SOAPを使用してWebサービスに接続するためには、サービスをアプリケーションサーバーに配置する必要があります。EspressChartはサンプルSOAPサービスを提供していますので、使用することができます。サービスはアクティブになったら、サーバーURL、サービスルックアップ名、メソッドルックアップ名を記入して、接続が可能になります。

※SOAPデータソースの詳細に関しては、EspressChart5.4.Xユーザガイドをご参照ください。

(2)パラメータ用の日付変数 
「Date Variable」の機能で日付パラメータの値を簡単に設定することができます。
この機能は「パラメータはデータベースカラム・ファンクションにマップされていない、またはパラメータのデータタイプが日付・時間となっている場合」のみ提供されています。

(3)データベースファンクションにパラメータ値をマップ
パラメータ値をデータベースファンクションにマップすることができます。マップすると、コンボボックスにある色々なパラメータ用の機能(substring ,datediff ,stddev等)を選択することができます。

(4)カスタムレジェンドにおけるシンボルサイズの変更
シンボルサイズはカスタムレジェンドと共に自動的にリサイズすることが可能になります。

結果:

(5)チャートのグラデーション (chart w/gradients)
チャートのデータポイント、背景、画質を高めるために、色のグラデーションを設定することができます。

(6)2Dチャートへの3Dシェーディングエッフェック
この新しいシェーディング特徴で、2Dチャートの画質・深さを高めます。

(7)レジェンドのリンク
チャートのレジェン・ドオブジェクトにハイパーリンクを設定することができます。

(8)ダイアルチャートオプションの追加機能
ダイアル・チャートの画質を高めるための新機能オプションが提供されています。

(9)オーバレイチャートの強化
オーバレイチャートでの軸のステップインターバルを調整することができます。オーバレイチャートのオプションダイアログでデータシリーズに使用するチャートタイプを選択することもできます。カラム、エリア、ラインというチャートタイプが提供されています。シリーズのエレメントの非表示・表示設定も可能です。

(10)チャートとテキストのアンチエイリアシング(anti-alias)
EspressChart バージョン5.4ではアンチエイリアス(anti-alias)の設定は「チャートのみ(Chart Only)」のオプションが追加されました。

(11)ネガティブトップラベル(Negative Top Label)の色設定
ポシティブとネガティブ値(Positive and Negative Values)により、色を設定することができます。

(12)パイチャートの強化
パイチャートのセクタの閾値を指定し、パイチャートのスライス(slice)の色を設定することができます。

Ver5.4での主な新機能について【エンタープライズ型チャート・レポートツールEspressReportES】

■ EspressReport ES Ver5.4の主な新機能:

○ ダッシュボード:EspressReport ES Ver5.4は完璧なダッシュボード・ビルダーを追加しました。分かりやすいユーザ・インターフェイスを活用してダッシュボード上の任意の場所にチャートとレポートをドラッグ・アンド・ドロップすることにより見栄えも素晴らしく、すぐに使用可能なダッシュボードを作成できます。アイテム用の共通パラメータは共有することができ、新規パラメータ・レイアウト・オプションでレイアウトすることができます。ユーザはまたダッシュボード内の各アイテムに対してチャートかレポートへのドリルダウンを追加することができます。イメージ、タイトル、バックグラウンド、パラメータ・バリュー・アイコン等の新規エレメントもダッシュボードに追加することが可能です。

ダッシュボード・デモ紹介サイト

○ ユーザ・インターフェイスのカスタマイズ化:イメージ(例:会社ロゴ)、カスタムCSS、特別なテキストをEspressReport ESのユーザ・インターフェイスの各ページに追加することができます。これにより、ユーザが既に使用しているWebアプリケーションにEspressReport ESを融合させることが可能になりました。

○ SOAPインターフェイス:ユーザはEspressReport ESにXML SOAPメッセージを送ることでレポートとチャートの実行が可能になりました。

○ ユーザ・アクティビティ・ログ:ユーザ使用に関連する情報はデータベースにログされ、管理者はいつでもそれをクエリすることができます。

○ クラスタリング/ロードバランシング:Tomcatクラスタリング・メンバー用のAppache Webサーバ・ロードバランシングをフルにサポートします。

EspressReport 5.4/EspressChart 5.4の新機能概略【Javaチャート・グラフ作成ツールEspressChart】

■ EspressChart Ver5.4の主な新規機能:

○ チャート凡例内でのリンク:凡例テキストにハイパーリンク、ドリルダウン・リンクを挿入することが可能になりました。

○ カスタムレジェンド機能におけるシンボルサイズの変更:凡例内のシンボルサイズはカスタムレジェンド機能で自動的にリサイズすることが可能になりました。

○ 3Dパイ・チャートの機能アップ:3Dパイ・チャートのアンチ・エリアス描写機能は余分なラインをパイ・チャート追加することなく、可能になりました。

○ チャートのグラデーション:チャートのデータポイント、背景、画質を高めるために、色のグラデーションを設定することが可能になりました。

○ 2D チャートへの3D シェーディング:この新しいシェーディング機能で、2D チャートの画質・深さを高めます。

■ EspressReport Ver5.4の主な新規機能:

○ Excelエキスポート機能の拡充:Excelエキスポートに従来までのテキストに加えチャートとイメージのエキスポートが可能になりました。

○ クロス集計レポートの簡素化:新規固定フィールド・クロス集計レポート機能により、クロス集計レポートの作成を簡素化することが可能になりました。

○行数をベースにした改ページ機能:あらかじめ指定した行数をベースに新たなページへの改ページ機能を追加しました。

○ スクリプティング管理機能:新規ナビゲーション機能で、ユーザはスクリプトしたセルすべてか、選択したそれぞれのスクリプトしたセルをハイライトすることができます。

■ EspressReport Ver5.4とEspressChartVer5.4との共通の新規機能:

○ データソースとしてSOAPの採用:SOA(Service Oriented Architecture)プロトコールを使用したデータソースのサポート

○ パラメータ用の日付変数:
「Date Variable」の機能で日付パラメータの値を簡単に設定することができます。

○ データベースファンクションにパラメータ値をマップ:
パラメータ値をデータベースファンクションにマップすることができます。マップすると、コンボ・ボックスにある色々なパラメータ用の機能を選択することができます。