BIP BI Pubisher的基本語法(概念)

2021-06-27 08:44:27 字數 3636 閱讀 8460

1. xml publisher概念

(1).資料邏輯

(2).報表布局---->xml publisher---->報表輸出

(3).翻譯轉化

2. 開發xml publisher流程報表

(1). 設計資料原始檔---->註冊資料原始檔

(2). 設計rtf模板---->註冊rtf模板

(3). 註冊concurrent program

3. 在rtf中需要定義的兩類內容

(1). 資料域

(2). 迴圈控制標記

4. 組

<?for-each:xxname ?>...

5. 頁首頁尾

<?start:body ?>...<?end:body ?>

6. 巢狀模板

(1). 定義: <?template:xxname ?>...<?end template?>

(2). 呼叫: <?call:xxname ?>

7. 格式化工具

(1). 分頁符:若使用ctrl+enter會導致最後一頁空白,所以最好使用xml publisher語句定義分頁符<?split-by-page-break ?>

(2). 頁碼:

i. 可使用word中自帶的頁碼工具

ii.對頁碼使用要求較高

<?initial-page-number: $pagestart?>, $pagestart為所引用的xml data引數

8. 核取方塊

<?xxpopulation>1000?>

9.條件格式化

(1). if語句

(2). if-then-else語句

(3). choose語句

(4). 格式化列

(5). 格式化行

(6). 格式化單元格

9-1. if語句

(1). 換行<?if:xxcondition ?>...<?end if?>

(2). 不換行<?if @inlines:xxcondition?>...<?end if?>

判斷不為空:

<?if @inlines:name_1=''>...<?end if?>

9-2. if-then-else語句

<?xdofx:if xxamount>1000 then 'xxhigher'

else if xxount<1000 then 'xxlower'

else 'equal'

end if?>

9-3. choose語句

<?choose: ?>

<?when:xxflag1 ='y'?>...<?end when?>

<?when:xxflag2 ='n'?>...<?end when?>

<?otherwise ?>...<?end otherwise?>

<?end choose?>

9-4. 格式化列

根據條件顯示隱藏列:<?if @column:xxcondition?>...<?end if>

<?if @column: /items/@type="private"?>...<?end if?>

9-5. 格式化行

當滿足條件時加亮行:

<?if @row:condition?>

lightgray

<?end if>

10. 行的截斷和換行

no-warp  -->禁止換行

hidden      -->多餘截斷

11. 頁的相關問題

(1). 資料組分頁

i. section寫法

<?for-each @section:xxgroup?>  

ii.split-by-page-break寫法

<?for-each:xxgroup ?>...<?split-by-page-break: ?><?end for-each?>

(2). 條件分頁和固定行

i. 條件分行

<?if:currency_code ="cny"?> 

page 

<?end if?>

ii. 固定行數

<?if:position () mod 10 =0?> 

page 

<?end if?>

12. 頁合計值

(1). 計算合計值:<?add-page-total ; 'debit-credit'?>

(2). 顯示合計值:<?show-page-total:net ; $#,##0.00; ($#,##0.00)'?>

(3). 連續合計

13. 排序

<?sort:xxelement1 ?><?sort:xxelement2 ?>

14. 變數

(1). 初始化變數:<?xdoxslt:set_variable ($_xdoctx,'xxname',xxvalue)?>

(2). 獲取變數:<?xdoxslt:get_variable ($_xdoctx,'xxname')?>

(3). 更新變數:<?xdoxslt:set_variable ($_xdoctx,'xxname',xdoxslt:get_variable($_xdoctx,'xxname'+1))?>

15. 數字格式化

(1). word自帶格式化方式

(2). oracle format-number功能:<?format-number:xxfile ; '999g999g99'?>

例子:<?if: index_id_28 mod 2=0?><?format-number:prior_charge_24 ;'#,##0.00'?>%<?end if?>

<?if: index_id_28 mod 2=1 and index_id_28 !=11 ?><?format-number:prior_charge_24 ;'#,##0.00'?><?end if?>

<?if:index_id_28 =11?><?format-number:prior_charge_24 ;'#,##0.00'?>%<?end if?>

16. 日期格式化

(1). word自帶格式化方式

(2). oracle format-date功能1:<?format-date:xxfile ; 'format_mask'?>    

(3). oracle format-date功能2:<?format-date:hiredate ; 'yyyy--mm-dd'?>

17. 貨幣格式化

oracle format-currency:<?format-currency:xxcur ; font?>

18. sql擴充套件語句<?xdofx:... ?>

封基和開基的異同

封閉式 簡稱 封基 學名叫 契約型封閉式 開放式 簡稱 開基 學名叫 契約型開放式 相同點大致有 一 都是 管理公司的集合理財產品 二 都屬於面向社會公開募集 的範疇 三 都要執行 法 和規範的會計準則 四 都要按照資產淨值提取管理費 託管費 五 目前 分紅都不需要交納個人所得稅 歡迎補充 不同點有...

Shape Basedmatching的基本流程

1 確定出roi的矩形區域 2 從roi區域提取出影象 可以先進行影象處理 3 建立模板 create shape model 金字塔級數 由numlevels 指定 值越大則 找到物體的時間 越少 anglestart 和angleextent 決定可能的旋轉範圍,anglestep指定角度範圍搜...

ThreadPoolExecutor 的基本原理

先說下 threadpoolexecutor 的基本原理 1.當提交乙個任務時,如果執行緒數沒有達到coresize,那麼就會新建乙個執行緒,並繫結該任務,直到數量到達coresize前都不會重用之前的執行緒 2.到達後,提交的任務都會放到乙個等待佇列中進行等待,執行緒池中的執行緒會使用take 阻...