程式報表製作總結
題記:一顆不甘平凡的心,促使我進步
無論你是資料庫工程師,還是語言工程師,或多或少一定會接觸過報表,並從中吸收,成長,進步。但是lz個人在剛入門的時候也是存在一些困惑,遇到一些理解上的障礙,導致工作中走了很多彎路,並且很少有人分享這方面的內容(可能大神覺得這些 太low,沒什麼技術含量,沒分享的必要),可是我卻遇在其中掙扎,迷失過,所以這裡和新人分享一些心得,希望對菜鳥程式設計師有一些幫助(僅限個人經驗的總結,大神不喜勿噴),作為第一篇部落格,我想還是寫一些自己心得感觸比較深的吧,畢竟幹了兩三年了
一、報表的定位
報表是什麼?從來沒有過明確的定義,只不過工作經驗多了,做的多了,自然就會明白什麼是報表了。
這裡我描述下我對報表的認識,方便新人對其有乙個整體性的認識,報表,顧名思義,就是像報紙一樣的**,報紙具有哪些特性?(這裡因人而異,每個人關注不同領域的報紙,獲取的資訊是不同的),而在it中,有那麼多資料(資訊),雖然大多數都儲存在關係型資料中,但是都不會給人乙個直觀的感受,因此,為了方便老闆,或者董事,或者職能部門能對得來不易的資料,進行有效的分析,進而導致產生報表的產生,也就是說,報表是資料分析的基礎,只有打牢製作報表和閱讀報表的基礎,才具備資料分析的這種高階技術的門檻。
這裡簡單做乙個定義吧! 報表,是通過各種技術,聯合資料庫中的多張表,進而形成的具有一定業務價值的,可作為判斷依據的虛擬表,稱之為報表。
二、報表的分類與製作時間預期
現階段,我對報表的分類,可分為三大類,
第一類,基礎資料連線型報表
第二類,資料彙總類報表
第三類,資料分析型報表
三類報表的製作和開發難度是依次遞增的資料分析型報表只做開發難度》資料彙總類報表難度》基礎資料連線型報表
接下來簡單介紹一下,三類報表開發時候所涉及的技術,和一些與其相關的內容
第一類報表是最簡單的,適合新員工,或者實習期的員工開發,這類報表具有一些通性特點,就是資料間的關係並不複雜,大多都是通過,連線查詢,或者子查詢等將多張資料庫中存在的表,通過主鍵、外來鍵、聯合主鍵、或者連線查詢等方式形成的,所以這類報表適合新員工、或者實習期的員工開發,不但可以快熟的熟悉資料庫中的表結構,還能夯實資料庫基礎
這裡需要注意下,主流的資料庫如oracle,mysql,sql server 等由於其語法的不同,在製作相同的報表的時候,採用的形式可能是多種多樣的,因此,需要額外注意的是sql的寫法,雖然很基礎,但是想做到多型別資料庫都能得心應手,還是需要一定時間的
再來說說開發周期,這類報表,在不熟悉的資料庫表間結構的時候,開發起來也是很吃力的,但是當熟悉了表間結構,做起來,速度就飛起了,通常再不熟悉表結構的時候的開發周期在半天一張左右,當然這裡,也不排除特例,比如一張報表字段特別多,而資料來源有**很多張不同的表,這個時候,簡單的表也會變的複雜。開發周期應適當延長
對第一類報表製作的時候一定要對錶有主從的概念,什麼是主從,就是主人和隨從的關係,主表,通常是資料的總要**( 也有例外,但並不多見,具體情況具體分析 ),從表,會將自己表中具有的字段,通過某種方式拼接到主表上,進而形成一張報表,舉個例子也是最簡單的報表,a表是學生表,b表是老師表,現在想查出所有學生及其語文老師是誰?這個例子很簡單,但是裡面卻包含了此類報表的精髓, 第一步分清,要查詢的物件是誰,和那張表才是主表(分析過程:要查的物件是學生,還有學生對應的語文老師,因此可以確定需要查詢的物件,那到底那張表才是主表,那種表才是從表?這裡這樣思考是比較正確的, 想要獲取老師的資訊,一定要獲取到學生的資訊,因此學生的資訊更為基礎,所以學生表比較適合做主表,老師表適合做從表),這個例子很簡單,主要是分析思考的過程,養成良好的思考習慣,對後面製作其他報表,或者做資料分析等工作,才能得心應手
這裡在舉個例子,是我之前遇到過
如果此時使用oracle製作該錶的寫法可能是: 1. select * from a a,b b where a.teacherid= b.id (+);
但此時使用mysql資料庫製作該錶的的寫法就不一樣了:2. select * from a a left join b b where a.teacherid = b.id;
這是由於mysql資料採用的是標準的sql語句,在oracle寫2這段sql也是可以的,但是在mysql中寫 1 就會報錯,原因就是
語法差異,1是oracle做外鏈結縮寫,2才是通用版
不知不覺都已經12點了,我想從今日開始堅持寫部落格,每天游泳,養成良好的作息習慣,所以未完,明天繼續把這篇文字補完
報表製作技巧 報告式報表的製作
在銀行 財務 銷售等系統中,我們常常需要製作報告檔案來進行工作匯報,例如季度銷售報告 年度總結報告等。在沒有報表工具之前,這類報告大部分是用word做的,費時費力還不易維護,每次都獨自加班到很晚 一首涼涼送給自己 今天,我要帶一帶新的節奏,展現下神操作來製作這類報告式報表。這次我們拿銀行季度報告來進...
用SigmaGrid製作報表
sigmagrid為你製作web報表提供了乙個新的選擇。用sigmagrid製作報表的優點 1 可以在瀏覽器上進行分組聚合運算,充分利用客戶端cpu的計算能力。2 在瀏覽器上生成分頁列印頁面,根據程式定義或者使用者選擇的多種引數進行分頁計算,使最終列印出來的報表充分匹配客戶端的印表機和紙張型別,使報...
分欄報表製作攻略
我們常常會遇到一些列數很少行數很多的報表,這種報表窄窄長長,列印在一張 a4 紙上,橫向留出大片空白 或者行數很少,列數很多的報表,列印在 a4 紙上,縱向留出大片空白 這些情況下不但浪費張紙而且不美觀,不方便使用者查閱。為了解決這種問題,我們提出了分欄的解決方案,把資料按照一定的規則分欄分塊的顯示...