<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                目錄 [TOC] * * * * * > 注意:練習的設置信息請參考使用須知中的資料包,以《03_規則設計 V1.xlsx》為準。 #### 什么是規則 規則是用于靈活計算表內、表間、數據庫之間邏輯文件。 業務人員可以學會看懂規則即可,一般業務人員做好表單之后,規則由技術人員編寫。如果有基礎和興趣,可參考使用須知資料包,03-規則設計/《esb_dbag 中文版.pdf》,了解更多關于Essbase的基礎概念、計算語法、規則和函數。 基本結構和語法包括: 1. 計算的全局范圍:限定計算范圍(Fix……End Fix),見開始的全局范圍。 2. 計算的核心要點: - 包括成員的四則運算,見腳本中的加減乘除。 - 對成員指定一個組合(->),見示例中期初的銷售單價 - 增加注釋信息(/* …… */ ) - 成員的引用需要用“”雙引號引起來 - 替代變量的引用需要使用“&”,不需要引號,例如:&CurYear - 規則變量的引用需要使用大括號括起來,或者通過變量按鈕選擇 - 除Fix,每行規則末尾需要有分號“;” 4. 計算后的匯總:見示例中的聚合模塊 ![](https://box.kancloud.cn/fa14158cb5501ebc5cad2d33400678d4_1838x1042.png) #### 進入計算管理器 Calculation Manager,簡稱CM ![](https://box.kancloud.cn/e9434f805cb1168567694d160ac2ff54_1692x816.png) #### 設置替換變量 創建應用程序級別內共享的變量 ![](https://box.kancloud.cn/742c5447052a5ce1584a1adbb25cdf2d_1582x808.png) ![](https://box.kancloud.cn/b3cebbe4cac6c74b7f08e49c367ad085_2240x958.png) ![](https://box.kancloud.cn/afbcff34f59fa4661137c9d81fd1a47e_2038x892.png) 設置維名稱為Entity的替換變量 設置一個默認值 勾選RTP(Run-Time Prompt,運行時提示),后面才可以引用表單上的成員 RTP文本為必填,用于設置參數選擇框時給用戶的提示文字。 #### 新建規則 ![](https://box.kancloud.cn/0f80b5da2e2c24c156300d12d650c6b8_1430x798.png) #### 指定全局范圍 目的:避免計算范圍過大,導致計算耗時過長。通過也避免計算無意義的組合,增加塊的數量,影響數據庫大小。 ![](https://box.kancloud.cn/45107bc00f5d7dde700b20f950249e9e_2476x1040.png) 使用成員選擇器選擇成員。對于替代變量,需要直接輸入,如 &CurYear ![](https://box.kancloud.cn/4e3ae1fb5220b16cf7661bd36729a1cf_1840x984.png) #### 編寫計算邏輯 ![](https://box.kancloud.cn/0b7f6a1a0d2eafae191d95ee9cbcf2df_2506x1000.png) ##### 插入腳本塊和限定子范圍 ![](https://box.kancloud.cn/2f09112afb03e59a3cd7960b08e64970_1826x886.png) 從左側新對象區域拖動“腳本”對象到“開始”和“結束”之間。 在計算邏輯中根據需要可能還要進一步FIX限定計算范圍。 ##### 選擇成員 ![](https://box.kancloud.cn/83f070562e3a7a28302045c03f03455b_2084x928.png) ##### 插入變量 目的:便于通過變量集中更換規則計算的場景、版本、年份。 可以使用“插入變量”按鈕變量,也可以直接輸入“{變量名稱}”來使用變量。 ![](https://box.kancloud.cn/81298d333f6eae55a8f028862a01f59d_1984x986.png) 對于替代變量,規則也可以引用,但只能手工輸入,無法通過“插入變量"插入。 &CurYear &CurSce &CurVer ##### 腳本診斷 ![](https://box.kancloud.cn/fdfb7b216a8479e61c8d3c54ccb9239c_1840x1092.png) 點擊腳本診斷,查看腳本語法是否正確。在部署前可以進行預檢查。 #### 匯總數據 拖動匯總模塊到設計器 ![](https://box.kancloud.cn/46f6e20ca71c7a4aaa0a7c76832814c2_2520x1092.png) 可關閉彈出的匯總設置窗口,在設計器摘要中按需設置 ![](https://box.kancloud.cn/3afa38d9dcc70433b549a4e6711a2470_2286x1054.png) 設置聚合數據庫中缺少的值 ![](https://box.kancloud.cn/bbb340d91f670160c50c50fb532b3e2f_1368x928.png) 避免出現以下情況,數據庫清除數據,但不匯總missing到父層 ![](https://box.kancloud.cn/4f300b8f076e549fe81443b243e09061_1584x912.png) #### 查看全部腳本代碼 可以點擊“開始”模塊下的“腳本”選項卡,查看該規則包含各個設計對象的完整腳本代碼。 > 注意,“開始”模塊下的腳本代碼是只讀的,如需編輯,需要點擊進入各個“腳本”的腳本選項卡。 > 注意:替換變量在腳本代碼顯示時,顯示的是默認值,見“A_0101_銷售計劃表”圖例。 ![](https://box.kancloud.cn/4851534a4db81600017e5892cd1087d4_1844x1010.png) #### 驗證與部署規則 檢查是否有語法錯誤之類 ![](https://box.kancloud.cn/a021c3382cc24a4cf3e7cf1a22dd1002_1824x1028.png) 部署后可以在表單關聯規則界面看到 ![](https://box.kancloud.cn/65be0df9eb6618cedd95f7ef8bb8487e_1834x1030.png) > tips: > 規則部署之后在業務規則清單看不到,重啟服務(待添加操作步驟,測試環境操作),重新完全部署。耐心等待1小時. #### 查看位置別名 使用跨庫取數@XREF時需要用到維值別名。 ![](https://box.kancloud.cn/e1c5e5870060af06b3e22df45b56d45d_2132x1268.png) 在哪個數據庫使用@XREF函數,就在哪個數據庫查看位置別名。 在RPT引用biz、fin,就在RPT右鍵查看維值別名,注意,系統默認的位置別名不能修改。 ![](https://box.kancloud.cn/1ac310d34dafcffa3a919291a321a524_2304x1258.png) #### 規則關聯表單 目的:規則掛到表單上,以便表單保存時能觸發規則 ![](https://box.kancloud.cn/6f94754c91100a23204377c5285ed1b8_2044x922.png) 將默認的計算表單刪除,添加自定義規則 設置表單的業務規則屬性。 #### 規則導出導入 >發布正式環境,可以使用規則導出,導入,提交效率,避免出錯。 >導入前,先做好原規則的備份。 ![](https://box.kancloud.cn/e4e92dfbe0d91c31a7a7364696bc25a2_1782x1252.png) 導出 ![](https://box.kancloud.cn/9b7a509e6b0bcb88e00a757ed46cc0b1_2066x1262.png) 導入 ![](https://box.kancloud.cn/6aa1f190c1d1facef22c84abd9ced3a4_1900x1202.png) 覆蓋原規則 #### 參考:練習的規則示例 ##### A_0100_銷售價格表 ![](https://box.kancloud.cn/7e5d4889f75d4d28e540da8d11b52778_1580x588.png) ![](https://box.kancloud.cn/07ab646436d3349585503a7bea190e9d_1009x477.png) 腳本 ``` FIX ("BegBalance",&CurVer,@IDescendants("P01"),&CurSce,M100,@Relative("E01", 0),&CurYear) /*每個公司的銷售單價 = 缺省公司的銷售單價*/ SET CREATENONMISSINGBLK ON; "A0102" = "A0102"->"E00"; SET CREATENONMISSINGBLK OFF; ENDFIX ``` ##### A_0101_銷售計劃表 ![](https://box.kancloud.cn/0056769ae4fac759741eb4e33d209c74_1842x1080.png) 注意:替換變量{CurEntity}在整體腳本預覽顯示的是默認值。 腳本 ``` FIX (@IDescendants("YearTotal"),&CurVer,&CurSce,M100,&CurYear) FIX ({CurEntity},@IDescendants( "AllProduct")) /*銷售金額=銷售數量*銷售單價->期初*/ "A0103"="A0101"*"A0102"->"BegBalance"; ENDFIX /* Start Template:Aggregation*/ SET AGGMISSG ON; FIX ("A0101", "A0103") AGG ("Product"); AGG ("Entity"); ENDFIX /* End Template:Aggregation*/ ENDFIX ``` 計算不出銷售金額可能的原因及方案 1. 規則變量問題,原因不明,在工具-業務規則中運行,選擇參數運行一次。 ##### A_0102_銷售費用表 ![](https://box.kancloud.cn/46d310cc25c5683c0f96ae9e82b4cff6_1824x998.png) ``` FIX (@IDescendants("YearTotal"),&CurVer,&CurSce,M100,&CurYear) /* Start Template:Aggregation*/ SET AGGMISSG ON; FIX (@IDescendants("A0104")) AGG ("Product"); AGG ("Entity"); ENDFIX /* End Template:Aggregation*/ ENDFIX ``` ##### A_0201_管理費用表 ![](https://box.kancloud.cn/676d7de3885729502be010f736ae3057_1840x854.png) ``` FIX (@IDescendants("A02"),&CurVer,@IDescendants("YearTotal"),&CurSce,&CurYear) /* Start Template:Aggregation*/ SET AGGMISSG ON; AGG ("Entity"); /* End Template:Aggregation*/ ENDFIX ``` ##### A_0301_預算利潤表 ![](https://box.kancloud.cn/6622559680e4c7825768fdf6003f51e6_2030x968.png) ![](https://box.kancloud.cn/b441dee59a01c670b2f3075219996da7_1852x954.png) 注意: 1. @XREF,維值別名后的BIZ、FIN的成員手工輸入;在函數的成員選擇框選不到。 ``` FIX (&CurVer,@IDescendants("YearTotal"),&CurSce,&CurYear) FIX(@Relative("E01", 0)) SET CREATENONMISSINGBLK ON; "A0301"=@XREF(_RevCube_, "A0103","P01","M100")/1.17; /*收入=銷售金額/1.17*/ "A0304"=@XREF(_RevCube_, "A0104","P00","M100") + @XREF(_PnlCube_, "A02"); /*費用=銷售費用+管理費用*/ SET CREATENONMISSINGBLK OFF; ENDFIX FIX(@Relative("E01", 0)) "A0303"= "A0301"- "A0302"; /*毛利=收入-成本*/ "A0305"= "A0303"- "A0304"; /*利潤=毛利-費用合計*/ ENDFIX /* Start Template:Aggregation*/ SET AGGMISSG ON; FIX (@Descendants("A03")) AGG ("Entity"); ENDFIX /* End Template:Aggregation*/ ENDFIX ``` 費用合計沒有正確合計: 1、 對照表單檢查銷售費用和管理費用的@XREF組合對不對。 #### 參考:CM設計器一直Loading 原因:FLASH Player版本問題 方案:升級至最新版本的Flash Player,https://helpx.adobe.com/cn/flash-player.html ![](https://box.kancloud.cn/3aed37a88c1a92154d1e2bdeb2e1e6f9_1586x1060.png) ![](https://box.kancloud.cn/3815a7cb1d48b67158df72def86bcdff_1598x1020.png) ![](https://box.kancloud.cn/d4858d0bcc88a5ea12bcb7d10a21681e_1558x1036.png) #### 參考:關于計算中的塊 Essbase計算基于塊,沒有塊則默認跳過不計算。 ```` FIX(產品1) 收入=收入*1.5->產品2; ```` 由于收入一個塊(跨稀疏維值)內時,產品1取不到產品2的收入。 兩個方法: 1)使用datacopy先復制新塊,再計算 ```` datacopy 收入->產品2 to 收入->產品1; fix(產品1) 收入=收入*1.5->產品2; endfix ```` 優點:計算速度快 局限:只能相同塊區域復制;一刀切,容易復制出不需要的塊。 詳細datacopy介紹請參考:https://docs.oracle.com/cd/E57185_01/ESBTR/datacopy.html 2)開啟createnonmissingblk ```` fix(產品1) set createnonmissingblk on 收入=收入*1.5->產品2; endfix ```` 優點:精確創建塊; 缺點:1、速度慢,2、公式不對容易創建大量無效組合塊(應對 A:在fix內嚴格限制好范圍;B.B.使用clearblock清塊) 見esb dba手冊 p455,塊的計算 實驗結果:datacoy的1s VS set createnonmissing on的32秒 ![](https://box.kancloud.cn/557131275cadfde910847e4190641d4b_1648x984.png) Datacopy ![](https://box.kancloud.cn/a05ad6ab0449aac1c7581bd490012392_1610x990.png) Set Createnonmissingblk on ![](https://box.kancloud.cn/0e400276656f84af784b5d24d89af712_1622x958.png) #### 參考:使用clearblock清塊和測試規則 cleardata清數據,不清塊 clearblock塊和數據一起清,有4個選項: - all,清掉所有的塊 - upper,清掉父層的塊 - noninput,清掉不是輸入的塊,包括有計算導致創建的塊。 - dynamic,清掉“動態計算及存儲”創建的塊 - empty,清掉是#missing的塊 empty比較安全 non input可清除計算腳本創建的塊和數據,接口導入是否清除的待測試 all 一般用來清除數據后測試規則是否正確,也能檢查出創建塊的問題。 詳見:https://docs.oracle.com/cd/E57185_01/ESBTR/clearblock.html #### 參考: 塊大小與計算性能 最佳性能塊的大小8~100K,具體還需要根據計算的調優。 見esb dba手冊p864 調整前33秒 ![](https://box.kancloud.cn/18b62d50eb5dd2b5908acab1e17e79d4_1666x536.png) ![](https://box.kancloud.cn/bfb92b0010611e6eafaf01df0cecbbf6_1202x444.png) 塊大小 6k,密度2.36% ![](https://box.kancloud.cn/0d6e8e9f953e498ebf8ac1a8b4bed16b_1558x1300.png) Scenario稀疏維 ![](https://box.kancloud.cn/b723ad76de816bf87773ca23cc74ce76_1394x806.png) 調整后4分鐘,性能降低8X ![](https://box.kancloud.cn/7183dcf1c02fc2d61b48067b011ac061_2192x1154.png) 塊大小 92k ![](https://box.kancloud.cn/de01bdcf60362b8ecb62db12be1296b0_1588x1308.png) #### 參考:規則替換變量不生效 計算不出數 原因:不明 臨時方案:將變量換成一個具體成員,再換回來就好了
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看