在前面幾篇文章中,我們學習了多種型別填報表的製作,對潤幹報表的填報機制有了一定的了解。今天我們來研究一下如何製作固定格式填報表,同時檢驗下自己之前學習的內容是否已熟練掌握。
今天要學習的固定格式填報表效果圖如下所示:
左側為固定內容,藍色部分是需要客戶填寫的內容,最後將整個頁面資料更新到資料庫表中。
這裡的難點在於,如何把左側固定內容也更新到資料庫中,也就是如何設定單元格分割槽。
帶著這個問題我們來看一下具體實現步驟:
第一步 新建填報表
一般這類報表會對應乙個 excel 效果檔案,我們可以通過「檔案」–「開啟填報」–選擇對應 excel 檔案,將 excel 匯入到報表設計頁面後稍作修改。
第二步 設定資料處理
指令碼處理部分一般和業務需求有關,此示例需要根據不同引數值選取不同資料展現並根據引數值動態更新資料。
這裡主要用到了 if 函式和 query 函式,if 函式用於動態條件判斷,query 實現動態取數。
其中,a2:使用 if 函式判斷 tbtype 引數值是否為 0
b3:當滿足 if 條件時,按照 query 函式中的 sql 取數
b5:當不滿足 if 條件時,按照 query 函式中的另外一條 sql 取數
去向指令碼內容如下圖所示:
上圖的指令碼配置很熟悉,有木有?沒錯,這裡就是前面我們講到的動態更新的內容。
其中,a2:使用 if 函式判斷 tbtype 引數值是否為 0
b3:當滿足條件時,通過 update 函式實現對 yjkffyqkgjb 表資料的插入更新,即把 yffy 物件中的資料插入到 yjkffyqkgjb 表中
b4:當不滿足條件時,通過 update 函式實現對 yjkffyqkgjb 表資料的修改更新
即把 yffy 物件和 yffy_old 物件的差異資料修改到 yjkffyqkgjb 表中
a6:獲取資料庫操作過程中的異常資訊
a7:如果 a6 獲取到的異常資訊為空,那麼就提交入庫,否則就執行事務回滾
第三步 配置單元格屬性
我們在第一步的基礎上做以下設定:
1)把使用者可以填報資料的單元格設定為數值格:本部金額所在列和下級企業彙總所在列的單元格
研發經費情況和彙總金額也需要設定為數值格,便於物件字段資料識別
2)設定自動計算表示式:把需要進行求和計算的單元格配置 sum 表示式
例如:sum(c5:c9) 表示求 c5 到 c9 單元格所有資料的和
3)「研發經費情況」對應為中文名稱,資料庫中需要同時儲存 id 列,所以我們需要插入一列,並將對應 id 寫上
4)將新增 id 列設定為維度格,中文名稱列設定為數值格,同時把每一行的欄位名稱配置下,保證填報分割槽正確。
總結:
至此,乙個簡單的固定格式填報表就製作完成了。這裡實現的難點在於報表單元格分割槽設定,還是不會怎麼辦?盤它,盤的多了,你會發現集算器指令碼進行資料處理時的各種驚豔之處。
固定格式填報表的製作
在前面幾篇文章中,我們學習了多種型別填報表的製作,對潤幹報表的填報機制有了一定的了解。今天我們來研究一下如何製作固定格式填報表,同時檢驗下自己之前學習的內容是否已熟練掌握。今天要學習的固定格式填報表效果圖如下所示 左側為固定內容,藍色部分是需要客戶填寫的內容,最後將整個頁面資料更新到資料庫表中。這裡...
固定格式填報表的製作
在前面幾篇文章中,我們學習了多種型別填報表的製作,對潤幹報表的填報機制有了一定的了解。今天我們來研究一下如何製作固定格式填報表,同時檢驗下自己之前學習的內容是否已熟練掌握。今天要學習的固定格式填報表效果圖如下所示 左側為固定內容,藍色部分是需要客戶填寫的內容,最後將整個頁面資料更新到資料庫表中。這裡...
Kettle 如何輸出固定格式報表
我的工作是為公司分析部門提供資料,其中一部分是固定時間點提取的報表,這些報表的格式固定,每次機械化的修改引數 提取資料 複製貼上,實在是繁瑣。下面介紹乙個我工作中使用kettle輸出固定格式報表的例子,希望能幫到有需要的小夥伴們。背景 固定格式報表如表1,其中還有excel公式巢狀在裡面,分析部門提...