金碟EAS擴展報表進階培訓_第1頁
金碟EAS擴展報表進階培訓_第2頁
金碟EAS擴展報表進階培訓_第3頁
金碟EAS擴展報表進階培訓_第4頁
金碟EAS擴展報表進階培訓_第5頁
已閱讀5頁,還剩118頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、擴展報表進階培訓For BOS 6.3金蝶軟件(中國)有限公司演講人目錄基本概念高級應用多源關聯分片層次坐標函數性能優化技術架構單元格進行擴展的過程中,擴展的單元格稱為父格,跟隨擴展的單元格被動復制的單元格稱為子格子格有兩個父格,分別是橫向父格、縱向父格,父格有0N個子格缺省情況下,橫向父格是子格上邊的擴展單元格,縱向父格是子格左邊的擴展單元格,子格跟隨橫向父格進行橫向擴展,跟隨縱向父格進行縱向擴展橫向父格、縱向父格也可以通過設置屬性進行改變基本概念父格、子格的顯示關系父格、子格在使用同一個數據源的情況下,子格的記錄集是由父格所限定的如Select擴展出來的每條記錄對應于數據源的一條記錄基本概

2、念父格、子格的數據過濾關系父格、子格在使用同一個數據源的情況下,子格的記錄集是由父格所限定的如Group擴展出來的每條記錄對應于數據源的N條記錄基本概念父格、子格的數據過濾關系父格、子格在使用同一個數據源的情況下,子格的記錄集是由父格所限定的交叉分析報表的統計值由縱橫兩個方向的父格所決定基本概念父格、子格的數據過濾關系擴展報表的權限包括管理權限與查看權限 管理權限是功能權限,指用戶可進入擴展報表管理平臺制作、發布、授權管理權限由系統管理員授予查看權限通過個別數據授權進行控制,獲得授權的用戶可執行對應的報表查看權限通過擴展報表管理平臺的授權功能授予基本概念權限用戶打開擴展報表、SQL數據源文件夾

3、時,只能看到創建組織為當前登錄組織的擴展報表、SQL數據源用戶可以維護本組織創建的擴展報表、SQL數據源不同組織之間需要共享擴展報表模板、SQL數據源時,源組織可自行導出文件,目標組織再把文件導入系統 基本概念組織隔離與共享導入、導出提供了一種在不同系統之間、同一系統不同組織之間共享報表模板、SQL數據源的方法權限信息不能導出、導入,用戶須另行設置導入的報表的權限基本概念導入、導出目錄基本概念高級應用多源關聯分片層次坐標函數性能優化數據源數據源SQL數據集枚舉數據集文本數據集SQL數據集 存儲過程數據集JAVA數據集快照數據集多數據源多數據源的幾層含義:支持數據庫、元數據、文件、存儲過程、程序

4、代碼;支持從EAS連接的當前數據庫、外部數據庫中取數;一個模板可以同時使用多個數據源,而不管這幾個數據源分別是從哪里取數的;從數據源的應用層面上看,系統屏蔽了不同數據源的區別;多數據源你可以:EAS數據庫K3數據庫U9數據庫其他數據庫數據引擎外部數據管理中心擴展報表文件可用擴展報表解決非EAS系統的報表統計問題文本數據源預覽SQL數據集導出EXCEL另存為TXT編輯EXCEL新建TXT連接外部數據庫問題提出:如何在擴展報表中使用K/3或其他系統的數據庫解決方案:1、在外部數據中心中建立到該數據庫的連接2、建立SQL數據集時選擇連接該數據庫3、對于用戶來說,使用SQL數據集時無需考慮其是否外部數

5、據庫連接外部數據庫維護外部數據庫連接:1、進入擴展報表管理工具(【商業分析】-【報表服務平臺】-【擴展報表】)2、點擊系統菜單【文件】-【外部數據中心管理】連接外部數據庫在SQL數據集的【外部數據庫】頁簽中點擊按鈕啟用外部數據庫:內置參數與過濾參數內置參數:不必定義,可以直接在“過濾”頁簽中選擇、在“查詢”頁簽中調用、在報表模板中調用;系統根據上下文賦值,最終用戶無法修改;取不到值時返回-1;過濾參數(普通參數):必須在“參數”頁簽中定義后才能在“過濾”頁簽中選擇、在“查詢”頁簽中調用、在報表模板中調用;可以由最終用戶輸入,也可以在設計SQL數據集時寫死;過濾參數顯示值控件類型為下拉列表、多選

6、框、F7選擇框的參數,都有顯示值、實際值兩個屬性報表公式中如果是引用自定義的過濾參數的實際值的,在參數名稱前面加“”,形如“param”如果是引用其顯示值的,在后面再加上“_text”,形如“param _text”宏變量問題提出:1、SQL數據集需要根據用戶輸入組裝SQL2、KSQL引擎僅處理WHERE后面的條件解決方案:1、報表系統本身支持的另外一種參數類型2、由報表系統進行處理3、其使用需要符合一定規則宏變量在SQL數據源中,“?”打頭的就是宏變量,如“order by ?field ?turn”;(可按照用戶選擇的字段、順序進行排序)“”打頭的是普通參數,如“where age=age

7、”;用戶在參數界面輸入參數后,系統先替換宏變量,再替換普通參數;普通參數為空時,系統會智能地把條件子句刪除,不會出錯;宏變量為空時,系統直接進行參數替換,會出錯;因此:宏變量應為必填參數;為了生成輸出字段時不報錯,應有默認值;數據集參數與報表參數SQL數據集可以定義參數;報表執行時參數界面中的參數,是其引用的所有SQL數據集參數的合集,并根據參數名稱同名合并的規則進行合并;例如:現有三個自定義SQL數據源DS1、DS2、DS3,DS1定義的參數名稱為“A”、“B”,DS2定義的參數名稱為“B”、“C”,DS3定義的參數名稱為“C”、“D”,一個擴展報表模板引用了DS2、DS3,請問該報表的參數

8、界面中有哪幾個參數?答案為:B、C、D方言不輸入條件不參與過濾的實現:/*dialect*/select fid, fnumber,fname_l2,fgender, fbirthday from T_BD_Personwhere(TO_CHAR(fbirthday, YYYY-MM-DD) = from or ? is null)and (TO_CHAR(fbirthday, YYYY-MM-DD) 【圖片】-【來自文件】2、在對話框中選取本機的圖片文件顯示圖片顯示存儲在數據庫中的圖片:樹型展現問題提出:如何在擴展報表中樹型展現組織、物料等信息?解決方案:提供TREE函數實現樹型展現。要使用

9、樹型展現功能,數據本身應包含相應的層次信息,目前支持幾種數據:1、 每條記錄包括ID、PARENTID的數據2、每條記錄包括長編碼的數據,有統一的分隔符分隔不同層次的編碼3、事先排好序的列表型數據,每條記錄包括該節點所處的層次信息樹型展現模板設計:樹型展現結果展現:樹型展現支持展開到指定層級:報表與單據互相調用問題提出:1、如何在單據中調用擴展報表?(例如在單據中點擊按鈕彈出擴展報表)2、如何在擴展報表中聯查單據?解決方案:1、提供了調用接口,供單據中調用擴展報表(具體詳見示例代碼)2、在聯查設置中實現擴展報表聯查單據,包括聯查序時簿與編輯界面報表與單據互相調用自動檢測UI的聯查設置:1、報表

10、設計器中,選擇某一個單元格,點擊【聯查】設置按鈕,在聯查設置窗口選擇“EAS單據”頁簽2、“基本設置”插入一行,輸入引用名稱(可隨意命名),選擇單據類型,勾選“自動檢測UI”,系統會自動根據單據ID檢測對應業務單據的編輯界面(或序時簿),設置“單據條目清單”(即傳遞的參數)報表與單據互相調用調用指定UI的聯查設置:1、報表設計器中,選擇某一個單元格,點擊【聯查】設置按鈕,在聯查設置窗口選擇“EAS單據”頁簽2、“基本設置” 插入一行,輸入引用名稱(可隨意命名),選擇單據類型,不要勾選“自動檢測UI”,手工輸入“單據UI類路徑”,設置“單據條目清單” (即傳遞的參數)動態數據集-薪酬方案統計問題

11、提出:EAS系統不同薪酬方案存放在不同的數據庫表中表與表的字段數、字段名不一樣具體存放的表的信息,存放在元數據表中系統需要能根據元數據表的記錄,動態讀取業務表解決方案:使用動態數據集特性,運行時確定讀取哪些表,而不是在設計SQL數據集時寫死動態數據集-薪酬方案統計讀取元數據表的SQL數據集:動態數據集-薪酬方案統計讀取業務表的SQL數據集,表名為宏變量:動態數據集-薪酬方案統計讀取業務表的SQL數據集,宏變量取值為用戶從F7選取:動態數據集-薪酬方案統計模板設計,列出所有參數值,再用QUERY()傳入SQL數據集,動態取數:動態數據集-薪酬方案統計子格中,使用DS()函數指定使用哪個動態數據集

12、:動態數據集-薪酬方案統計更可使用UNION()函數合并多個動態數據集:動態數據集-快照統計問題提出:擴展報表執行結果可以保存快照,該內容是以二進制形式保存到數據庫中的,如何讀取這些數據并進行匯總統計?其中,對于不同展現形式的數據,有的數據在不同快照中處于固定的單元格,有的則是明細記錄羅列,在不同快照中記錄數也不定,又如何統計?解決方案:把快照數據集中的報表快照讀取到內存,通過動態數據集解決動態數據集-快照統計快照模板的設計,對于明細數據羅列匯總的數據,應定義其擴展區的命名對象:動態數據集-快照統計命名對象的范圍應包括擴展區下一行、右邊一列:動態數據集-快照統計匯總報表模板中,首先引入快照數據

13、集:動態數據集-快照統計定義個命名對象,以便把快照內容讀取到內存:動態數據集-快照統計對固定單元格的匯總統計:動態數據集-快照統計進行羅列數據匯總的,寫一個類似下面的SELECT公式,事實上是把所有快照的dtl命名對象指定的區域取出來并合并,然后分別以“內碼”, “編碼”, “姓名”, “所屬組織”作為各個列的字段名,組裝成一個動態數據集,注意用雙引號把字段名括起來: 動態數據集-快照統計后面的單元格就可以用這種簡單的方式讀取動態數據集了,使用時注意用雙引號把字段名括起來:報表顯示屬性問題提出:1、如何控制業務用戶是否可編輯報表?2、如何控制業務用戶是否可看到公式?3、如何控制執行結果界面是否

14、顯示行號、列標?4、如何控制隱藏的行列是否可拖動?5、是否可提供選中行、選中單元格兩種瀏覽模式?解決方案:通過設計模板時設置報表顯示屬性實現報表顯示屬性設計模板時設置報表顯示屬性:報表顯示屬性執行時設置報表顯示屬性(此時只能修改部分屬性,可保存多套顯示方案):自動刷新問題提出:對于某些數據頻繁發生變化的領域,用戶希望打開報表后,報表能自動刷新,顯示最新的統計數據(就像炒股軟件一樣)解決方案:通過啟用自動刷新功能實現支持手工設置刷新頻率、循環次數刷新后定位到上次的位置自動刷新執行時啟用自動刷新功能:數據篩選問題提出:在報表執行結果界面中,是否可以像EXCEL一樣進行數據篩選,或者對某些列進行升序

15、排列、降序排列?解決方案:通過數據篩選功能實現數據篩選數據篩選:菜單權限過濾問題提出:用戶在執行發布到EAS菜單的擴展報表時,希望不要看到自己無權執行的報表。原來未實現功能菜單按權限進行過濾,導致用戶雙擊執行發布到EAS菜單的擴展報表時,如果該用戶沒有執行該報表的權限,系統會提示用戶無權執行。解決方案:系統提供一個開關來控制是否啟用菜單權限過濾:啟用:對發布到EAS菜單的擴展報表菜單項按照當前登錄用戶的權限進行過濾,僅顯示當前用戶有權執行的菜單項。不啟用:用戶可以看到所有發布到EAS菜單的擴展報表菜單項,包括有權限和沒有權限執行的擴展報表。菜單權限過濾【商業分析】-【報表服務平臺】-【擴展報表

16、】進入擴展報表管理工具后點擊菜單【文件】-【菜單權限過濾】,設為“啟用”:注意:有時可能會受到菜單緩存影響,此時應手工刪除緩存C:Documents and Settingsmichael_huangLocal SettingsTempcache發布菜單校驗問題提出:某些補丁會更新EAS菜單并可能導致原來發布到這些EAS菜單下的擴展報表找不到,如何找出這些報表并進行處理?有的時候因為某些原因導致已發布到EAS菜單下的擴展報表已刪除,但是EAS菜單還存在,如何找出這些菜單并進行處理?解決方案:通過“發布菜單校驗”功能檢測這些不一致的地方,并進行批量處理。【商業分析】-【報表服務平臺】-【擴展報表

17、】進入擴展報表管理工具后點擊菜單【文件】-【發布菜單校驗】發布菜單校驗檢測已發布到EAS功能菜單的報表,但是EAS菜單不存在的情況。此時可撤銷發布并另行重新發布,或者根據系統日志恢復被刪除的EAS菜單:發布菜單校驗檢測已發布到EAS功能菜單的報表,但是報表模板已被刪除的情況。此時可刪除客戶化菜單:更新后看不到二次開發的元數據這種情況可能是補丁把相關文件覆蓋了,可按照以下步驟重新生成子系統樹:1.serverpropertiesSubSystem.xml里增加所有自定義的節點 2.管理控制臺重新生成子系統樹 3.拷貝servermetasmdbview-metas.jar里mdbview為后綴名

18、的文件到servermetassp-bim-metas.jar中 4.拷貝servermetasmdbview-metas.jar和sp-bim-metas.jar到serverdeployfileserver.eareasWebClientmetas目錄License使用情況問題提出:在基于報表發布數進行License控制的情況下,如何知道已經發布了多少報表?如何知道整個系統發布了多少報表(包括其他組織發布的)?解決方案:通過查看License使用情況可了解所有發布信息License使用情況功能入口:License使用情況查看界面:License使用情況關于License的計算:“免費數量”

19、是用戶購買擴展報表運行平臺模塊時贈送的報表發布數量,“購買數量”是用戶另外購買的報表發布數量。購買數量+免費數量=使用數量+剩余數量發布標準產品是不占用用戶的報表發布數量的,“標準產品發布數量”僅供參考不管用戶把擴展報表(標準產品除外,下同)發布到EAS菜單或者是BI平臺菜單,都視為發布一個報表,但二者不重復計算,即把一個報表同時發布到EAS菜單和BI平臺菜單時,視為發布一個報表目錄基本概念高級應用多源關聯分片層次坐標函數性能優化多源關聯分片多源:一個報表中引入多個數據集;關聯:往往通過單元格的引用使多個數據集的數據發生關聯;分片:各個數據集分別擴展出一片區域來;指報表的縱向或橫向或兩個方向同

20、時被分成了多個區域,每個區域獨立擴展 多源關聯分片分片擴展擴展區域與靜止區域混合 多源關聯分片區域混合多源關聯分片一般通過對單元格的引用使多個數據源之間發生關聯下圖為橫向分片:多源關聯分片下圖為縱向分片:多源關聯分片錯誤的設置:目錄基本概念高級應用多源關聯分片層次坐標函數性能優化層次坐標函數EXS:返回滿足條件的一組單元格的值的集合其條件由縱橫向父格以及條件表達式所確定層次坐標函數EXINDEX:返回指定的單元格在所有該單元格擴展后的格子中排第幾層次坐標函數EX:返回指定格集左上角第一個單元格的值,一般與A()、R()一起使用A:某單元格的第N個值R:相對于某單元格的前N或后N個值層次坐標函數

21、計算累計:層次坐標函數計算占比:層次坐標函數計算排名:目錄基本概念高級應用多源關聯分片層次坐標函數性能優化格式設置不推薦的做法:選中整行、整列或整頁,設置格式否則后果可能是:更糟糕的后果是報表運行時導致EAS客戶端崩潰!你應該:僅選中需要設置的單元格來設置格式多數據集應用分組匯總型、交叉分析型報表盡量使用單數據集:父格范圍內的子格統計匯總的記錄數較少;多源分片、主從表型報表盡量使用多數據集:避免表間叉乘,減少取數數據量;凡事無絕對,優化之妙,在于積累。SQL優化根據對一般報表的執行時間進行的分析,從數據庫取數是最耗時間的環節。速度慢的原因:數據量過大;模糊查詢;多表關聯查詢;過濾條件中不恰當地

22、使用函數;過濾字段沒有建立索引。SQL優化優化方法:通過參數過濾需要統計的記錄;盡量不要取沒有用到的字段;恰當地使用模糊查詢;如果多表關聯查詢時很慢,嘗試修改一下關聯條件;考慮一下過濾條件中的函數是否可在報表模板中實現;為統計字段建立索引。數據分組報表性能提升最重要的秘訣是:合理分組!不分組:可能每個匯總單元格都要遍歷所有的記錄;分組:子格匯總時,僅遍歷父格分組中的記錄;二者的速度可能差幾個數量級!數據分組典型的不分組統計報表:數據分組在縱向、橫向進行分組:數據分組能直接對字段進行分組最佳:數據分組沒有條件創造條件也要分組:數據分組分組不是根據數據分、而是有固定格式的,使用不規則分組:數據分組在公式中利用V()函數,除提高可讀性外,還提高效率,(一個表達式內)后續同樣條件的記錄不需重新過濾:海量數據的處理目前數據庫取數的限制為:行*列【論壇】-【商業分析與報表】版塊或直接訪問:/bbs/forumdisplay.php?fid=18上面有視頻、培訓文檔、用戶手冊、開發指南、樣例。并可以在線與專家交流謝 謝!特別聲明沒有金蝶軟件(中國)有限公司的特別許可,任何人不能以任何形式或為任何目的復制或傳播本文檔的任何部分。本文檔中包含的信息如有更改,恕不另行通知。 由金蝶軟件(中國)有限公司和其分銷商所銷售的某些軟件產品包含有其它軟件供應商版權

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論