欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

計算機化財務系統(tǒng)的提取、變換和加載設計器模塊的制作方法

文檔序號:6548310閱讀:205來源:國知局
專利名稱:計算機化財務系統(tǒng)的提取、變換和加載設計器模塊的制作方法
背景技術
本發(fā)明一般涉及計算機化財務系統(tǒng)的提取、變換和加載(ETL)設計器模塊,用于將指令傳遞到服務器的ETL服務模塊來配置ETL包。ETL包用于將元素從包含在源數據庫或數據存儲中的源財務表格中提取、變換并加載到目標數據庫或數據存儲的目標表格中,該目標數據庫或數據存儲具有與第一表格的格式不相關的預定義格式。
計算機化的財務系統(tǒng)包括各種軟件包,包括會計程序和財務報表程序。會計程序維護企業(yè)的各種賬目,如總帳、存貨清單、應收賬款、應付賬款、余額、工薪單和其它賬目。總帳是公司的財務活動和歷史的倉庫,它包含該公司的所有財務交易。總帳和其它賬目通常作為表格(財務表格)儲存在一個或多個數據庫中。
財務報表應用程序使用了儲存在數據庫中的財務表格中的數據來生成報表。這類報表包括例如余額報表和預測報表。
包含企業(yè)的財務表格的數據庫通常使用各種數據庫管理系統(tǒng)(DBMS)來組織和維護。在這些數據庫系統(tǒng)中的是遵循“關系型”模型的那些數據庫系統(tǒng),被稱為關系型數據庫管理系統(tǒng)(RDBMS)。關系型數據庫是以列和行的相關二維表格組織的數據的集合。表格中的數據可以通過對表格執(zhí)行諸如連接、排序、合并等集合運算來訪問和操縱。這些運算通常通過以諸如結構化查詢語言(SQL)等查詢語言構件的用戶定義的查詢來啟動。SQL查詢包括高級命令,它通常描述了要被選擇、檢索或處理的數據集。
如上所述,財務報表程序需要訪問一個或多個財務表格中的企業(yè)財務信息來提取可用于形成報表的信息。某些現有技術財務報表程序或工具包括其軟件中的程序代碼(如,SQL語句)來直接訪問數據庫的財務表格。這一方法的一個問題是,當修改或添加財務表格時,需要修改報表程序的程序代碼以提供對經修改的或新的財務表格的訪問。這類修改的完成是復雜、耗時和昂貴的。
上述的一種替換方法是利用某些服務器配備的現有提取、變換和加載(ETL)服務。ETL服務提供了一組用于將數據從各異的來源提取、變換和合并到單個或多個目標,以構建依照預定義格式的數據倉庫或數據集市(data mart)。MicrosoftSQL Server的數據信息服務(DTS)是ETL服務的一個示例。
ETL服務允許創(chuàng)建ETL包(對MicrosoftSQL Server而言是DTS包),它定義了適用于財務報表應用程序的自定義數據移動解決方案。每一ETL包一般定義了相關聯的任務的多個步驟,這些任務用于執(zhí)行包含在源表格中的數據元素的期望的提取和變換。另外,ETL包的執(zhí)行促使ETL導入源表格的指定源數據、將數據變換成期望的格式、并將數據導出到存儲上的目標數據庫中的目標表格。結果,這一ETL服務可用于形成ETL包,它將所選擇的數據元素從源財務表格(如,總帳)移出、將數據元素變換成期望的格式、并將數據元素加載到準備好供財務報表應用程序使用的報表表格。另外,可直接向ETL包作出修改以容納期望的修改,而無需修改財務報表應用程序的程序代碼。
盡管使用這類ETL服務避免了向特定的財務表格定制報表應用程序代碼的需要,然而定義客戶數據移動的ETL包仍必須被編程和配置。ETL服務包括允許用戶直接配置DTS包的用戶界面(如,用于MicrosoftSQL Server的DTS的EnterpriseManager)。這類編程是耗時的,且必須由某一人來執(zhí)行,它不僅具有財務報表應用程序所期望的目標表格的完整理解,包括期望的源數據和期望的數據格式,也知道如何編程或配置ETL包來執(zhí)行提取、變換和加載步驟。另外,由于多個步驟和相關聯的任務必須被手動輸入以執(zhí)行期望的數據提取、變換和加載操作,ETL表的配置可以是復雜的。
存在對財務報表應用程序使用的編程或配置ETL包的改進方法的需求,包括令這類配置方法更有效和用戶友好。

發(fā)明內容
本發(fā)明一般針對計算機化財務系統(tǒng)的提取、變換和加載(ETL)設計器模塊,用于配置ETL包。每一ETL包可用于將數據元素從財務數據庫的一個或多個財務表格中加載到依照預定義格式的報表表格中。ETL設計器模塊包括一定義變換對象的變換類。每一變換對象負責將財務表格的源列的源數據元素變換成與報表表格相關聯的目標列的報表程序格式。
依照本發(fā)明的一個實施例,變換包括用預定義替換元素替換源數據元素的至少一部分。
依照本發(fā)明的另一實施例,變換包括對源數據元素進行語法分析。
依照本發(fā)明的又一實施例,變換包括將兩個或多個源列的源數據元素串接。
依照本發(fā)明的再一實施例,變換包括源列的源數據元素的轉動(pivot)。


圖1所示是其中可使用本發(fā)明的環(huán)境的框圖。
圖2是依照本發(fā)明的實施例的計算機化財務系統(tǒng)的簡化框圖。
圖3和4是示例性源財務表格。
圖5是用于導入、變換數據并將其導出到目標數據庫的數據泵(data pump)體系結構。
圖6是提取、變換和加載(任務)模塊的功能圖。
圖7是依照本發(fā)明的實施例的ETL設計器模塊的示例性對象模型。
圖8和9是示例性目標報表表格。
圖10所示是依照本發(fā)明的實施配置ETL包的方法的流程圖。
具體實施例方式
本發(fā)明一般涉及計算機化財務系統(tǒng)的提取、變換和加載(ETL)設計器模塊,用于將指令傳遞到服務器的ETL服務模塊來配置ETL包。每一ETL包用于將源元素從包含在源數據庫中的源表格提取、變換并加載到目標數據庫的目標表格,它具有與源表格的格式不相關的預定義格式。
計算環(huán)境綜述圖1示出了適合在其中實現本發(fā)明的計算系統(tǒng)環(huán)境100的一個示例。計算系統(tǒng)環(huán)境100僅為合適的計算環(huán)境的一個示例,并非暗示對本發(fā)明的使用范圍或功能的局限。也不應將計算環(huán)境100解釋為對示例性操作環(huán)境100中示出的任一組件或其組合具有任何依賴或需求。
本發(fā)明可以使用眾多其它通用或專用計算系統(tǒng)環(huán)境或配置來操作。適合使用本發(fā)明的眾所周知的計算系統(tǒng)、環(huán)境和/或配置包括但不限于個人計算機、服務器計算機、手持式或膝上設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費者電子設備、網絡PC、小型機、大型機、包括任一上述系統(tǒng)或設備的分布式計算環(huán)境等等。
本發(fā)明可在諸如由計算機執(zhí)行的程序模塊等計算機可執(zhí)行指令的一般上下文環(huán)境中描述。一般而言,程序模塊包括例程、程序、對象、組件、數據結構等等,執(zhí)行特定的任務或實現特定的抽象數據類型。本發(fā)明也可以在分布式計算環(huán)境中實踐,其中,任務由通過通信網絡連接的遠程處理設備來執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于本地和遠程計算機存儲介質中,包括存儲器存儲設備。
參考圖1,用于實現本發(fā)明的示例系統(tǒng)包括以計算機110形式的通用計算裝置。計算機110的組件包括但不限于,處理單元120、系統(tǒng)存儲器130以及將包括系統(tǒng)存儲器的各類系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干種總線結構類型的任一種,包括存儲器總線或存儲器控制器、外圍總線以及使用各類總線體系結構的局部總線。作為示例而非局限,這類體系結構包括工業(yè)標準體系結構(ISA)總線、微通道體系結構(MCA)總線、增強ISA(EISA)總線、視頻電子技術標準協會(VESA)局部總線以及外圍部件互連(PCI)總線,也稱為Mezzanine總線。
計算機110通常包括各種計算機可讀介質。計算機可讀介質可以是可由計算機110訪問的任一可用介質,包括易失性和非易失性介質、可移動和不可移動介質。作為示例而非局限,計算機可讀介質包括計算機存儲介質和通信介質。計算機存儲介質包括以用于儲存諸如計算機可讀指令、數據結構、程序模塊或其它數據等信息的任一方法或技術實現的易失性和非易失性,可移動和不可移動介質。計算機存儲介質包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術、CD-ROM、數字多功能盤(DVD)或其它光盤存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設備、或可以用來儲存所期望的信息并可由計算機110訪問的任一其它介質。通信介質通常在諸如載波或其它傳輸機制的已調制數據信號中包含計算機可讀指令、數據結構、程序模塊或其它數據,并包括任一信息傳送介質。術語“已調制數據信號”指以對信號中的信息進行編碼的方式設置或改變其一個或多個特征的信號。作為示例而非局限,通信介質包括有線介質,如有線網絡或直接連線連接,以及無線介質,如聲學、RF、紅外和其它無線介質。上述任一的組合也應當包括在計算機可讀介質的范圍之內。
系統(tǒng)存儲器130包括以易失性和/或非易失性存儲器形式的計算機存儲介質,如只讀存儲器(ROM)131和隨機存取存儲器(RAM)132。基本輸入/輸出系統(tǒng)133(BIOS)包括如在啟動時幫助在計算機110內的元件之間傳輸信息的基本例程,通常儲存在ROM 131中。RAM 132通常包含處理單元120立即可訪問或者當前正在操作的數據和/或程序模塊。作為示例而非局限,圖1示出了操作系統(tǒng)134、應用程序135、其它程序模塊136和程序數據137。
計算機110也可包括其它可移動/不可移動、易失性/非易失性計算機存儲介質。僅作示例,圖1示出了對不可移動、非易失性磁介質進行讀寫的硬盤驅動器141、對可移動、非易失性磁盤152進行讀寫的磁盤驅動器151以及對可移動、非易失性光盤156,如CD ROM或其它光介質進行讀寫的光盤驅動器155??梢栽谑纠圆僮鳝h(huán)境中使用的其它可移動/不可移動、易失性/非易失性計算機存儲介質包括但不限于,磁帶盒、閃存卡、數字多功能盤、數字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅動器141通常通過不可移動存儲器接口,如接口140連接到系統(tǒng)總線121,磁盤驅動器151和光盤驅動器155通常通過可移動存儲器接口,如接口150連接到系統(tǒng)總線121。
圖1討論并示出的驅動器及其關聯的計算機存儲介質為計算機110提供了計算機可讀指令、數據結構、程序模塊和其它數據的存儲。例如,在圖1中,示出硬盤驅動器141儲存操作系統(tǒng)144、應用程序145、其它程序模塊146和程序數據147。注意,這些組件可以與操作系統(tǒng)134、應用程序135、其它程序模塊136和程序數據137相同,也可以與它們不同。這里對操作系統(tǒng)144、應用程序145、其它程序模塊146和程序數據147給予不同的標號來說明至少它們是不同的副本。
用戶可以通過輸入設備,如鍵盤162、麥克風163和定位設備161(如鼠標、跟蹤球或觸摸板)向計算機110輸入命令和信息。其它輸入設備(未示出)可包括操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設備通常通過耦合至系統(tǒng)總線的用戶輸入接口160連接至處理單元120,但是也可以通過其它接口和總線結構連接,如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其它類型的顯示設備也通過接口,如視頻接口190連接至系統(tǒng)總線121。除監(jiān)視器外,計算機也可包括其它外圍輸出設備,如揚聲器197和打印機196,通過輸出外圍接口190連接。
計算機110可以在使用到一個或多個遠程計算機,如遠程計算機180的邏輯連接的網絡化環(huán)境中操作。遠程計算機180可以是個人計算機、服務器、路由器、網絡PC、對等設備或其它公用網絡節(jié)點,并通常包括許多或所有上述與計算機110相關的元件。圖1描述的邏輯連接包括局域網(LAN)171和廣域網(WAN)173,但也可包括其它網絡。這類網絡環(huán)境常見于辦公室、或企業(yè)范圍計算機網絡、內聯網以及因特網。
當在LAN網絡環(huán)境中使用時,計算機110通過網絡接口或適配器170連接至LAN 171。當在WAN網絡環(huán)境中使用時,計算機110通常包括調制解調器172或其它裝置,用于通過WAN 173,如因特網建立通信。調制解調器172可以是內置或外置的,通過用戶輸入接口160或其它適當的機制連接至系統(tǒng)總線121。在網絡化環(huán)境中,描述的與計算機110相關的程序模塊或其部分可儲存在遠程存儲器存儲設備中。作為示例而非局限,圖1示出了遠程應用程序185駐留在遠程計算機180中。可以理解,示出的網絡連接是示例性的,也可以使用通過在計算機之間建立通信鏈路的其它裝置。
如上所述,本發(fā)明可在諸如參考圖1所描述的計算機系統(tǒng)上實現。或者,本發(fā)明可在服務器、專用于消息處理的計算機或分布式系統(tǒng)上實現,在分布式系統(tǒng)中,本發(fā)明的不同部分可在分布式計算系統(tǒng)的不同部分上實現。
計算機化的財務系統(tǒng)圖2所示是依照本發(fā)明的各個實施例的計算機化財務系統(tǒng)200的示意圖。系統(tǒng)200一般包括財務報表軟件包202、服務器204、源財務數據庫206和目標報表數據庫208。財務數據庫206一般包括諸如企業(yè)的金融交易等相關數據的集合,并且較佳地為關系型數據庫,其中數據以被稱為財務表格的二維列和行形式來組織。
關系型數據庫通常包括多個表格。數據庫通常也包括關聯結構。關聯結構的一個示例是索引,它通常(但不必須)是B樹或散列索引的形式。索引可用于用幾乎不變的訪問時間來查找到表格中的特定行,而不管表格的大小如何。關聯結構對數據庫的用戶是透明的,但是對于數據庫管理系統(tǒng)的有效操作和控制是必需的。
數據庫管理系統(tǒng)(DBMS),尤其是關系型數據庫管理系統(tǒng)(RDBMS),是一種支持數據庫特征的控制系統(tǒng),這些特征包括但不限于,將數據儲存在存儲器介質上、從存儲器介質中檢索數據以及更新存儲器介質上的數據。
示例性財務數據庫206包括總帳表格210和余額表格212,它們分別在圖3和4中示出。每一表格包括列214和行216。示例性總帳表格210包括多個列214,包括用于列的“引用”、“代碼1”、“代碼2”、“日期”、“借方”和“貸方”字段。余額表格212中的列214包括用于列的“周期1”、“2”、“3”和“4”字段。財務數據庫206也包括索引表格(未示出),它包含關于數據庫中每一表格的信息。
一般而言,儲存在關系型數據庫中的數據通過以諸如SQL等查詢語言構造的用戶定義的查詢來訪問。通常,對于任何給定的SQL查詢,有許多過程性的操作,它們需要在數據上執(zhí)行以實現SQL查詢的目的。例如,可以有許多聯結和表格掃描,它們需要被執(zhí)行以達到期望的目的。
圖2的示例性服務器204具有簡化的SQL服務器RDBMS體系結構,它本質上包括三層。第一層提供了與SQL服務器的至少兩類集成,包括允許服務器接口集成到諸如分布式組件對象模塊(DCOM)的用戶應用程序的應用程序接口218,以及提供用于獨立的軟件銷售商開發(fā)的管理和配置工具的接口的工具接口220。
第二層通過提供應用編程接口(API)向其它應用程序打開SQL服務器204的功能,API包括SQL名字空間222、SQL分布式管理對象224以及ETL服務226。用戶界面228由向導、HTML等提供。
SQL分布式管理對象API 224抽象了DDL、儲存在過程中的系統(tǒng)、注冊表信息以及操作系統(tǒng)資源的使用,向SQL服務器的所有管理和配置任務提供了API。
(ETL)服務API 226展示了由SQL服務器204或其它服務器產品提供的服務,以幫助構建數據倉庫和數據集市,并較佳地包括一數據泵應用程序。如下文更完整地描述的,這些服務提供了依照ETL包230(如,DTS包)在不同種類數據源之間傳輸和變換數據的能力。
本發(fā)明通過執(zhí)行泵應用程序利用了服務器204的ETL服務226,以從源財務數據庫206的諸如總帳表格210等源財務表格中提取源元素、變換至少某些源元素、并通過執(zhí)行ETL包230將源元素加載或注入到報表數據庫或數據存儲208的目標報表表格中。
這一操作在圖5中示意性地描述。當從源表格中將每一行216拉到數據泵232中時,應用變換233。在將變換的源元素注入或加載到目標數據庫208的對應目標表格中之前,可將變換的源元素臨時儲存在一分段表格中。數據進232可以被實現為應用程序135的全部或一部分,包括由計算機系統(tǒng)100的處理單元120執(zhí)行的指令,這些都在圖1中示出。
圖6示出了任務模塊或ETL包230的功能圖,ETL包表示MicrosoftSQLServer的DTS包。如圖所示,每一包230包括定義包230的工作流的步驟234、對數據執(zhí)行實際操作的任務236、以及全系統(tǒng)范圍內可用的全局變量238。每一ETL包230可儲存在組件對象模型(COM)文件中。
COM對象是依照面向對象的編程模型來設計的模塊。面向對象的編程允許使用和重復使用程序模塊,而不需要知道模塊的內部狀態(tài)和過程。步驟對象234協調任務236的執(zhí)行控制的流程。沒有相關聯的步驟234對象的任務236從不被執(zhí)行。步驟對象234也可建立與對應的任務236相關聯的前趨約束240。前趨約束是必須在對應任務236的執(zhí)行之前發(fā)生的事件。
任務236定義了要對數據執(zhí)行(如,由數據泵執(zhí)行)的實際操作。例如,任務236可以在格式之間轉換數據。一旦數據處于可用的格式,則變換任務236在將數據移動到目標行之前變換數據。任務可以是自定義的過程腳本236a、ActiveX腳本236b或簡單數據泵變換236c。任務236定義了源表格242(如,總帳表格210或數據庫表格212)、報表數據庫208的目標表格244、以及兩個表格之間的關聯列246。另外,任務236包括定義如何變換數據的變換算法233。
由此,可被結合到基于COM的體系結構中的每一ETL包230也允許許多任務236、以及它們之中的任何復雜工作流和調度關系的指定。提供這類工作流和調度及前趨關系的指定的現有處理環(huán)境需要所有任務中所有這類關系的預定指定(如,以樹的形式)。相反,基于COM的ETL包230允許通過對每一任務單獨地指定前趨或優(yōu)先級,每次對一個任務指定,來指定這些總調度關系。由此,不需要事先知道總調度關系,只要已知了各個步驟234的前趨約束。
財務報表軟件包202包括各種程序模塊,包括ETL設計器模塊250、數據刷新器模塊252和報表應用程序或模塊254。包202也包括用戶界面256,用戶258可通過其察看程序模塊并與程序模塊交互,包括向ETL設計器模塊250提供輸入、設計報表和察看報表。
一般而言,程序模塊包括例程、程序、對象、組件、數據結構等,它們儲存在計算機可讀介質中,并執(zhí)行特定的任務或事先特定的抽象數據類型。此外,本領域的技術人員可以理解,本發(fā)明也可用除參考圖1所示的之外的其它計算機系統(tǒng)配置來實施,包括手持式設備、多處理器系統(tǒng)、基于微處理器或可編程消費者電子設備、網絡個人計算機、小型機、大型機等等。本發(fā)明也可在分布式計算環(huán)境中實施,其中,任務由通過通信網路連接的遠程處理設備來執(zhí)行。在分布式計算環(huán)境中,程序模塊可以位于本地和遠程存儲器存儲設備中。
本發(fā)明的ETL設計器模塊250包括類、接口和值類型的庫,它們用于通過應用程序接口218(圖2)與ETL服務226在程序上進行通信,以配置ETL包230,ETL包被設計成從源財務數據庫206的財務表格中提取和變化數據,并將數據加載到依照預定格式的目標報表數據庫208的報表表格中。報表數據庫208可由報表應用程序254訪問以生成報表259。
ETL設計器模塊250的一個示例性對象模型在圖7中示意性地示出。ETL設計器模塊250包括映射器引擎根類,可從其定義或例示映射器引擎對象260。映射器引擎根對象260配置了源和目標列映射和變換。映射器引擎根對象260的兄弟對象較佳地在源數據庫和目標數據庫分支262和264中以分層方式組織。
映射器引擎對象模型的源數據庫分支262一般描述了源財務數據庫206的源表格。源數據庫分支262包括源數據庫對象350、源表格對象352和源列對象354。
源數據庫對象350由源數據庫類定義,并是它的一個實例,并且標識(即,命名)了源數據庫,如源財務數據庫206。
源表格對象352是源數據庫對象350的兄弟,并且由源表格類定義,并是它的一個實例。源表格對象352標識(即,命名)了源表格,如源財務表格210(圖3)或212(圖4)。
源列對象354是對應的源表格對象352的兄弟,它由源類定義,并是它的源類的實例。源列對象354的每一個標識了源表格的列,包括列名(即,字段)和數據類型。這一信息較佳地從通過與源數據庫206通信而接收的源表格的模式中獲取。對于圖3的示例性源表格210,將對每一列,如“引用”、“代碼1”、“代碼2”、“日期”、“借方”和“貸方”列生成源列對象。
目標數據庫分支264一般描述了目標報表數據庫208的目標表格,其示例在圖8和9中提供。圖8示出了對應于圖3的總帳表格210的示例性報表表格270。圖9示出了對應于圖4的余額表格212的示例性報表表格272。另外,分支264描述了目標表格的列和源財務數據庫206的對應源表格的列之間的關聯。目標數據庫分支264包括目標數據庫對象274、目標表格對象276、目標對象278、關聯對象280和變換對象282。
目標數據庫對象274由目標數據庫類定義,且是它的一個實例,并且標識(即,命名)了目標數據庫,如目標報表數據庫208。
目標表格對象276是目標數據庫對象274的兄弟,并由目標表格類定義,且是它的一個實例。目標表格對象276標識(即,命名)了預定義的目標表格,如目標報表表格270(圖8)或272(圖9)。目標表格的模式基于報表應用程序254期望的格式被編程到ETL設計器模塊250中。
目標列對象278是對應的目標表格對象276的兄弟,并由目標對象類定義,且是它的一個實例。目標列對象278的每一個標識了目標表格的一列,包括列名(即字段)和數據類型。另外,目標列對象278是基于對應的目標表格預定義的,因此不需要任何用戶輸入就能被設置。采用圖8的示例性報表表格270,可對每一列,如“引用”、“代碼”、“日期”、“借方”和“貸方”列生成目標列對象。
一個或多個關聯對象280是每一目標列對象278的兄弟,由關聯類定義,并是它的一個實例。關聯對象280的每一個標識了源表格,如總帳表格210(圖3)的列,和目標表格的對應父目標列對象278的關聯。因此,關聯對象定義了源表格的一個或多個列,以及目標表格的一列之間的映射。由此,目標報表表格中的至少某些列將具有對應的關聯對象280,其每一個對應于由對應的源表格對象352的源列對象354定義的可用源列之一。例如,為將“引用”報表表格列290映射到“引用”源列292,關聯對象280作為標識報表表格279的“引用”報表列290的目標對象278的兄弟,可被鏈接到對應于源財務表格210的“引用”源列292的源列對象254。以類似的方式,關聯對象280可將目標“日期”列294映射到源“日期”列296,將目標“借方”列298映射到源“借方”列300,等等。另外,多個關聯對象280可被鏈接到一個目標對象278。例如,對應于目標“代碼”列302的目標對象可具有兩個關聯對象兄弟,它們分別標識源表格的源“代碼1”和“代碼2”列304和306的源列對象354。
變換對象282是關聯對象280的兄弟,或對應于關聯對象280,由變換類定義,且是它的一個實例。一般而言,變換對象282負責將源元素從源表格列的源格式變換到相關聯的目標列的目標格式。變換對象282定義了步驟和相關聯的任務,它們將被編程到ETL包230中以執(zhí)行期望的變換。
變換對象282可以被配置成執(zhí)行替換310、語法分析312、串接314和轉動316變換。替換變換310一般涉及用預定義的替換元素替換源元素的至少一部分。通常,替換僅修改源元素的格式,而維持源元素的值或意義。例如,源財務表格210包括具有月/日/年(MM/DD/YY)源格式的源元素320的“日期”列214,而報表表格270的相關聯的目標“日期”列294是月/日/年(MM/DD/YYYY)的目標格式。對應的變換對象282負責將每一源元素320從月/日/年的源格式變換成目標格式。因此,這一示例性變換對象282用于在將源元素320注入到目標表格270之前將年份從兩位數格式轉換成四位數格式。
語法分析變換312一般涉及源列的源元素320的各部分的語法分析或移除,以將它們從源格式轉換成相關聯的目標列的期望目標格式。由此,例如當源元素320對應于包括諸如客戶標識符部分和物質標識符部分等多條信息的代碼,且對應的目標列僅需要客戶標識符部分時,語法分析變換312是有用的。另外,語法分析變換可用于消除不期望的字符。例如,源財務表格210包括具有源格式###-##的“引用”列292,而對應或相關聯的目標“引用”列290的目標格式為#####。因此,對應的變換對象將對列292中的源元素320執(zhí)行語法分析變換,以移除“-”,由此將源元素變換成目標格式。
串接變換314一般涉及將關聯到由對應的關聯對象280定義的單個目標列的兩個或多個源列相聯結。例如,變換對象282可與關聯對象280相關聯,該關聯對象280將源表格210(圖3)的源“代碼1”和“代碼2”列330和332分別鏈接到目標表格270(圖8)的目標“代碼”列302。在這一情況下,變換對象282負責串接源“代碼1”和“代碼2”列330和332,以將單獨的代碼的源格式(如,“44”和“A22”)轉換成目標格式,其中,兩個代碼被聯結成單個代碼(如,“44A22”)。
轉動變換316一般涉及轉置源表格的列和行,或者換言之,將列數據轉換成行數據。例如,圖4的源表格212具有源格式,其中,企業(yè)的“周期”以列214組織,而“期初余額”和“期末余額”以行216組織。不幸的是,對應的目標表格272(圖9)具有與源格式相反的目標格式“周期”以行334組織,而“期初余額”和“期末余額”以列336組織。轉動變換316用于轉置源表格元素320,以與目標表格相匹配,由此提供了期望的變換,它在圖9中被示出為完成。
映射器引擎對象260包括ETL生成器方法360,當被調用時,它在編程上與ETL服務226通信以生成ETL包230,ETL包230可用于依照映射器引擎對象260的服務和目標相關對象執(zhí)行源表格的源數據元素的期望提取和變換,并將變換的源數據元素加載到目標表格中。因此,ETL生成器360生成指令,這些指令通過ETL服務226(圖2),基于映射器引擎對象自動配置ETL包230的步驟和相關任務,包括前趨的設置和SQL語句的編程。
圖10所示是依照本發(fā)明的實施例配置ETL包230的方法的流程圖。該方法可由系統(tǒng)200的ETL設計器模塊250通過執(zhí)行儲存在計算機介質上的對應指令來執(zhí)行。在該方法的步驟370,形成一個或多個關聯對象280(圖7),其每一個標識了源財務表格(如,圖3的總帳表格210)的一個或多個源列,它們對應于對應的報表表格(如,圖8的報表表格270)的一個目標列,或與其相關聯。如上所述,源和目標列較佳地由源和目標列對象定義。下一步,在步驟372,形成變換對象282(圖7),它定義了將至少一個源列的源數據元素從源格式到由關聯對象標識的相關聯的目標列的報表格式的變換。由變換對象定義的變換可以是上述的任一個,如替換、語法分析、串接或轉動。這些變換依照來自用戶258(圖2)的輸入來選擇。最后,在步驟374,生成用于配置ETL包230的指令,以提取源列的源數據元素320(圖3)、依照變換對象將源數據元素變換成報表格式、以及依照關聯對象將變換的源數據元素加載到報表數據表格的相關聯的目標列中。如下文更詳細地討論的,該方法可包括在步驟374生成指令之前確認對報表表格的需要的目標列已完成了關聯對象的步驟。
重要的是,用戶通過定義所有必要的源和目標列關聯以及包含在將數據元素轉換成目標報表表格的報表格式所需的源列中的數據元素,正確地完成了用于期望的ETL操作的映射器引擎對象模型。如果不是,則ETL包230將無法執(zhí)行期望的變換和注入操作,導致未完成的目標報表表格。
依照本發(fā)明的一個實施例,目標列對象278包括“IsRequired(需要)”和“IsComplete(已完成)”屬性,它們用于確保對于目標表格已完整地定義了映射和變換。IsComplete屬性指明對象模型狀態(tài)是否被認為是完成的,而IsRequired屬性指明它是否需要完成。如果IsRequired屬性被設為“真”,則IsComplete屬性將被設為“假”,直到對目標列對象278設置了所有需要的關聯對象280和變換對象282。另一方面,如果IsRequired屬性被設為“假”,則IsComplete屬性可被設為“真”,因為對目標對象不必設置關聯和變換對象。當目標表格對象的所有目標列對象278的IsComplete屬性被設為“真”時,ETL生成器方法360僅被允許來配置對應的ETL包230。
IsRequired屬性的設置可基于各種條件而變化。例如,如果用戶表明源表格包括交易表格,則對應于這類數據的列的目標列對象278的IsRequired屬性可從“假”變?yōu)椤罢妗?。在這一情況下,那些目標列對象的必需關聯和變換對象必需被完成,以在可執(zhí)行ETL生成器方法360之前將IsComplete屬性設為“真”。
基于IsRequired和IsComplete屬性,可在用戶界面256(圖2)中提供一任務窗格,它指示了用戶在執(zhí)行ETL生成器方法360之前必須完成的管理和變換。因此,任務窗格較佳地標識了未完成但需要的目標列對象(即,目標列)以及剩余的任務,如標識源表格的相關聯的源列,或選擇必須被完成的變換。
盡管參考特定實施例描述了本發(fā)明,然而本領域的技術人員將認識到,可以在不脫離本發(fā)明的精神和范圍的情況下在形式和細節(jié)上作出改變。
權利要求
1.一種儲存在計算機化財務系統(tǒng)的計算機可讀介質上的提取、變換和加載(ETL)設計器模塊,用于配置將源數據從財務數據存儲的財務表格加載到具有預定義格式的報表表格的ETL包,所述ETL設計器模塊包括一定義目標列對象的目標列類,所述目標列對象的每一個標識了報表表格的目標列;一定義關聯對象的關聯類,所述關聯對象的每一個標識了財務表格的至少一個源列與由對應的目標列對象標識的目標列的關聯;以及一定義變換對象的變換類,所述變換對象的每一個負責將源列的源數據元素變換成由對應的關聯對象標識的關聯目標列的報表格式。
2.如權利要求1所述的模塊,其特征在于,所述變換包括用預定義的替換元素替換源數據元素的至少一部分。
3.如權利要求1所述的模塊,其特征在于,所述變換包括對源數據元素的語法分析。
4.如權利要求1所述的模塊,其特征在于,所述變換包括兩個或多個源列的源數據元素的串接。
5.如權利要求1所述的模塊,其特征在于,所述變換包括源列的源數據元素的轉動。
6.如權利要求1所述的模塊,其特征在于,所述變換和關聯對象的每一個是目標列對象之一的兄弟。
7.如權利要求6所述的模塊,其特征在于,所述目標列對象是由目標表格類定義的目標表格對象的兄弟。
8.如權利要求1所述的模塊,其特征在于,包括一ETL生成器方法,它被配置成編程上與服務器的ETL服務模塊進行通信,以基于所述目標、關聯和變換對象配置ETL包。
9.一種儲存在計算機化財務系統(tǒng)的計算機可讀介質上的提取、變換和加載(ETL)設計器模塊,用于配置ETL包,所述模塊包括一定義變換對象的變換類,所述變換對象的每一個負責將財務賬目表格的源列的源數據元素變換成報表表格的相關聯目標列的報表格式。
10.如權利要求9所述的模塊,其特征在于,所述變換包括用預定義的替換元素替換源數據元素的至少一部分。
11.如權利要求9所述的模塊,其特征在于,所述變換包括對源數據元素進行語法分析。
12.如權利要求9所述的模塊,其特征在于,所述變換包括兩個或多個源列的源數據元素的串接。
13.如權利要求9所述的模塊,其特征在于,所述變換包括源列的源數據元素的轉動。
14.計算機化財務系統(tǒng)中,一種配置提取、變換和加載(ETL)包、以將源數據元素從財務數據存儲的財務表格加載到具有預定義格式的報表表格中的方法,所述方法包括以下步驟a)形成一個或多個關聯對象,其每一個標識了與報表表格的目標列相關聯的一個或多個源列;b)形成一變換對象,它定義了至少一個源列的源數據元素從源格式到由所述關聯對象標識的相關聯目標列的報表格式的變換;以及c)生成用于配置ETL包的指令,用于提取源列的源數據元素、依照所述變換對象將源數據元素變換成報表格式、以及依照所述關聯對象將所變換的源數據元素加載到報表數據表格的相關聯的目標列中。
15.如權利要求14所述的方法,其特征在于,所述變換包括用預定義的替換元素替換源數據元素的至少一部分。
16.如權利要求14所述的方法,其特征在于,所述變換包括對源數據元素進行語法分析。
17.如權利要求14所述的方法,其特征在于,所述變換包括兩個或多個源列的源數據元素的串接。
18.如權利要求14所述的方法,其特征在于,所述變換包括源列的源數據元素的轉動。
19.如權利要求14所述的方法,其特征在于,所述形成步驟a)包括接收定義一個或多個源列與預定義目標列的關聯的用戶輸入。
20.如權利要求14所述的方法,其特征在于,所述形成步驟b)包括接收選擇變換的用戶輸入。
21.如權利要求14所述的方法,其特征在于,包括在執(zhí)行所述生成步驟c)之前確認對報表表格的每一目標列已完成了關聯對象的步驟。
全文摘要
一種計算機化財務系統(tǒng)的提取、變換和加載(ETL)設計器模塊,用于配置ETL包以將數據元素從財務數據庫的財務表格加載到依照預定義格式的報表表格中。該ETL設計器模塊包括定義變換對象的變換類。每一變換對象負責將財務表格的源列的源數據元素變換成報表表格的關聯目標列的報表格式。
文檔編號G06F9/44GK1684069SQ200510067380
公開日2005年10月19日 申請日期2005年4月13日 優(yōu)先權日2004年4月13日
發(fā)明者P·J·斯特姆奎斯特 申請人:微軟公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宁城县| 崇阳县| 涟源市| 张家界市| 合水县| 岫岩| 广丰县| 濉溪县| 郴州市| 特克斯县| 玉树县| 焉耆| 佛山市| 永州市| 乡宁县| 唐河县| 峨边| 建德市| 九龙县| 西乌| 翁源县| 富阳市| 塘沽区| 临泽县| 石棉县| 枣阳市| 保山市| 宜兰市| 正安县| 曲沃县| 扶风县| 山丹县| 佛教| 临猗县| 子洲县| 五峰| 汶川县| 正蓝旗| 泽普县| 德清县| 肥城市|