2010-06-14 86 views
1

我需要用戶創建自定義報告。這些用戶不知道像SQL這樣的技術技能。我們目前有一個自定義數據庫報告設計。所以基本上無論用戶在GUI上做什麼,應用程序都必須生成適當的SQL來生成報告結構。創建用戶生成的報告

有沒有人做過這個?我知道那裏有報告解決方案,但我們已經有我們自己的數據庫表來進行報告。我們已經有一個部分,用戶可以查看以HTML格式顯示的報告。

像例如,如果用戶從GUI中選擇「UserID」和「Accounts」字段,我怎麼會知道我的SQL必須加入USER和ACCOUNTS表?

我想我只是尋找一些想法來幫助我解決這個問題。

謝謝。

+0

這是一項艱鉅的任務,我會建議使用現有的報表設計器工具(有許多選擇,你將不得不花費一些時間評估不同的產品易於使用,報告功能等)。如果你真的決定自己做,這將是一個有趣和令人興奮的挑戰。祝你好運! :) – FrustratedWithFormsDesigner 2010-06-14 17:23:16

回答

1

你列出的問題是一個相當廣泛和開放性的問題,沒有一個簡單的答案。報告和GUI界面的複雜程度將決定你必須做什麼。我不得不爲一個項目從頭開始編寫一個報告系統,並且這是一個爲期8個月的3人開發工作。你想要什麼的基本基礎是一種將你的GUI字段映射到數據庫字段的方法。在過去我曾使用過的兩種報告系統中,我們都使用XML來實現這一點(由於有很多部分需要生成動態查詢,因此XML會變得非常複雜)。

我的建議是以JasperReports爲起點。特別是你可能會發現iReport(用於生成靜態報告)很有用。這個堆棧中還有一些技術(DynamicReports和WebReportBuilder),我沒有經驗,但可能對您有用。

0

有許多報表解決方案(如Business Objects或Oracle Discoverer)可以使最終用戶根據需要從預先設計的數據視圖中拖放字段,過濾條件等。

這些工作最適合用於報告目的的數據模式(如星型模式),因爲它聽起來就像您的模式一樣。我會警惕嘗試使用這些工具從規範化的操作模式進行報告。