国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      從各個網(wǎng)格單元將數(shù)據(jù)寫回數(shù)據(jù)提供者的制作方法

      文檔序號:6435433閱讀:229來源:國知局
      專利名稱:從各個網(wǎng)格單元將數(shù)據(jù)寫回數(shù)據(jù)提供者的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計算機應(yīng)用,尤其涉及數(shù)據(jù)寫回技術(shù)。
      背景技術(shù)
      公司實體、大學(xué)、公共部門組織、研究設(shè)施等中的信息工作者普遍使用諸如帶有對稱數(shù)據(jù)結(jié)構(gòu)(諸如數(shù)據(jù)透視表(用于數(shù)據(jù)可視化的數(shù)據(jù)概括工具))的電子表格等數(shù)據(jù)網(wǎng)格以及OLAP (在線分析處理)立方體函數(shù)用于業(yè)務(wù)過程分析和決策支持。存在許多這樣的情況業(yè)務(wù)模型中所使用的數(shù)據(jù)值必需由知道數(shù)據(jù)的被授權(quán)用戶手動地輸入,否則該數(shù)據(jù)值不能用于任何自動化的數(shù)據(jù)源。例如,可能不存在跟蹤覆蓋各國特定月份中的游戲系統(tǒng)游戲的媒體文章的數(shù)據(jù)源。不是在電子表格中所創(chuàng)建的所有業(yè)務(wù)模塊都符合數(shù)據(jù)透視表的固定表格式結(jié)構(gòu)。 許多用戶使用數(shù)據(jù)檢索函數(shù)(例如,內(nèi)置OLAP電子表格函數(shù))來創(chuàng)建非對稱視圖和布局。 數(shù)據(jù)寫回功能啟用多個高度期望的業(yè)務(wù)情形來更新所存儲的并且從數(shù)據(jù)分析服務(wù)中檢索到的表格數(shù)據(jù)。許多真實世界寫回情形和單元值更新要求對沒有被組織成數(shù)據(jù)透視表的各個單元更新的支持。由此,期望具有可從任何數(shù)據(jù)網(wǎng)格單元執(zhí)行的數(shù)據(jù)寫回的機制。

      發(fā)明內(nèi)容
      下面提供了簡化的概述,以便提供對此處所描述的一些新穎實施例的基本理解。 本概述不是詳盡的概述,并且它不旨在標(biāo)識關(guān)鍵/重要元素或描繪本發(fā)明的范圍。其唯一的目的是以簡化形式呈現(xiàn)一些概念,作為稍后呈現(xiàn)的更詳細描述的序言。所公開的體系結(jié)構(gòu)提供將數(shù)據(jù)從具有非對稱單元布局的電子表格中寫回至 OLAP(在線分析處理)數(shù)據(jù)提供者的能力。更具體地,該體系結(jié)構(gòu)找出將數(shù)據(jù)寫回處理 UPDATE CUBE (更新立方體)語句的OLAP提供者的適用性。更具體地,在數(shù)據(jù)網(wǎng)格的第一單元中提供用于從立方體來訪問的數(shù)據(jù)的坐標(biāo)。在第二單元,用戶提供期望發(fā)回該立方體的值以及對第一單元中所提供的坐標(biāo)的引用。計算被觸發(fā)以確定在第一單元中所提供的坐標(biāo)處的值與在第二單元中用戶所提供的值是否存在不同。如果存在不同,則使用與第一單元相關(guān)聯(lián)的函數(shù)的屬性并且構(gòu)造UPDATE CUBE (更新立方體)語句。該算法創(chuàng)建發(fā)回用戶所提供的值所必需的代碼。通過將來自能夠包含存有坐標(biāo)的屬性的第一網(wǎng)格單元的引用中的后端數(shù)據(jù)存儲中的原始數(shù)據(jù)值位置的坐標(biāo)與第二單元中新數(shù)據(jù)值集相結(jié)合來構(gòu)造更新語句。在更具體的實現(xiàn)中,通過利用帶有OLAP函數(shù)的電子表格單元的MDX(多維表達式) 屬性、用戶數(shù)據(jù)輸入單元和對應(yīng)的更新觸發(fā)單元解決了該問題,該對應(yīng)的更新觸發(fā)單元包含“觸發(fā)”函數(shù)(例如,用戶定義的函數(shù)(UDF)),該“觸發(fā)”函數(shù)可執(zhí)行實時更新或評估來更新觸發(fā)單元值以便與后續(xù)故意的用戶動作一起工作來提交更新的值。如本文更詳細地描述的,觸發(fā)函數(shù)(例如,UDF)可以(任選地)被參數(shù)化以支持分配規(guī)則(例如,被OLAP立方體支持)。
      為了為實現(xiàn)上述及相關(guān)目的,本文結(jié)合下面的描述和附圖來描述某些說明性方面。這些方面指示了可以實踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護的主題的范圍內(nèi)。結(jié)合附圖閱讀下面的詳細描述,其他優(yōu)點和新穎特征將變得顯而易見。


      圖1示出了根據(jù)所公開的體系結(jié)構(gòu)的計算機實現(xiàn)的寫回系統(tǒng)。圖2示出了根據(jù)所公開的體系結(jié)構(gòu)的采用寫回的一般系統(tǒng)。圖3示出了根據(jù)所公開的體系結(jié)構(gòu)的計算機實現(xiàn)的寫回方法。圖4示出了圖3的方法的其他方面。圖5示出了根據(jù)所公開的體系結(jié)構(gòu)的執(zhí)行寫回的計算系統(tǒng)的框圖。
      具體實施例方式所公開的體系結(jié)構(gòu)提供將數(shù)據(jù)從具有非對稱單元布局的電子表格中寫回至 OLAP(在線分析處理)數(shù)據(jù)提供者的能力。更具體地,該體系結(jié)構(gòu)找出將數(shù)據(jù)寫回處理 UPDATE CUBE (更新立方體)語句的OLAP提供者的適用性。支持UPDATE CUBE (更新立方體)語句的OLAP數(shù)據(jù)源可被配置成接受用戶輸入并且被用于將數(shù)據(jù)從對稱數(shù)據(jù)結(jié)構(gòu)(例如,數(shù)據(jù)透視表)中寫回。由此,所公開的體系結(jié)構(gòu)克服了對要有諸如數(shù)據(jù)透視表等對稱結(jié)構(gòu)來啟用可更新的數(shù)據(jù)寫回的需要。數(shù)據(jù)結(jié)構(gòu)利用帶有OLAP函數(shù)的電子表格單元、用戶數(shù)據(jù)輸入單元、以及對應(yīng)的更新觸發(fā)單元的屬性,該更新觸發(fā)單元包含可執(zhí)行實時更新或評估來更新觸發(fā)單元數(shù)據(jù)值的函數(shù)/UDF(用戶定義的函數(shù)),以便與后續(xù)故意的用戶動作一起工作來提交更新的值。觸發(fā)函數(shù)可被參數(shù)化以支持OLAP立方體所支持的值分配規(guī)則?,F(xiàn)在將參考附圖,全部附圖中相同的附圖標(biāo)記用于表示相同的元件。在下面的描述中,為了進行說明,闡述了很多具體細節(jié)以便提供對本發(fā)明的全面理解。然而,顯而易見, 可以沒有這些具體細節(jié)的情況下實施各新穎實施例。在其它情況下,以框圖形式示出了公知的結(jié)構(gòu)和設(shè)備以便于描述它們。本發(fā)明將涵蓋落入所要求保護的主題的精神和范圍內(nèi)的所有修改、等效方案和替換方案。圖1示出了根據(jù)所公開的體系結(jié)構(gòu)的計算機實現(xiàn)的寫回系統(tǒng)100。系統(tǒng)100包括具有與函數(shù)106 (例如,立方體值函數(shù))相關(guān)聯(lián)的第一單元104 (許多單元中之一)。函數(shù) 106從后端數(shù)據(jù)存儲112(例如,相關(guān)聯(lián)的)的數(shù)據(jù)位置110檢索數(shù)據(jù)值108,并且將數(shù)據(jù)值 108插入第一單元104。系統(tǒng)100還包括寫回組件114,該寫回組件114利用寫回函數(shù)116 來將第二單元120(手寫數(shù)據(jù)輸入單元)的新數(shù)據(jù)值118寫回數(shù)據(jù)存儲112中的數(shù)據(jù)位置 108。寫回組件114從第一單元104獲取包含數(shù)據(jù)位置110的坐標(biāo)的屬性,并且另選地,寫回組件114從第二單元120獲取新數(shù)據(jù)值118。寫回組件114隨后將語句(例如,UPDATE CUBE (更新立方體)語句)寫回提供者(后端數(shù)據(jù)存儲11 以供將新數(shù)據(jù)值118寫回數(shù)據(jù)位置110。盡管被示為在數(shù)據(jù)網(wǎng)格102以外,但寫回函數(shù)116可與數(shù)據(jù)網(wǎng)格102的第三單元 122內(nèi)部地相關(guān)聯(lián)。第一單元104與包含從中檢索數(shù)據(jù)值108的數(shù)據(jù)位置110的坐標(biāo)的屬性(包含定義語句)相關(guān)聯(lián)。新數(shù)據(jù)值118與數(shù)據(jù)輸入單元120相關(guān)聯(lián),并且寫回是響應(yīng)于第一單元 104中的數(shù)據(jù)值108與第二單元120中的新數(shù)據(jù)值118不同而被觸發(fā)的。如先前指示的,寫回組件114與數(shù)據(jù)輸入單元120以及觸發(fā)單元122相關(guān)聯(lián)。觸發(fā)單元122可具有相關(guān)聯(lián)的用戶定義的函數(shù),作為構(gòu)造、確認(rèn)并且在計算期間執(zhí)行更新語句的寫回函數(shù)116?;蛘?、或與之組合,寫回組件114與數(shù)據(jù)輸入單元120和觸發(fā)單元122相關(guān)聯(lián)。觸發(fā)單元122具有相關(guān)聯(lián)的用戶定義的函數(shù),作為構(gòu)造、確認(rèn)并且返回更新觸發(fā)指示的寫回函數(shù)116。寫回組件114利用寫回函數(shù)116來將與第一單元104相關(guān)聯(lián)的屬性的坐標(biāo)以及手動輸入數(shù)據(jù)單元120的新數(shù)據(jù)值118變換成向數(shù)據(jù)存儲112發(fā)送的供新數(shù)據(jù)值118的寫回的語句。該語句可以是與數(shù)據(jù)存儲112兼容的UPDATE CUBE (更新立方體)語句,數(shù)據(jù)存儲112可以是OLAP(在線分析處理)數(shù)據(jù)存儲。數(shù)據(jù)網(wǎng)格102可以是電子表格。換言之,寫回系統(tǒng)包括具有維護單元支持函數(shù)中數(shù)據(jù)值的坐標(biāo)的第一單元的數(shù)據(jù)網(wǎng)格、以及寫回組件,該支持函數(shù)從坐標(biāo)所定義的數(shù)據(jù)存儲的數(shù)據(jù)位置檢索數(shù)據(jù)值并且更新第一單元的數(shù)據(jù)值屬性,該寫回組件利用寫回函數(shù)來將新數(shù)據(jù)值從數(shù)據(jù)輸入單元寫回數(shù)據(jù)存儲中的數(shù)據(jù)位置,該寫回是響應(yīng)于新數(shù)據(jù)值不同于該數(shù)據(jù)值而被實時觸發(fā)的。寫回組件利用寫回函數(shù)來將與第一單元相關(guān)聯(lián)的屬性的坐標(biāo)以及數(shù)據(jù)輸入單元的新數(shù)據(jù)值變換成向數(shù)據(jù)存儲發(fā)送的供新數(shù)據(jù)值的寫回的語句。寫回組件與數(shù)據(jù)輸入單元以及作為構(gòu)造、確認(rèn)并且在計算期間執(zhí)行更新語句的寫回函數(shù)的用戶定義的函數(shù)相關(guān)聯(lián)。 寫回組件與數(shù)據(jù)輸入單元以及作為構(gòu)造、確認(rèn)并且返回更新觸發(fā)指示的寫回函數(shù)的用戶定義的函數(shù)相關(guān)聯(lián)。寫回組件采用可任選地包括作為參數(shù)的分配規(guī)則的函數(shù)。圖2示出了根據(jù)所公開的體系結(jié)構(gòu)的采用寫回的一般系統(tǒng)200。系統(tǒng)200包括數(shù)據(jù)網(wǎng)格102、數(shù)據(jù)分析立方體202以及后端數(shù)據(jù)存儲122(例如相關(guān)聯(lián)的),該數(shù)據(jù)網(wǎng)格可以是電子表格文件(也被稱為工作簿)。數(shù)據(jù)網(wǎng)格102可以是單元可與適用于訪問立方體202 中的數(shù)據(jù)值的立方體函數(shù)相關(guān)聯(lián)的非對稱結(jié)構(gòu)。數(shù)據(jù)網(wǎng)格102還可包括數(shù)據(jù)輸入單元、包含觸發(fā)函數(shù)的單元、以及UDF來構(gòu)造立方體語句。立方體202是能夠支持更新語句(例如, UPDATE CUBE(更新立方體)語句)的OLAP數(shù)據(jù)源。立方體202可以是在單元級受保護的立方體?,F(xiàn)在可更詳細地描述這些和其他細節(jié)。在使用電子表格的常規(guī)實現(xiàn)中,用戶輸入等號(“=”)并且利用立方體值函數(shù)。 第一參數(shù)可以是指向OLAP數(shù)據(jù)提供者的實例的連接參數(shù)。該句法以逗號繼續(xù),之后是啟用特定數(shù)據(jù)值的檢索的維度列表。例如,可作出對2010年5月美國的銷售的請求。一旦閉括號被輸入,則值被接收到指示該時間段的銷售量的單元。使用在以上步驟上建立的所公開的體系結(jié)構(gòu),除了第一存在的單元(立體值函數(shù)單元)以外,用戶還創(chuàng)建并且利用第二單元(手動數(shù)據(jù)輸入單元)。位于相同電子表格文件(通常也被稱為工作簿)中的第二單元不需要但可以與第一單元相鄰。用戶可將用戶感興趣的任何期望的新數(shù)據(jù)值輸入到數(shù)據(jù)輸入單元。在第三單元(觸發(fā)單元)中,用戶創(chuàng)建公式,該公式參考第一單元(帶有立方體值函數(shù))并且檢索兩個項并提供對兩個項的訪問。 一個所檢索的項是從后端數(shù)據(jù)存儲進入電子表格的原始值,在這一示例中為2010年5月的銷售量。第二所檢索的項是通過程序暴露的MDX屬性,該MDX屬性擔(dān)當(dāng)后端數(shù)據(jù)存儲中的值的坐標(biāo),先前被定義成立方體函數(shù)中該數(shù)據(jù)源的第一參數(shù)。屬性包含這些維度。
      該函數(shù)中的第二參數(shù)是用戶(在數(shù)據(jù)輸入單元中)已輸入的值。內(nèi)部上,函數(shù)(也被稱為觸發(fā)函數(shù))評估兩個值(即立方體值函數(shù)中的值與用戶所輸入的值)是否不同或相同。如果不同,則觸發(fā)函數(shù)自動地啟動更新過程。如果沒有不同,則什么都不發(fā)生。與這一觸發(fā)函數(shù)相關(guān)聯(lián)的單元被稱為寫回觸發(fā)單元。更新過程可取決于實現(xiàn)者想要做的事情而變化。例如,更新過程可以是后端數(shù)據(jù)存儲中的實時更新,或該過程可以是對UDF將放入該單元作為該單元的值的指令(也是處理指示)。在這兩種情況下,該過程都可被稱為對更新后端數(shù)據(jù)存儲的觸發(fā)。更具體地,從立方體訪問的數(shù)據(jù)的坐標(biāo)是從一個單元中提供的。在第二單元中,用戶提供期望被輸入回到立方體的值。隨后進行確定是否發(fā)生了改變的計算。如果存在改變, 則使用立方體值函數(shù)(支持函數(shù))的屬性。UPDATE CUBE(更新立方體)語句隨后被生成, 以便進一步創(chuàng)建發(fā)回用戶所提供的值所必須的算法和代碼。更具體地,這是引用能夠包含后端數(shù)據(jù)存儲中數(shù)據(jù)值的坐標(biāo)的單元的更新語句。包含OLAP函數(shù)(例如,CUBEMEMBER (立方成員)、CUBEVALUE (立方體值)、 CUBERANKEDMEMBER (立方體排序的成員)等)(并且沒有評估成錯誤)的單元具有可通過程序訪問的屬性,該屬性包含電子表格確認(rèn)的MDX(多維表達)語句,計算引擎使用該語句來將數(shù)據(jù)從OLAP數(shù)據(jù)源拉到該單元。所返回的屬性不是完整的SELECT(選擇)語句,但可以是看上去類似于以下的元組表達(或定義)([Geography]. [Geography Hierarchy] · &[United States], [Time]. [Time]. [Fiscal Month]·&[July],[KPI]· [Scorecards]· [KPI] ·&[1]&[101],[Measures]· [Actual])當(dāng)使用MDX(多維表達)時,利用這一屬性值以供寫回情形,因為用于數(shù)據(jù)檢索的同一單元的MDX語句也可用于數(shù)據(jù)寫回而無需任何修改。注意到,盡管數(shù)據(jù)檢索不要求用戶將所有立方體維度包括在函數(shù)中以供檢索數(shù)據(jù),但所有維度被用于數(shù)據(jù)寫回。例如,分層結(jié)構(gòu)(Geography Hierarchy (地理分層結(jié)構(gòu)))和平面維度(GeographySecurityManual ( 理安全手動))可用于動態(tài)維度安全。盡管將維度Geograph於ecurityManual包括在 CUBEVALUE函數(shù)中以供數(shù)據(jù)檢索不是必須的,因為該維度拉取相同的值作為地理分層結(jié)構(gòu) (標(biāo)識符是相同的),但維度被包括在UPDATE CUBE(更新立方體)語句中,以避免由跨所排除的維度的所有成員的寫回值的OLAP引擎的可能默認(rèn)分配。關(guān)于創(chuàng)建數(shù)據(jù)寫回的基本UDF,單個OLAP立方體單元的簡單的更新立方體語句看上去可與以下類似
      UPDATE CUBE [ManualCube] SET (.[Geography Hierarchy].&[United States], [Time]. [Time]. [Fiscal Month] .&[ July],[KPI] .[Scorecards]. [KPI] .&[1]&[101], [Measures]. [Actual] )=1000;可在寫回觸發(fā)單元中使用UDF來構(gòu)造、確認(rèn)、以及或是在計算期間執(zhí)行更新語句或是返回更新觸發(fā)指示。展示該概念的OLAP寫回UDF的最簡單的設(shè)置可僅具有兩個參數(shù),并且返回UPDATE CUBE (更新立方體)語句的成功或失敗。該參數(shù)包括對包含CUBEVALUE (立方體值)函數(shù)的源單元的引用以及對手動數(shù)據(jù)輸入單元的引用(例如=CubeffriteBack(H20,E20))oUDF后的代碼檢查MDX屬性在所引用的源單元(在上面的示例中為H20)中的存在,確認(rèn)手動輸入單元(在該示例中為E20)不為空,評估兩個所引用的單元的值的等同性, 以及如果值不相等則構(gòu)造并且執(zhí)行UPDATE CUBE (更新立方體)語句。此時將不進行永久更新(例如,直到之后是在相同用戶會話中所執(zhí)行的COMMIT TRANSACTION(提交交易)語句)。UDF獲取與所嘗試的更新的結(jié)果有關(guān)的OLAP數(shù)據(jù)源響應(yīng)。這一響應(yīng)在UDF代碼中被評估并且結(jié)果被放在觸發(fā)單元中,以向用戶通知單元值更新操作的成功或失敗。基于觸發(fā)單元的寫回的替換技術(shù)是通過創(chuàng)建批量執(zhí)行更新語句的基于指示的 OLAP數(shù)據(jù)源寫回UDF。為支持批量更新情形,UDF不在計算期間執(zhí)行更新語句,而是評估可針對由另一過程所使用的指示。該指示包含指示批量更新過程使用包含在觸發(fā)單元中的信息以在通過程序建立更新語句的指令。一旦用戶完成了作出手動數(shù)據(jù)輸入并且決定提交該數(shù)據(jù),就可向用戶提供請求批量更新過程的用戶界面(UI)選項?;谥甘镜腛LAP寫回UDF利用兩個單元引用作為參數(shù),但是寫回指示被返回,而不是在單元計算期間發(fā)放更新語句。兩個引用包括對包含CUBEVALUE函數(shù)的源單元的引用以及對手動數(shù)據(jù)輸入單元的引用?!霸谟|發(fā)單元指示中”版本的寫回函數(shù)=CubeffriteBack(H20, E20)可返回表示處理指示的以下值#"UPDATE I MDXRetention ! $H$20 | MDXRetention ! $E$20,,·這是包含三部分的管道定界指示。指示的第一部分=UPDATE (更新),指示批量更新過程發(fā)放UPDATE CUBE (更新立方體)語句。第二部分包含擔(dān)當(dāng)MDX語句的源的單元引用。第三部分是包含數(shù)據(jù)源中用戶想要更新的新值的單元引用。#"No Update from =MDXRetention ! $H$20 (MDXRetention ! $H$20 中沒有更新)”其中單元H20是帶有立方體函數(shù)的單元,MDX屬性及其單元值等于用戶輸入單元值 (在該示例中為E20)。 如果手動輸入單元E20為空或存有某一其他非數(shù)字值,則可返回“Input Range is Not Numeric !(輸入范圍不是數(shù)字!)”。 如果單元H20不具有有效的MDX屬性,則可返回“Value Range doesn ‘ t contain valid MDX !(值范圍不包含有效MDX !) ”。在除第一種情況以外的所有情況下,批量更新過程不將觸發(fā)單元包括在更新語句建立過程中。
      以下是返回指示的觸發(fā)單元UDF的樣本代碼 CubeffriteBack User-Defined Function (立方體寫回用戶定義函數(shù))Function CubeffriteBack(valTestRange As Variant, inputRange As Variant) As StringDim InputCell As RangeDim ValueCell As Range‘測試有效數(shù)據(jù)范圍輸入On Error GoTo ICellRangeErrorHandlerSet InputCell = inputRange‘測試有效測試值范圍輸入On Error GoTo VCe11RangeErrorHandlerSet ValueCell = valTestRange‘范圍無效‘需要確認(rèn)在OLAP立方體更新語句中所使用的測試值單元中的MDXOn Error GoTo ErrorHandler‘確認(rèn)兩個范圍都僅包含一個單元
      IflnputCell.Cells.Count〉1 Then
      CubeWriteBack = "Input Range contains multiple cells!(輸入范圍
      包含多個單元!)“
      Exit Function End If
      IfValueCell.Cells.Count> 1 Then
      CubeWriteBack 二 "Value Range contains multiple cells!(輸入范圍
      包含多個單元!)“
      Exit Function End If‘確認(rèn)用戶輸入為數(shù)字IfNot (IsNumeric(InputCell.Value)) Or _ IsEmpty(InputCell) Then
      CubeWriteBack = "Input Range is Not Numeric!(輸入范圍不是數(shù)
      ?
      Exit Function End If
      確認(rèn)在值測試范圍中MDX的存在
      IfLen(ValueCell.MDX) 二 0 Then
      CubeWriteBack = "Value Range doesn't contain valid MDX!(值范圍不包含有效MDX!) ’’ Exit Function End If‘ TODO :為性能首先移動此?評估!
      IfInputCell = ValueCell Then
      CubeWriteBack = "No Update from: “ & InputCell.Worksheet.Name & "!" & InputCell.Address Else
      TODO這里建立更新語句? ‘修改8/4/09以防止可能返回的MDX攻擊
      CubeWriteBack = "UPDATEf & InputCell.Worksheet.Name & "!“ & InputCell.Address & & _
      ValueCell.Worksheet.Name & "!“ & ValueCell.Address ’&
      & InputCell.Value
      'ValueCelLMDX & “丨“& InputCell.Value & “丨“& AllocRule TODO這里處理更新 End If
      Exit Function丨錯誤處理程序ICellRangeErrorHandler:
      CubeWriteBack = inputRange & “ is not a valid range!(不是有效范圍!)
      Exit Function VCellRangeErrorHandler:
      CubeWriteBack = valTestRange & “ is not a valid range!(不是有效范
      圍!)“
      Exit Function ErrorHandler:
      CubeWriteBack = "#N/A" End Function 基于指示的更新語句可通過在每一工作簿的表上所使用的范圍中掃描所有單元來構(gòu)造。如果該過程發(fā)現(xiàn)單元包含CubefeiteBack(單元寫回)函數(shù),則該過程檢查單元值是否包含更新指示并且建立累積更新語句。以下是樣本代碼片段
      氺‘建立更新語句的函數(shù)
      氺氺氺
      Function GetAllUpdate Statements() As StringDim strMDX As String Dim rangeAddress As String Dim rangeWithUpdate As Range Dim wks As Worksheet Dim cubeName As String
      For Each wks In This Workbook. Worksheets
      Set rangeWithUpdate = GetRangeForUpdate(wks)
      IfNot rangeWithUpdate Is Nothing Then
      rangeAddress = range WithUpdate.Address
      strMDX = strMDX & ConstructUpdates(rangeWithUpdate)
      End If
      Next 如果不存在要發(fā)送的更新語句,則中止更新
      IfLen(strMDX) = 0 Then Exit Function cubeName = Range("CUBE_NAME")
      GetAllUpdateStatements = "UPDATE CUBE [M & cubeName & ··] SET " GetAllUpdateStatements = GetAllUpdateStatements & strMDX
      ’執(zhí)行清除
      If Right(GetAllUpdateStatements, 3) = "," & vbCr & vbCr Then
      GetAllUpdateStatements = Left(GetAllUpdateStatements,Len(GetAllUpdateStatements) - 3) & ";·· End If
      End Function
      氺氺氺‘用于檢索包含OLAP更新的值的單元范圍的函數(shù)
      氺氺氺Function GetRangeForUpdate(wks As Worksheet)As RangeDim rangeffithCWBFunc As RangeDim rCell As RangeDim i As Integer‘迭代通過每一單元以獲得包含CWBOLAP更新函數(shù)的所有單元的列表fech rCellIn wks. UsedRange. Cells‘收集包含UDF的所有單元
      IfInStr(rCell.Formula, "CubeWriteBack") > 0 Then
      Testing to see if the range contains UPDATE directive If Not Left(rCell.Value, 7) = ’’UPDATE|" Then GoTo
      SkipRange‘添加到要更新的收集單元
      IfNot rangeWithC WBFunc Is Nothing ThenSetrangeWithCWBFunc
      Application.Union(rangeWithCWBFunc, rCell)
      Else
      Set rangeWithCWBFunc = rCell End If
      End If
      SkipRange:
      Next
      ‘返回范圍
      Set GetRangeForUpdate 二 rangeWithCWBFunc End Function氺氺氺氺氺氺氺氺氺氺氺氺‘用于構(gòu)造更新語句串的函數(shù)氺氺氺氺氺氺氺氺氺氺氺氺Function ConstUpctUpdates(updateRange As Range)Dim rCell As RangeDim updateStatement As StringDim params () As StringFor Each rCell In updateRange‘使用GetUpdateMatement(獲得更新語句)來拆分和處理‘在這里添加提交交易?params = Split(rCell.Value,
      updateStatement=update Statement&
      GetUpdateStatement(Range(params( 1)), Range(params(2))) & & vbCr & vbCr
      Next
      ConstructUpdates = updateStatement End Function‘用于建立個別OLAP更新語句的函數(shù)Function GetUpdateStatement(valueRange As Range, mdxRange As Range)As StringGetUpdateStatement = mdxRange. MDX‘修改12/18/09以解決非美國地點的十進制分隔符丨valueRange(值范圍)已被UDF確認(rèn)為數(shù)字,因此對逗號的直線替換是有效的GetUpdateStatement= GetUpdateStatement& “ =〃 &R印lace (valueRange. Value,〃,〃,"."、End Function....用于更新兩個單元中所輸入的值的所得語句可能看上去與以下類似(注意到個別的值更新片段被逗號分開)UPDATE CUBE[ManualCube]SET([Geography]. [Geography Hierarchy] ·&[United States], [Time]. [Time]. [FiscalMonth]·&[July],[Measures]· [Actual],[KPI] · [KPI Name]·&[1]&[101]) =9280,([Geography]. [Geography Hierarchy]·&[779], [Measures]. [Actual], [KPI]. [KPIName]·&[1]&[101],[Time], [Time], [Fiscal Month].&[July]) = 9681 ;UPDATE CUBE(更新立方體)語句支持分配準(zhǔn)則。最終用戶將分配準(zhǔn)則參數(shù)包括在 UDF中。支持分配準(zhǔn)則的UDF可引用將包含分配準(zhǔn)則的串的命名范圍。例如= CubeffriteBack (Jl 102, El 102,USE_EQUAL_ALL0CAT I ON),其中,USE_EQUAL_ALL0CATI0N是包含串 USE_EQUAL_ALL0CATI0N 的命名范圍。命名范圍引用能夠支持更復(fù)雜(非恒定)的分配準(zhǔn)則,諸如USE_WEIGHTED_ALL0CATI0N BY...以及USE WEIGHTED INCREMENT BY...,其中復(fù)雜分配準(zhǔn)則可在單個單元被定義一次,并且可通過引用該單元來在許多數(shù)據(jù)寫回觸發(fā)單元中使用。來自以上示例的帶有簡單相等的分配準(zhǔn)則的所得更新語句可看上去與以下類似.[Time].[Fiscal Quarter].&[Q 1-2011], [KPI]. [Scorecards]. [KPI] &[1]&[101], [Measures]. [Actual] )=8228 USE—EQUAL—ALLOCATION;當(dāng)采用基于觸發(fā)單元的寫回方法時,用于數(shù)據(jù)檢索的相同語句(例如MDX)還用于數(shù)據(jù)寫回,從而使得數(shù)據(jù)網(wǎng)格(例如電子表格)設(shè)置更簡單并且由此更不易出錯。另外地,除了支持自由形式網(wǎng)格布局(非對稱)以外,基于單元級的OLAP寫回方法還允許網(wǎng)格的作者構(gòu)造復(fù)雜語句以供高級數(shù)據(jù)檢索和寫回情形。例如,對于特定度量的數(shù)據(jù)不必卷起到下一分層結(jié)構(gòu)級的情形,用戶可構(gòu)造CUBEVALUE函數(shù)來直接寫回到.DATAMEMBER(數(shù)據(jù)成員)。在若干情況下,用戶可輸入不卷起到其他分層結(jié)構(gòu)成員的任意百分比目標(biāo)。通過將以下CUBEVALUE函數(shù)輸入到源單元來容易地使用這一情形= CUBEVALUE (ConnectionFile, “ [Geography], [Geography Hierarchy]·&[“ &GeoID& 〃 ]· DATAMEMBER〃,“ [GeographySecurityFlatFile]. [Geo graphy Security FlatFile]·&[“ &GeoID&〃 ] 〃, E$9, $C 11, Time, Currency, Forecast, DS, Customer)這一單元的MDX數(shù)據(jù)可看上去與以下類似([Geography], [Geography Hierarchy] ·&[United States].DATAMEMBER, [Measures]. [Actual], [KPI], [KPI Name] ·&[1]&[10 1 ], [Time]· [Time]· [FiscalMonth]· &[July])更新語句直接針對該分層結(jié)構(gòu)成員來寫該單元值。所公開的寫回方法還允許用單元引用來對布局更強大的控制。業(yè)務(wù)用戶可具有對手動數(shù)據(jù)輸入表的專用引用,這使用單元引用是容易實現(xiàn)的。帶有用另一單元中的等號 (“=”)來引用的CUBE(立方體)函數(shù)的任何單元繼承父單元的屬性。作為一般概述,CUBE函數(shù)結(jié)合觸發(fā)單元UDF以及支持UPDATE CUBE (更新立方體) 語句的OLAP數(shù)據(jù)源可使得帶有復(fù)雜公式驅(qū)動的業(yè)務(wù)規(guī)則的電子表格成為具有實時協(xié)作的數(shù)據(jù)輸入工具。高級情形包括分配、寫或修改分層結(jié)構(gòu)的特定成員的值等。如果用戶可以寫MDX語句,則觸發(fā)單元UDF允許用戶將該語句寫回數(shù)據(jù)源并使其對該數(shù)據(jù)源的所有用戶實時可用。此處所包括的是一組代表用于執(zhí)行所公開的體系結(jié)構(gòu)的新穎方面的示例性方法的流程圖。盡管出于解釋簡明的目的,此處例如以流圖或流程圖形式示出的一個或多個方
      16法被示出并描述為一系列動作,但是可以理解和明白,各方法不受動作的次序的限制,因為根據(jù)本發(fā)明,某些動作可以按與此處所示并描述的不同的次序和/或與其它動作同時發(fā)生。例如,本領(lǐng)域技術(shù)人員將會明白并理解,方法可被替換地表示為一系列相互關(guān)聯(lián)的狀態(tài)或事件,諸如以狀態(tài)圖的形式。此外,并非在方法中示出的所有動作都是新穎實現(xiàn)所必需的。圖3示出了根據(jù)所公開的體系結(jié)構(gòu)的計算機實現(xiàn)寫回方法。在300處,接收數(shù)據(jù)網(wǎng)格的第一單元,所述第一單元具有數(shù)據(jù)值。在302處,在從中檢索該數(shù)據(jù)值的數(shù)據(jù)存儲中與第一單元相關(guān)聯(lián)地維護數(shù)據(jù)位置的坐標(biāo)。在304處,將新數(shù)據(jù)值插入第二單元。在306 處,檢查該數(shù)據(jù)值與新數(shù)據(jù)值的不同。在308處,響應(yīng)于所檢測的不同,自動地執(zhí)行將新數(shù)據(jù)值寫回數(shù)據(jù)位置。圖4示出了圖3的方法的其他方面。注意,該箭頭標(biāo)向指示每一個框表示可被單獨地或與其他框組合地且作為圖3的流程圖所表示的方法的附加方面來包括的步驟。在 400處,使用UPDATE CUBE(更新立方體)語句來執(zhí)行到數(shù)據(jù)立方體的寫回。在402處,使用寫回函數(shù)來執(zhí)行新數(shù)據(jù)值到數(shù)據(jù)位置的寫回,該寫回函數(shù)至少將坐標(biāo)以及新數(shù)據(jù)值作為輸入。在404處,使用與數(shù)據(jù)存儲兼容的語句來執(zhí)行寫回,該數(shù)據(jù)存儲是OLAP數(shù)據(jù)存儲。在 406處,用戶定義的函數(shù)與構(gòu)造、確認(rèn)并在計算過程期間執(zhí)行更新語句的第二單元相關(guān)聯(lián)。 在408處,用戶定義的函數(shù)與構(gòu)造、確認(rèn)并返回寫回指示的第二單元相關(guān)聯(lián)。在410處,結(jié)合更新語句來提交交易。如在本申請中所使用的,術(shù)語“組件”和“系統(tǒng)”旨在表示計算機相關(guān)的實體,其可以是硬件、硬件和軟件的組合、軟件、或者執(zhí)行中的軟件。例如,組件可以是,但不限于,諸如處理器、芯片存儲器、大容量存儲設(shè)備(例如,光驅(qū)、固態(tài)驅(qū)動器、和/或磁存儲介質(zhì)驅(qū)動器)、以及計算機等有形組件,以及諸如運行在處理器上的進程、對象、可執(zhí)行碼、(存儲在易失性或非易失性存儲介質(zhì)上的)數(shù)據(jù)結(jié)構(gòu)、模塊、執(zhí)行的線程和/或程序等軟件組件。作為說明,在服務(wù)器上運行的應(yīng)用程序和該服務(wù)器兩者都可以是組件。一個或多個組件可以駐留在進程和/或執(zhí)行的線程內(nèi),并且組件可以位于一個計算機上和/或分布在兩個或更多的計算機之間。詞語“示例性”此處可用于表示用作示例、實例或說明。在此被描述為“示例性”的任何方面或設(shè)計并不一定要被解釋為相比其他方面或設(shè)計更優(yōu)選或有利?,F(xiàn)在參考圖5,示出了執(zhí)行根據(jù)所公開的體系結(jié)構(gòu)的寫回的計算系統(tǒng)500的框圖。 為了提供用于其各方面的附加上下文,圖5及以下討論旨在提供對其中可實現(xiàn)各方面的合適的計算系統(tǒng)500的簡要概括描述。盡管以上描述是在可在一個或多個計算機上運行的計算機可執(zhí)行指令的一般上下文中進行的,但是本領(lǐng)域的技術(shù)人員將認(rèn)識到,新穎實施例也可結(jié)合其它程序模塊和/或作為硬件和軟件的組合來實現(xiàn)。用于實現(xiàn)各方面的計算系統(tǒng)500包括計算機502,其具有處理單元504、諸如系統(tǒng)存儲器506等的計算機可讀存儲、以及系統(tǒng)總線508。處理單元504可以是各種市場上可買到的處理器中的任一種,諸如單處理器、多處理器、單核單元以及多核單元等。此外,本領(lǐng)域的技術(shù)人員將明白,各新穎方法可用其它計算機系統(tǒng)配置來實施,包括小型計算機、大型計算機、以及個人計算機(例如、臺式、膝上型等)、手持式計算設(shè)備、基于微處理器的或可編程消費電子產(chǎn)品等,其每一個都可在操作上耦合到一個或多個相關(guān)聯(lián)的設(shè)備。系統(tǒng)存儲器506可包括計算機可讀存儲(物理存儲介質(zhì)),如易失性(VOL)存儲器510(例如,隨機存取存儲器(RAM))和非易失性存儲器(NON-VOL) 512(如ROM、EPR0M、 EEPROM等)?;据斎?輸出系統(tǒng)¢10 可以被存儲在非易失性存儲器512中,并且包括諸如在啟動期間便于在計算機502內(nèi)的組件之間傳遞數(shù)據(jù)和信號的基本例程。易失性存儲器510還可以包括諸如靜態(tài)RAM等高速RAM來用于高速緩存數(shù)據(jù)。系統(tǒng)總線508提供了用于包括,但不限于系統(tǒng)存儲器506的系統(tǒng)組件對處理單元 504的接口。系統(tǒng)總線508可以是若干種總線結(jié)構(gòu)中的任一種,這些總線結(jié)構(gòu)還可使用各類可購買到的總線體系結(jié)構(gòu)中的任一種互連到存儲器總線(帶有或沒有存儲器控制器)以及外圍總線(例如,PCI, PCIe, AGP, LPC等)。計算機502還包括用于機器可讀存儲子系統(tǒng)514以及將存儲子系統(tǒng)514接口到系統(tǒng)總線508和其他所需計算機組件的存儲接口 516。存儲子系統(tǒng)514(物理存儲介質(zhì))可包括例如硬盤驅(qū)動器(HDD)、磁軟盤驅(qū)動器(FDD)和/或光盤存儲驅(qū)動器(例如,CD-ROM驅(qū)動器、DVD驅(qū)動器)中的一種或多種。存儲接口 516可以包括諸如,例如EIDE、ATA、SATA和 IEEE 1394等接口技術(shù)。一個或多個程序和數(shù)據(jù)可被存儲在存儲器子系統(tǒng)506、機器可讀和可移動存儲器子系統(tǒng)518(例如,閃存驅(qū)動器形狀因子技術(shù))和/或存儲子系統(tǒng)514(例如,光、磁、固態(tài)) 中,包括操作系統(tǒng)520、一個或多個應(yīng)用程序522、其他程序模塊524以及程序數(shù)據(jù)526。一個或多個應(yīng)用程序522、其他程序模塊5 以及程序數(shù)據(jù)5 可包括例如圖1的系統(tǒng)100的實體和組件、圖2的系統(tǒng)200的實體和組件以及圖3和圖4的流程圖所表示的方法。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、方法、數(shù)據(jù)結(jié)構(gòu)、其它軟件組件等。操作系統(tǒng)520、應(yīng)用程序522、模塊5M和/或數(shù)據(jù)526的全部或部分也可以被高速緩存在諸如易失性存儲器510等存儲器中。應(yīng)當(dāng)明白,所公開的體系結(jié)構(gòu)可以用各種市場上可購得的操作系統(tǒng)或操作系統(tǒng)的組合(例如,作為虛擬機)來實現(xiàn)。存儲子系統(tǒng)514和存儲器子系統(tǒng)(506和518)用作用于數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)、計算機可執(zhí)行指令等的易失性和非易失性存儲的計算機可讀介質(zhì)。這些指令當(dāng)由計算機或其他機器執(zhí)行時,可使得計算機或其他機器執(zhí)行方法的一個或多個動作。執(zhí)行動作的指令可被存儲在一個介質(zhì)上,或者可跨多個介質(zhì)存儲,使得指令共同出現(xiàn)在一個或多個計算機可讀存儲介質(zhì)上,而不管所有指令是否都在同一介質(zhì)上。計算機可讀介質(zhì)可以是可由計算機502訪問的任何可用介質(zhì),且包括易失性和非易失性、可移動和不可移動的內(nèi)部和/或外部介質(zhì)。對于計算機502,介質(zhì)容納適當(dāng)?shù)臄?shù)字格式的數(shù)據(jù)的存儲。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可使用其他類型的計算機可讀介質(zhì),如 zip驅(qū)動器、磁帶、閃存卡、閃存驅(qū)動器、磁帶盒等來存儲用于執(zhí)行所公開的體系結(jié)構(gòu)的新穎方法的計算機可執(zhí)行指令。用戶可以使用諸如鍵盤和鼠標(biāo)等外部用戶輸入設(shè)備5 來與計算機502、程序和數(shù)據(jù)交互。其它外部用戶輸入設(shè)備5 可以包括話筒、IR(紅外)遙控器、操縱桿、游戲手柄、照相機識別系統(tǒng)、指示筆、觸摸屏、姿勢系統(tǒng)(例如,眼移動、頭移動等)和/或類似物。 在計算機502是例如便攜式計算機的情況下,用戶可以使用諸如觸摸墊、話筒、鍵盤等板載用戶輸入設(shè)備530來與計算機502、程序和數(shù)據(jù)交互。這些和其他輸入設(shè)備通過輸入/輸出 (I/O)設(shè)備接口 532經(jīng)由系統(tǒng)總線508連接到處理單元504,但也可通過其他接口連接,如并行端口、IEEE 1394串行端口、游戲端口、USB端口、IR接口、近程無線(例如,藍牙)以及其他個人區(qū)域網(wǎng)(PAN)技術(shù)等等。I/O設(shè)備接口 532還便于使用輸出外圍設(shè)備534,諸如打印機、音頻設(shè)備、照相機設(shè)備等,諸如聲卡和/或板載音頻處理能力。一個或多個圖形接口 536(通常也稱為圖形處理單元(GPU))提供計算機502和外部顯示器538(例如,LCD、等離子)和/或板載顯示器MO (例如,對于便攜式計算機)之間的圖形和視頻信號。圖形接口 536也可作為計算機系統(tǒng)板的一部分來制造。計算機502可以使用經(jīng)由有線/無線通信子系統(tǒng)542到一個或多個網(wǎng)絡(luò)和/或其他計算機的邏輯連接在聯(lián)網(wǎng)環(huán)境(例如,基于IP的)中操作。其他計算機可包括工作站、 服務(wù)器、路由器、個人計算機、基于微處理器的娛樂設(shè)備、對等設(shè)備或其他常見的網(wǎng)絡(luò)節(jié)點, 并且通常包括以上相對于計算機502描述的許多或所有元件。邏輯連接可以包括到局域網(wǎng) (LAN)、廣域網(wǎng)(WAN)、熱點等的有線/無線連接。LAN和WAN聯(lián)網(wǎng)環(huán)境常見于辦公室和公司, 并且方便了諸如內(nèi)聯(lián)網(wǎng)等企業(yè)范圍計算機網(wǎng)絡(luò),所有這些都可連接到諸如因特網(wǎng)等全球通信網(wǎng)絡(luò)。當(dāng)在聯(lián)網(wǎng)環(huán)境中使用時,計算機502經(jīng)由有線/無線通信子系統(tǒng)542 (例如,網(wǎng)絡(luò)接口適配器、板載收發(fā)機子系統(tǒng)等)連接到網(wǎng)絡(luò)來與有線/無線網(wǎng)絡(luò)、有線/無線打印機、 有線/無線輸入設(shè)備544等通信。計算機502可包括用于通過網(wǎng)絡(luò)建立通信的調(diào)制解調(diào)器或其他裝置。在聯(lián)網(wǎng)環(huán)境中,相對于計算機502的程序和數(shù)據(jù)可以被存儲在遠程存儲器/ 存儲設(shè)備中,如與分布式系統(tǒng)相關(guān)聯(lián)。應(yīng)當(dāng)明白,所示網(wǎng)絡(luò)連接是說明性的,并且可以使用在計算機之間建立通信鏈路的其它手段。計算機502可以用于使用諸如IEEE 802. xx標(biāo)準(zhǔn)家族等無線電技術(shù)來與有線/ 無線設(shè)備或?qū)嶓w通信,例如在操作上安置在與例如打印機、掃描儀、臺式和/或便攜式計算機、個人數(shù)字助理(PDA)、通信衛(wèi)星、任何一件與無線可檢測標(biāo)簽相關(guān)聯(lián)的設(shè)備或位置(例如,電話亭、報亭、休息室)以及電話的無線通信(例如,IEEE 802. 11空中調(diào)制技術(shù))中的無線設(shè)備。這至少包括用于熱點的Wi-Fi (即無線保真)、WiMax和藍牙TM無線技術(shù)。由此,通信可以是如對于常規(guī)網(wǎng)絡(luò)那樣的預(yù)定義結(jié)構(gòu),或者僅僅是至少兩個設(shè)備之間的自組織(adhoc)通信。Wi-Fi網(wǎng)絡(luò)使用稱為IEEE 802. llx(a、b、g等等)的無線電技術(shù)來提供安全、可靠、快速的無線連接。Wi-Fi網(wǎng)絡(luò)可以用于將計算機彼此連接、連接到因特網(wǎng)以及連接到有線網(wǎng)絡(luò)(使用IEEE 802. 3相關(guān)介質(zhì)和功能)。所示和所描述的各方面可以在其中某些任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠程處理設(shè)備來執(zhí)行的分布式計算環(huán)境中實施。在分布式計算環(huán)境中,程序模塊可以位于本地和/或遠程存儲器和/或存儲設(shè)備中。以上描述的包括所公開的體系結(jié)構(gòu)的各示例。當(dāng)然,描述每一個可以想到的組件和/或方法的組合是不可能的,但本領(lǐng)域內(nèi)的普通技術(shù)人員可以認(rèn)識到,許多其它組合和排列都是可能的。因此,該新穎體系結(jié)構(gòu)旨在涵蓋所有這些落入所附權(quán)利要求書的精神和范圍內(nèi)的更改、修改和變化。此外,就在詳細描述或權(quán)利要求書中使用術(shù)語“包括”而言,這一術(shù)語旨在以與術(shù)語“包含”在被用作權(quán)利要求書中的過渡詞時所解釋的相似的方式為包含性的。
      權(quán)利要求
      1.一種計算機實現(xiàn)的寫回系統(tǒng)(100),具有存儲由處理器執(zhí)行的可執(zhí)行指令的計算機可讀介質(zhì),所述系統(tǒng)包括具有與函數(shù)相關(guān)聯(lián)的第一單元的數(shù)據(jù)網(wǎng)格(102),所述函數(shù)從后端數(shù)據(jù)存儲中檢索數(shù)據(jù)值,并且將所述數(shù)據(jù)值插入所述第一單元;以及利用寫回函數(shù)來將新數(shù)據(jù)值寫回所述數(shù)據(jù)存儲中的數(shù)據(jù)位置的寫回組件(114)。
      2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述第一單元與包含從中檢索所述數(shù)據(jù)值的數(shù)據(jù)位置的坐標(biāo)的屬性相關(guān)聯(lián)。
      3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述新數(shù)據(jù)值與數(shù)據(jù)輸入單元相關(guān)聯(lián),并且寫回是響應(yīng)于所述第一單元中的數(shù)據(jù)值不同于所述數(shù)據(jù)輸入單元中的新數(shù)據(jù)值而被觸發(fā)的。
      4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述寫回組件與所述數(shù)據(jù)輸入單元和觸發(fā)單元相關(guān)聯(lián),所述觸發(fā)單元與用戶定義的函數(shù)相關(guān)聯(lián),該用戶定義的函數(shù)作為構(gòu)造、確認(rèn)并在計算期間執(zhí)行更新語句的所述寫回函數(shù)。
      5.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述寫回組件與所述數(shù)據(jù)輸入單元和觸發(fā)單元相關(guān)聯(lián),所述觸發(fā)單元與用戶定義的函數(shù)相關(guān)聯(lián),該用戶定義的函數(shù)作為構(gòu)造、確認(rèn)并返回更新觸發(fā)指示的所述寫回函數(shù)。
      6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述寫回組件利用所述寫回函數(shù)來將與所述第一單元相關(guān)聯(lián)的屬性的坐標(biāo)和手動數(shù)據(jù)輸入單元的新數(shù)據(jù)值變換成向所述數(shù)據(jù)存儲發(fā)送的供對所述新數(shù)據(jù)值的寫回的語句。
      7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述語句是更新立方體語句,所述更新立方體語句與所述數(shù)據(jù)存儲兼容,所述數(shù)據(jù)存儲是OLAP (在線分析處理)數(shù)據(jù)存儲。
      8.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述數(shù)據(jù)網(wǎng)格是電子表格。
      9.一種由處理器執(zhí)行的計算機實現(xiàn)的寫回方法,包括接收數(shù)據(jù)網(wǎng)格的第一單元,所述第一單元具有數(shù)據(jù)值(300);在從中檢索所述數(shù)據(jù)值的數(shù)據(jù)存儲中與所述第一單元相關(guān)聯(lián)地維護數(shù)據(jù)位置的坐標(biāo) (302);將新數(shù)據(jù)值插入第二單元(304);檢查所述數(shù)據(jù)值和所述新數(shù)據(jù)值之間的不同(306);以及響應(yīng)于所檢測的不同,自動地執(zhí)行將所述新數(shù)據(jù)值寫回所述數(shù)據(jù)位置(308)。
      10.如權(quán)利要求9所述的方法,其特征在于,還包括使用更新立方體語句來執(zhí)行到數(shù)據(jù)立方體的寫回。
      11.如權(quán)利要10所述的方法,其特征在于,還包括使用寫回函數(shù)來將所述新數(shù)據(jù)值寫回到所述數(shù)據(jù)位置,所述寫回函數(shù)至少將所述坐標(biāo)以及所述新數(shù)據(jù)值作為輸入。
      12.如權(quán)利要求9所述的方法,其特征在于,還包括使用與所述數(shù)據(jù)存儲兼容的語句來執(zhí)行所述寫回,所述數(shù)據(jù)存儲是OLAP數(shù)據(jù)存儲。
      13.如權(quán)利要求9所述的方法,其特征在于,還包括將用戶定義的函數(shù)與構(gòu)造、確認(rèn)并在計算過程中執(zhí)行更新語句的第二單元相關(guān)聯(lián)。
      14.如權(quán)利要求9所述的方法,其特征在于,還包括將用戶定義的函數(shù)與構(gòu)造、確認(rèn)并返回寫回指示的第二單元相關(guān)聯(lián)。
      15.如權(quán)利要求9所述的方法,其特征在于,還包括結(jié)合更新語句提交交易。
      全文摘要
      本發(fā)明涉及從各個網(wǎng)格單元將數(shù)據(jù)寫回數(shù)據(jù)提供者。提供用于將數(shù)據(jù)寫回后端數(shù)據(jù)存儲的非對稱的數(shù)據(jù)方法的體系結(jié)構(gòu)。實現(xiàn)了從網(wǎng)格單元到處理更新立方體語句的數(shù)據(jù)提供者(例如,OLAP(在線分析處理))的寫回。在第一單元中提供用于從該立方體來訪問的數(shù)據(jù)的坐標(biāo)。在第二單元,用戶提供期望發(fā)回該立方體的值以及對包含數(shù)據(jù)值坐標(biāo)屬性的第一單元的引用。計算被觸發(fā)以確定第一單元中所提供的坐標(biāo)處的值與第二單元中用戶供應(yīng)的值是否存在不同。如果存在不同,則與第一單元相關(guān)聯(lián)的立方體值函數(shù)被用于構(gòu)造更新立方體語句,以便將用戶提供的值發(fā)會由坐標(biāo)所定義的數(shù)據(jù)位置。
      文檔編號G06F9/44GK102402434SQ20111030861
      公開日2012年4月4日 申請日期2011年9月29日 優(yōu)先權(quán)日2010年9月30日
      發(fā)明者P·T·蒙特馬約爾, S·桑特古達, S·貢多羅夫 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1