8

現在の製品を拡張して、ユーザーがシステムに入力したものからデータを描画する有用なレポートを比較的簡単に構成できるようにする動的レポート ビルダーの作成を任されています。現在、これらのレポートを手動でカスタマイズしています。このプロセスには、開発者 (私) がレポートの要件 (フィールド、集計合計、パーセンテージなど) を取得し、「ドリルダウン」機能を可能にする比較的インタラクティブなページとして結果を公開することが含まれます。 ' レコード行などの詳細については、

レポートはそれほど複雑ではありませんが、これらのレポートをプログラムで生成することは不可能に思えるほど複雑です。ユーザーがレポートの外観をカスタマイズできるようにするためのインターフェイスを作成することは、それ自体は複雑ではありますが、それほど難しいことではないと思います。私が途方に暮れているのは、「プログラミング」リテラシーをまったく持たないユーザーが、必要な情報を引き出す SQL クエリを簡単に生成できるようにするインターフェイスを作成する方法です。

実際、彼らはこれらのクエリを作成し、実際に何をしているのかをまったく意識することなく、入力されたデータの内部にアクセスできる必要があります。これが必要に応じて機能するように感じます。レポートの生成は、可能な限り魔法と区別できないようにする必要があります。ユーザーは、考えられるデータのセットから必要なものをドラッグ アンド ドロップして、魔法のようにレポートを作成できる必要があります。

もちろん挑戦する気はありますが、どこから始めればいいのか本当にわかりません。ギアが動くようになれば、個々の問題を解決するのは「簡単」になります (実際には、プロセスの一部に近いものです)。誰かが私に検索する方向を提供できる場合、私は何時間も費やすことを恐れていません. お時間をいただきありがとうございます。前向きな提案をお待ちしております。

4

6 に答える 6

5

以前、こんな仕事を任されました。私のアドバイス:しないでください。必要なレポートが非常に基本的であり、ユーザーがレポートの外観を気にしない場合を除き、実装にはかなりの時間がかかります。あなたがあなたの一人のチームを示しているので、そうしないでください。仕事のこの部分を処理するために、ジュニア開発者やインターンなどを雇う方が(長期的に見ても)安くなります。

現在、いくつかの異なるレポート デザイナーが存在します。Web ページで完全に機能するものは見たことがありません。プログラマー以外の視点から見ると、それらはすべてかなりひどいものでした。

さて、これを回避する方法があります。これらの種類のレポートが必要な人のほとんどは、Microsoft Access の操作方法を知っています。これに関する彼らの知識を活用して、彼らが独自のレポートを作成できるようにすることができます。ただし、データベースに接続するだけでは望ましくないため、これは簡単ではありません。そこで、私がお勧めするのは次のとおりです。

  1. Access と互換性のあるダウンロード可能なデータベースを生成する
  2. ダウンロードしたデータベースが「簡単」に操作できることを確認してください。これは、データを複製し、多くのものを非正規化することを意味します
  3. ダウンロード可能なデータベースに機密情報を残さないようにしてください (パスワード、見られてはならない内部情報など)。
  4. 最後に、安全な方法でダウンロードできることと、パフォーマンスが高いことを確認してください。これをリアルタイムで同期するには比較的コストがかかるため、ダウンロード可能なデータベースは週または月に 1 回だけ「同期」することをユーザーに伝える必要がある場合があります。
于 2012-12-28T22:04:13.280 に答える
4

データ ウェアハウスが何をするかを見てみましょう (例: The Data Warehouse Toolkit )。それらは、非常に幅が広​​く、多くの冗長データを含み、データベースの特定の側面をカバーするいくつかの基本的なテーブルを作成します。

このような幅の広いビューをいくつか作成し、動的レポートのベースとしてユーザーが 1 つのビューを選択できるようにします。次に、表示する列、並べ替え、およびグループ化を選択できます。ただし、追加のテーブルやビューを選択することはできません。

もちろん、典型的なビューは、データベースの特定の側面に関するすべてを実際にカバーする必要があります。Order Itemsビューがあるとします。このようなビューには、以下をカバーする何百もの列を提供するすべての注文のすべてのアイテムが含まれます。

  • 注文商品ID、商品名、通常価格、割引額、支払済価格、税込価格 送料などの関連部分
  • 注文ID、注文日、配送日、送料など
  • お客様ID、お客様名、お客様住所等
  • 各日付は複数の列で構成されています: 完全な日付、年間通算日、月、年、四半期、年を含む四半期など。
  • 各住所は、完全な住所、都市、州、地域、市外局番などで構成されます。

そうすれば、ユーザーはテーブルに参加する必要がなく、必要なすべてのデータを持っているため、動的レポートはかなり使いやすくなります。

于 2012-12-28T22:06:39.740 に答える
2

準備ができているレポート コンポーネントを確認することをお勧めします。たとえば、Microsoft の Reporting ServicesTelerikDevExpress、または (告白する必要がありますが、私たちの製品です) SharpShooter Reports

于 2012-12-29T09:01:34.320 に答える
1

周りを見回して、どのようなレポートツールがありますか?彼らが期待しているものにさえ近づく何かがそこにありますか?周りのツールは一般的であり、あなたのケースはかなり具体的かもしれません。あなたはすでにあなたのユーザーが探している答えの一部を知っています。あなたの解決策は彼らをそのように助けるはずです。

あなたは「魔法」という言葉を使いました。それは大きな警告サインになるはずです。開発者として、私たちは魔法をしません、私たちは論理をします。私たちは幻想を作り出すことができますが、魔法を使うことはできません。

私はSQLAnalysisServicesとExcelに飛び込みます。ここにプレゼンテーションがあります。これらの人も魔法をしませんが、彼らはたくさんすることができます。

于 2012-12-28T22:20:19.197 に答える
1

EasyQuery と FastReport.NET を組み合わせて使用​​します。

EasyQuery を使用すると、ユーザーは動的クエリを作成し、レポートと FastReport に必要なデータを抽出して、実際のレポートを生成し、Excel または PDF にエクスポートできます。

于 2013-04-30T17:30:22.463 に答える