ホームページ >php教程 >php手册 >Webレポーティングツールの設計 ------実装アイデア

Webレポーティングツールの設計 ------実装アイデア

WBOY
WBOYオリジナル
2016-06-21 09:14:04759ブラウズ

ウェブ|デザイン

デザイン

----------------------------------------------- -- ----------------------------------



はじめに

この記事ではWEBレポートのデザインを紹介しますツール アイデアやソリューションを実装するために、このツールをデータベースに接続して、ユーザーが独自のレポートをデザインできるようにします。レポート データはデータベースから取得され、ユーザーが変更したデータはデータベースに保存できます。このツールは、定期的または不定期的な任意の形式でレポートのデザインを実現でき、最終製品としてユーザーに提出できるだけでなく、開発者が独自の製品を開発するためのレポートおよびデータベースのデザイン ツールとしても使用できます。目的の 1 つは、開発者 (少なくとも私) が「大変な作業を報告する」ことをやめさせることです。

前置きと質問

C/S構造とB/S構造のソフトウェア開発プロセスでは、レポートを設計するという多くの作業に遭遇しました。ユーザーには、実装する必要があるさまざまなレポートが多数あり、システムが受け入れられた後、ユーザーは実装する必要があるレポートもいくつか持つことになります。 C/S構造レポートを作成する際は、PB、EXCEL、FORMULA ONEなどを使用して表を作成し、B/S組織レポートを作成する場合は、ASP、XML/XSLなどを使用して表を作成しました。 1 つ目は、レポートのデザインを完了するのに長い時間がかかったので、一息つくことができると思ったのですが、まだデータベースを設計し、レポートを生成するためのメソッドと関数を設計する必要があります。レポートを変更するためのインターフェイスとデータを保存するための機能。各レポートは開発者が個人的に作成する必要があります。ユーザー テストに提出するのは簡単ですが、ユーザーは「これこれのテーブルの形式が間違っています」と言いました。 、これこれのテーブルの式が間違っています、これこれのテーブルのサイズが間違っています、新しいテーブルをいくつか追加するのを手伝ってください... 目まいがするほどです、今だけの達成感と安堵感がありましたため息やうめき声に流されていく…そんな面倒なこともユーザーが自分でできるようになればいいですね!

たまたま金融系のWEBオフィスシステムの案件を受注したのですが、導入するレポートが多かったので、今後の業務を解放したいと考えて「レポートデザインツール」を簡単に設計しました。 . レポート作業はもちろんWEB上で実施。

レポートデザインツールの作り方は、以前C/S構造システムを開発していた時にやったことがあり、実装(PB6を使用)したことがありますが、ユーザーにとっては非常に良いものです。しかし、これには欠点があります。第一に、Web に移植して使用するのは簡単ではありません。第二に、レポートを表示することしかできませんが、レポート内のデータを変更することはできず、当然データを追加することもできません。 WEB上でどうやって実装するのか?

実装方法

WEBレポートデザインツールを使用するには、まずレポートについて何を知っておく必要がありますか?それはどのように生み出され、実現されたのでしょうか?まず考えてみましょう。

レポートとは何ですか?これは簡単に言うと、いくつかのデータを固定形式で固定位置に配置した表です。これはテーブルなので、「テーブル」と「グリッド」があります。まず、「行」または「列」を形成するために 1 つの「グリッド」を「グリッド」ごとに「綴る」必要があります。 「行(列)」が必要 「表」は「行(列)」を一つ一つ「綴って」いきます。

これらもグリッドから「綴られ」ていますが、以下の図 1 と図 2 に示すように、表の中には描きやすいものと描きにくいものがあります。明らかに、マップ 1 に示すレポートは、図 2 に示すレポートよりも作成しやすいです。図 1 の表を「定期レポート」と呼び、図 2 のレポートを「不定期レポート」と呼びます。

長い間くだらない話をしてきましたが、レポートはどのように生成され、実装されているのでしょうか?方法は「描く」と「埋める」の2つしかないと思います。

「表を描く」とは、グリッドを生成すると同時に、フォーマットに従ってデータをグリッドに配置することを意味します。つまり、フォーマットデータも同時に生成されます。このようにして、表全体が描画されます。 、テーブル内のデータも利用でき、レポートが生成されます。この方法は、レポートを行ごとまたは列ごとに描画できるように、きちんとしたレポートを生成するのに適しています。この方法の利点は、レポートの生成が速い (データがバッチで処理される) こと、および処理プログラムが単純である (ループ文で十分である) ことです。

「表に記入する」は「表を描く」とは全く異なります。まず表のフォーマットを作成し、次に指定された表の位置に指定されたデータを記入する必要があります。この方法は、定期的なレポートだけでなく、不定期なレポートの作成にも適しています。この方法の利点は、応用範囲が広いことはもちろんですが、最初にテーブルのサンプルを取得し、次にデータを 1 つずつ取り出して埋めていく必要があるため、時間がかかるという欠点もあります。細胞を一つ一つ。

それでは、どの実装方法を採用すべきでしょうか?解決策は 2 つあります:

1.個別の処理: レポートを設計するときに、レポートが定期的であるかどうかをユーザーが決定できるようにします (これは非常に簡単です)。定期的である場合、レポートは「テーブル描画」メソッドを使用して生成されます。それ以外の場合、レポートは「テーブル描画」メソッドを使用して生成されます。 「テーブルフィル」方式。

2.統合処理: すべては「フォームへの入力」によって生成されます。

コンピュータの速度は依然として急速に向上していると感じていますが、主にソフトウェアの設計と処理を簡素化するために、ハードウェアの「速さ」が採用されています。それは、フォームへの入力です。 。

実装方法を決定し、詳細と技術的な事項の検討を開始しました。この WEB レポート デザイン ツールを実装するには、どのような点を考慮する必要があり、どのような問題を解決する必要がありますか?

解決する必要がある問題

今度はそれを実装する方法を考えます。最初に、簡単に考えた後、次の問題を解決するだけではないでしょうか:

1.表の描き方、つまり表サンプルの生成方法とは?ブラウザに実装する必要があります。

——シンプル: DHTML を XML/XSL と組み合わせて使用​​するだけです。

2.テーブルサンプルを保存するにはどうすればよいですか?

——簡単: それらはすべてデータベースの TEXT フィールドに保存されます

3。データベースとの接続方法は?

——簡単:

4 を表す属性を具体的に定義します。データを表示するにはどうすればよいですか?

——シンプル: DHTML テクノロジーを使用し、XML/XSL

5 と組み合わせることで実現できます。データを変更するにはどうすればよいですか?

——シンプル: イベントを検出するだけです。

6.データを保存するにはどうすればよいですか?

——簡単: データベースに書き込むだけです。

よく考えてみると、ここには多くの問題があることに気付きました:

7.時計の描き方は?何で描くの?特に、ブラウザ内に実装する必要があります。

8.テーブルのスタイルを設定するにはどうすればよいですか?太字、下線、斜体、10 進数、テーブルの結合、テーブルの削除、その他のスタイル設計操作など。

9.テーブルサンプルを保存するにはどうすればよいですか?どのような形式ですか?どこに存在するのでしょうか?

10.データが表示される場所はどのように定義されますか?定義方法は?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?データを記入するにはどうすればよいですか?

11.個々のデータの表示形式を定義するにはどうすればよいですか?定義方法は?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

12.レポートはどのようにしてデータベースに接続しますか?レポートデータを取得するにはどうすればよいですか?データを取得するための条件はどのように定義すればよいですか?定義方法は?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

13.ユーザーはレポートを追加したいと考えていますが、それに対応する既製のデータベース テーブルがありません。ユーザーはどのようにデータベースを設計すればよいでしょうか?データベースはどのように設計すべきでしょうか?

14.ユーザーはデータベース定義の意味をどのようにして知るのでしょうか?データベーステーブルのどのフィールドとレコードを特定のグリッドから取得する必要があるかを知るにはどうすればよいでしょうか?

15.ユーザーがレポート データを変更 (追加) したことを確認するにはどうすればよいですか?このデータはデータベース テーブルのフィールドにどのように対応するのでしょうか?どのセルを合計するとデータベース テーブル内の完全なレコードになるのかをどのようにして知ることができるのでしょうか?ユーザーが入力したデータが完全な記録を形成するのに十分であることをどのようにして確認するのでしょうか?この変更(増加)したデータを保存するにはどうすればよいですか?

16.別のデータベーステーブルを保存する必要がないデータを保存するにはどうすればよいですか?

17.レポートのデータ バランス関係の設計?どのように定義すればよいでしょうか?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

18.自動計算式を実装するにはどうすればよいですか?どのように定義すればよいでしょうか?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

19.他のレポートからデータを抽出して新しいレポートを生成するにはどうすればよいですか?定義方法は?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

20.レポートの概要をどのように定義するか(支店のデータから本社のデータを生成)?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

21.データレポート、つまりデータ形式の変換を実装するにはどうすればよいでしょうか?変換プログラムはどのように設計されていますか?保存方法は?どこに存在するのでしょうか?

...

考えれば考えるほど面倒になるので、諦めたほうがいいかもしれません。私のような遅い人間にとっては、おそらく時間がかかるでしょう。このツールを設計したのはずっと前です。

このレポートツールを設計するために書いたメモと収集したデータを振り返って、不満を感じました。それから、レポートの重さを量ってみました。いつも大変な仕事をしていますか?いいえ!あなたの将来のために、今苦労する価値はあります!しかし、解決しなければならない問題が多すぎて、どうやって始めればよいでしょうか?重要な質問は何ですか?

問題の鍵

窓の外の景色を見て、落ち着くまで待ってから、リストされた問題を一つ一つ測定し、比較してみると、最初に解決すべき問題が見つかります。それを実現するのが「表面サンプル設計ツール」です。レポートのデザイン、表示、変更、保存などのすべての操作はツール環境で実装されるため、データベース接続、テーブル サンプルの保存などは、ツールのプレゼンテーション フォームやインターフェイス フォームを中心に実装および調整する必要があります。

仕事のアイデアが見つかったら、デザインを始めましょう!忙しくしないでください、「ツール」のデザイン計画はまだ決まっていません。

いくつかのオプションの比較

WEB 上でテーブルのようなデザインを実装するには、多くのオプションから選択できます:

1. XML/XSL/DHTML/HTML テクノロジーを使用して

2.

3 を実現するには、IE の WebBrowser ActiveX コントロールを使用します。独自の ActiveX コントロールを作成します

4.独自の Java アプレットを作成して実装します

5.既製のサードパーティ製コントロールを借用して実装する

それでは、どのソリューションが私にとってより良いのでしょうか?

まず各プランの特徴を理解しましょう。結果は次のとおりです:



無料のサードパーティ ソフトウェアを入手できる場合は、間違いなく 5 番目のプランが最適です。探してみてください。本当に見つけたのは、Microsoft Office Web Components の SheetSpace コントロールです。無料ではありませんが (MS Office2000 以降でサポートされている必要があります)、開発コストが削減されるだけでなく、ユーザーの操作性も向上します。私もこれに慣れていたので、Microsoft Office Web コンポーネントの SheetSpace コントロールを選択しました。

解決策

主要な問題が解決されたので、その他のことはすべて簡単に対処できるようになります。 以下は、関連する問題の解決策のリストです。

1.表の描き方、つまり表サンプルの生成方法とは?ブラウザに実装する必要があります。

——Microsoft Office Web コンポーネントの SheetSpace コントロールでテーブル サンプルをデザインするか、MS EXCEL でテーブル サンプルをデザインし、それを Microsoft Office Web コンポーネントの SheetSpace コントロールにインポートして表示します。MS にインポートされたテーブル サンプルをデザインします。のEXCELプログラム。データの表示形式、ページング、固定ヘッダー、フォントサイズ、色などはすべてテーブルサンプルで設計されています。

2.テーブルサンプルを保存するにはどうすればよいですか?どのような形式ですか?どこに存在するのでしょうか?

- Microsoft Office Web コンポーネントの SheetSpace コントロールの結果をデータベースの TEXT フィールドに保存します。テーブル サンプルの形式は MS EXCEL の HTML 形式であり、Microsoft Office Web コンポーネントの SheetSpace コントロールから直接取得できます。

3.データベースとの接続方法は?

——レポートに対応するデータベーステーブルを表すフィールド属性を特別に定義します

4。データを表示するにはどうすればよいですか?

——データベースからレポート データを抽出し、XML 形式でクライアントに保存し、Microsoft Office Web コンポーネントの SheetSpace コントロールに表示し、取得したレポート データを指定されたセルに入力します。

5.ユーザーがレポート データを変更 (追加) したことを確認するにはどうすればよいですか?このデータはデータベース テーブルのフィールドにどのように対応するのでしょうか?どのセルを合計するとデータベース テーブル内の完全なレコードになるのかをどのようにして知ることができるのでしょうか?ユーザーが入力したデータが完全な記録を形成するのに十分であることをどのようにして確認するのでしょうか?

——Microsoft Office Web コンポーネントの SheetSpace コントロールの変更イベントを検出し、現在のセルの値と元のデータを比較し、同じでない場合は元のデータを変更し、変更フラグを設定します。データとデータベースフィールドの対応関係を式に基づいて説明します。このようにして、グリッド内のどのデータを合計するとデータベース テーブル内の完全なレコードになるかを知ることもできます。追加されたデータについては、入力ツールが特別に設計されており、完了するためにどのデータを入力する必要があるかをユーザーに指示します。

6.データを保存するにはどうすればよいですか?

——XML の変更 (追加) フラグを含むデータをサーバーに送信すると、サーバーはデータを処理して、データベース内の対応するデータを変更します。

7.テーブルのスタイルを設定するにはどうすればよいですか?太字、下線、斜体、10 進数、テーブルの結合、テーブルの削除、その他のスタイル設計操作など。個々のデータの表示形式を定義するにはどうすればよいですか?定義方法は?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

——Microsoft Office Web コンポーネントの SheetSpace コントロールは、これらの操作機能を提供し、ページ上にメニュー形式で表示され、ユーザーの操作を提供します。ユーザー操作によって生成された結果はテーブル サンプルに保存され、テーブル サンプルの保存時にデータベースに保存されます。

8.データが表示される場所はどのように定義されますか?定義方法は?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?データを記入するにはどうすればよいですか?

——数式デザインとインタプリタを設計し、数式の形式で表示するデータをテーブル サンプルに保存します。数式の場所は、データが表示される場所と形式です。数式が配置されているセルは、データの表示形式 (フォント、色など) です。式はテーブルとともに保存されます。データを表示する場合は、計算式に従ってデータを取得し、セルに入力します。

9.レポートデータを取得するにはどうすればよいですか?データを取得するための条件はどのように定義すればよいですか?定義方法は?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

——各レポートは、完全なレポート データ コンテンツを取得するために使用できる「クエリ条件」属性を定義します。このクエリ条件はデータベースのフィールドに直接対応し、この属性はレポート フォームとともにデータベースに保存されます。

10.ユーザーはレポートを追加したいと考えていますが、それに対応する既製のデータベース テーブルがありません。ユーザーはどのようにデータベースを設計すればよいでしょうか?データベースはどのように設計すべきでしょうか?

——Web ページ上でデータベースを設計するためのツールを設計し、ユーザーが実際のニーズに応じてデータベース構造を設計できるようにします。

11.ユーザーはデータベース定義の意味をどのようにして知るのでしょうか?データベーステーブルのどのフィールドとレコードを特定のグリッドから取得する必要があるかを知るにはどうすればよいでしょうか?

——データベース設計ツールが提供されているため、このツールで設計されたデータベース構造では、ユーザーが式を定義するときに、フィールドのタイトル、つまりフィールドの意味を入力する必要があります。フィールド名は表示されませんが、ユーザーが理解しやすいようにフィールドのタイトルが表示されます。

12.別のデータベーステーブルを保存する必要がないデータを保存するにはどうすればよいですか?

——個別のデータベースを必要としないレポートを区別し、それらをすべて共通のテーブルに保存します。テーブル内のデータには、レポート スタイルとレポート データの両方が含まれます。

13.レポートのデータ バランス関係の設計?どのように定義すればよいでしょうか?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

——レポートのデータバランス関係はEXCELの計算式を用いて完全に実現されています。式はテーブルとともに保存されます。 Microsoft Office Web コンポーネントの SheetSpace コントロールは、ほとんどの MS EXCEL 数式をサポートできます。数式の使用法と構文は MS EXCEL とまったく同じです。

14.自動計算式を実装するにはどうすればよいですか?どのように定義すればよいでしょうか?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

——合計、平均などのMS EXCELの計算式を使用し、計算式は表と一緒に保存されます。

15.他のレポートからデータを抽出して新しいレポートを生成するにはどうすればよいですか?定義方法は?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

——レポートには「番号検索プログラム」と呼ばれる属性があり、他のデータベーステーブル(テーブル)からデータを抽出し、このレポートに対応するデータベーステーブル(テーブル)に挿入するために使用されます。

16.レポートの概要をどのように定義するか(支店のデータから本社のデータを生成)?定義した結果を保存するにはどうすればよいですか?どこに存在するのでしょうか?

——レポートには「要約プログラム」と呼ばれる属性があり、下位組織のレポートのデータを要約して、この組織のレポートデータを生成するために使用されます。

17.データレポート、つまりデータ形式の変換を実装するにはどうすればよいでしょうか?変換プログラムはどのように設計されていますか?保存方法は?どこに存在するのでしょうか?

——レポート データは実際にはデータ形式の変換ですが、XSL を使用すると非常に便利に設計できます。 XSL 変換プログラムは、指定したディレクトリにテキスト ファイルとして保存され、ファイル名はレポートと 1 対 1 に対応します。レポート データを生成する場合、レポート データはテキスト ファイルに変換され、クライアント マシン上のユーザー指定の場所に保存されます。

レポートの完全な定義はデータに保存されます。 データベース テーブルの構造は次のとおりです。




表 2: レポート定義の構造

操作の便宜のために、バッチ処理機能が追加されました。ユーザーはデータの抽出、データの要約をバッチ処理し、ユーザー操作を簡素化できます。

レポート処理プロセス全体は次のようになります:

1.データベース定義を設計する

2.レポートスタイルをデザインする

3.数式を挿入します

4.クエリ条件を設定します

5.デザイン概要プログラム

6.番号検索プログラムを設計する

7.クエリレポート

8.まとめレポート

9.バッチ概要レポート

10.レポートデータを抽出する

11.レポートデータをバッチで抽出します

12.レポート ファイルの生成

デザイン効果

さて、一人で 1 か月以上の苦労を経て、ようやくコーディング作業が完了しました。デザイン データベースのインターフェイスを図 3 に示し、デザイン レポートのインターフェイスを図に示します。図4.



図 3: データベース設計インターフェイス



図 4: レポート設計インターフェイス

は、ユーザーが試してみるためのもので、数十のさまざまなレポートを簡単に解決できます。黄天は「苦難」に耐える。この方法に従って、さらに 1 週​​間かけてチャート デザイン ツールを設計しましたが、ユーザーの反応も非常に良好でした。チャート設計インターフェイスを図 4 に示します。



図 4: チャート デザイン インターフェイス

概要

この記事では、効果的な WEB レポート デザイン ツールの実装アイデアについて説明し、それを実装します。大量のレポートをデザインする必要があるユーザー、特にレポートの形式や量が頻繁に変更されるユーザーにとっては非常に便利です。開発者にとっても、多くの作業を節約できます。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。