專(zhuān)利名稱(chēng):用于將工作簿展現(xiàn)為數(shù)據(jù)源的方法、系統(tǒng)和裝置的制作方法
相關(guān)申請(qǐng)本申請(qǐng)與申請(qǐng)?zhí)枮?0/858,175于2004年6月1日提交的題為“Method,Systemand Apparatus for Exposing Workbook Ranges As Data Sources”(“用于將工作簿范圍展現(xiàn)為數(shù)據(jù)源的方法、系統(tǒng)和裝置”)的美國(guó)專(zhuān)利申請(qǐng)相關(guān),該申請(qǐng)?jiān)诖嗣鞔_引入作為參考。
背景技術(shù):
在建立工作簿時(shí),電子制表軟件程序的用戶(hù)常常利用來(lái)自眾多不同源的數(shù)據(jù)。例如,當(dāng)在一電子制表應(yīng)用程序中創(chuàng)建一工作簿時(shí),可手動(dòng)地將數(shù)據(jù)輸入工作簿,或可通過(guò)在關(guān)系數(shù)據(jù)庫(kù)或在線分析處理(OLAP)立方體上執(zhí)行查詢(xún)來(lái)獲取。一旦已輸入來(lái)自任一這些源的數(shù)據(jù),通常用戶(hù)就將數(shù)據(jù)安排在工作簿內(nèi)的所需配置中。在該過(guò)程結(jié)束時(shí),用戶(hù)已創(chuàng)建包括一個(gè)或多個(gè)表格的工作簿,每個(gè)表格都包含執(zhí)行有意義的數(shù)字分析后的表列數(shù)據(jù)。
為便于其它用戶(hù)訪問(wèn)工作簿的內(nèi)容,可制作工作簿的副本或其一部分。例如,在許多情形中工作簿通過(guò)電子郵件(“e-mail”)消息被發(fā)送給其它用戶(hù)。接收該工作簿的用戶(hù)可執(zhí)行有關(guān)工作簿的分析,或?qū)诠ぷ鞑局械臄?shù)據(jù)添加到另一工作簿中。或者,工作簿可存儲(chǔ)在多個(gè)用戶(hù)可訪問(wèn)工作簿內(nèi)容的文件共享中。為了共享工作簿的內(nèi)容,可把數(shù)據(jù)的范圍復(fù)制并粘貼到其它文檔中。
盡管這些用于共享工作簿的常規(guī)方法使多個(gè)用戶(hù)能訪問(wèn)工作簿的內(nèi)容,這些方法并非沒(méi)有缺點(diǎn)。首先,管理可能在多臺(tái)計(jì)算機(jī)和網(wǎng)絡(luò)領(lǐng)域上被復(fù)制多次的工作簿的多個(gè)副本是非常困難的。特別地,對(duì)于系統(tǒng)管理員而言確保工作簿安全并經(jīng)常備份是很困難的。此外,在文件共享的情形中,多個(gè)用戶(hù)同時(shí)訪問(wèn)工作簿可能非常困難。例如,如果原始工作簿的作者需要更新它,則跟蹤使用它的所有用戶(hù)并使其更新這些副本是極困難的。在許多情形中,當(dāng)工作簿被一個(gè)用戶(hù)打開(kāi)時(shí)電子制表客戶(hù)機(jī)應(yīng)用程序會(huì)鎖住該工作簿,從而防止其它人訪問(wèn)該文件。此外,可能在工作簿的不同副本上執(zhí)行同一功能,從而使得所作努力重復(fù)并下降了生產(chǎn)力。
本發(fā)明的各個(gè)實(shí)施例已基于這些和其它考慮而作出。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,以上和其它問(wèn)題通過(guò)用于將工作簿展現(xiàn)為數(shù)據(jù)源的方法、系統(tǒng)和裝置解決。通過(guò)將工作簿展現(xiàn)為服務(wù)器數(shù)據(jù)源,可由能夠連接并查詢(xún)服務(wù)器數(shù)據(jù)源的任一應(yīng)用程序?qū)ぷ鞑緝?nèi)容進(jìn)行簡(jiǎn)便的結(jié)構(gòu)化訪問(wèn)。此外,由于當(dāng)發(fā)布工作簿時(shí)工作簿被展現(xiàn)為服務(wù)器數(shù)據(jù)源,任何能操作電子制表應(yīng)用程序的用戶(hù)可簡(jiǎn)單地創(chuàng)建企業(yè)級(jí)數(shù)據(jù)源。
根據(jù)本發(fā)明一方面,提供用于將工作簿內(nèi)容展現(xiàn)為服務(wù)器數(shù)據(jù)源并利用服務(wù)器數(shù)據(jù)源的一種系統(tǒng)。該系統(tǒng)包括能夠執(zhí)行用于創(chuàng)建工作簿的電子表格應(yīng)用程序的客戶(hù)計(jì)算機(jī)。該工作簿可包括具有包含數(shù)據(jù)的一個(gè)或多個(gè)單元的一個(gè)或多個(gè)工作表。
電子制表應(yīng)用程序還可操作以產(chǎn)生在創(chuàng)作工作表時(shí)所包含數(shù)據(jù)的元數(shù)據(jù)。該元數(shù)據(jù)可預(yù)先定義以描述工作簿的結(jié)構(gòu),諸如工作簿的行、列、和表格。元數(shù)據(jù)可用工作表存儲(chǔ)??捎煞?wù)器計(jì)算機(jī)在接收并響應(yīng)要訪問(wèn)工作簿內(nèi)容的請(qǐng)求時(shí)將該元數(shù)據(jù)用作服務(wù)器數(shù)據(jù)源。電子制表應(yīng)用程序還可操作以向服務(wù)器計(jì)算機(jī)發(fā)布工作簿。然后向服務(wù)器計(jì)算機(jī)傳送該工作簿,其中其內(nèi)容被展現(xiàn)為服務(wù)器數(shù)據(jù)源。
根據(jù)本發(fā)明各方面,該系統(tǒng)還包括可操作用來(lái)執(zhí)行用于將工作簿展現(xiàn)為服務(wù)器數(shù)據(jù)源的服務(wù)器程序的服務(wù)器計(jì)算機(jī)。當(dāng)在此使用時(shí),術(shù)語(yǔ)“數(shù)據(jù)源”和“服務(wù)器數(shù)據(jù)源”特別指在其上可執(zhí)行查詢(xún)的數(shù)據(jù)庫(kù)。該定義包括多維數(shù)據(jù)庫(kù)(諸如OLAP立方體),以及結(jié)合關(guān)系和多維數(shù)據(jù)庫(kù)各方面的數(shù)據(jù)庫(kù)(諸如統(tǒng)一維量模型(“UDM”))。在此使用時(shí),術(shù)語(yǔ)“數(shù)據(jù)源查詢(xún)”意思是指向諸如OLAP或多維表達(dá)式(“MDX”)查詢(xún)的數(shù)據(jù)源的查詢(xún)。“數(shù)據(jù)源查詢(xún)”還可包括SQL查詢(xún)。例如,可根據(jù)使用微軟分析服務(wù)OLEDB供應(yīng)商的立方體來(lái)利用SQL。
一旦工作簿已展現(xiàn),客戶(hù)機(jī)應(yīng)用程序可發(fā)現(xiàn)并連接到作為服務(wù)器數(shù)據(jù)源的工作簿。當(dāng)對(duì)作為服務(wù)器數(shù)據(jù)源的工作簿發(fā)出查詢(xún)時(shí),服務(wù)器計(jì)算機(jī)可操作以重新計(jì)算工作簿。如果工作簿包含對(duì)另一數(shù)據(jù)源的引用,則可在重新計(jì)算之前從數(shù)據(jù)源檢索重新計(jì)算工作簿所需的任何數(shù)據(jù)。一旦工作簿已經(jīng)重新計(jì)算,服務(wù)器計(jì)算機(jī)可操作以產(chǎn)生工作簿的表示(諸如像立方體的多維數(shù)據(jù)源)。這可包括例如產(chǎn)生對(duì)應(yīng)于工作簿的臨時(shí)OLAP立方體。立方體的三維可由工作簿的行、列和表格來(lái)定義。此外,可一起取工作簿集以將第四維添加到立方體中。
一旦表示已經(jīng)產(chǎn)生,則服務(wù)器計(jì)算機(jī)可操作以對(duì)表示執(zhí)行所請(qǐng)求的查詢(xún)。然后將查詢(xún)結(jié)果返回到請(qǐng)求客戶(hù)機(jī)應(yīng)用程序。這樣,例如,用戶(hù)可簡(jiǎn)便地創(chuàng)作工作簿并將該工作簿發(fā)布到服務(wù)器計(jì)算機(jī),其中其內(nèi)容可展現(xiàn)為立方體。然后利用諸如OLAP客戶(hù)機(jī)的數(shù)據(jù)庫(kù)客戶(hù)機(jī)應(yīng)用程序的其它用戶(hù)可發(fā)現(xiàn)工作簿并發(fā)出對(duì)其內(nèi)容的本機(jī)查詢(xún)。
本發(fā)明可被實(shí)現(xiàn)為計(jì)算機(jī)進(jìn)程、計(jì)算裝置、或諸如計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì)的制造品。計(jì)算機(jī)程序產(chǎn)品可以是計(jì)算機(jī)系統(tǒng)可讀的并編碼用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的計(jì)算機(jī)存儲(chǔ)介質(zhì)。計(jì)算機(jī)程序產(chǎn)品還可以是由計(jì)算機(jī)系統(tǒng)可讀的并編碼用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的載波信號(hào)上的傳播信號(hào)。
閱讀以下詳細(xì)說(shuō)明書(shū)和附圖,表征本發(fā)明的這些和各個(gè)其它特征以及優(yōu)點(diǎn)將變得顯然。
圖1是示出本發(fā)明各實(shí)施例利用并提供的若干計(jì)算機(jī)系統(tǒng)各方面的計(jì)算機(jī)網(wǎng)絡(luò)圖;圖2是示出本發(fā)明各實(shí)施例利用并提供的客戶(hù)計(jì)算機(jī)系統(tǒng)各方面的計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)圖;圖3是根據(jù)本發(fā)明一實(shí)施例示出一過(guò)程各方面的流程圖,該過(guò)程用于將工作簿范圍發(fā)布為服務(wù)器數(shù)據(jù)源;圖4是根據(jù)本發(fā)明一實(shí)施例示出一過(guò)程各方面的流程圖,該過(guò)程用于接收和響應(yīng)對(duì)作為服務(wù)器數(shù)據(jù)源的工作簿內(nèi)容的請(qǐng)求;圖5是根據(jù)本發(fā)明一實(shí)施例示出用于產(chǎn)生工作簿的數(shù)據(jù)庫(kù)表示的過(guò)程的流程圖;圖6是根據(jù)一實(shí)施例示出用于將工作簿轉(zhuǎn)換成多維數(shù)據(jù)源的轉(zhuǎn)換過(guò)程的流程圖。
具體實(shí)施例方式
現(xiàn)在參看附圖,其中類(lèi)似標(biāo)號(hào)表示類(lèi)似元件,將描述本發(fā)明各方面。特別地,圖1和以下討論旨在提供一種本發(fā)明可在其中實(shí)現(xiàn)的適當(dāng)計(jì)算環(huán)境的簡(jiǎn)要一般說(shuō)明。盡管本發(fā)明將在結(jié)合運(yùn)行于計(jì)算機(jī)操作系統(tǒng)上的程序模塊執(zhí)行的程序模塊的一般上下文中進(jìn)行說(shuō)明,本領(lǐng)域技術(shù)人員將理解本發(fā)明也可結(jié)合其它類(lèi)型的計(jì)算機(jī)系統(tǒng)和程序模塊實(shí)現(xiàn)。
通常,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)具體抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。此外,本領(lǐng)域技術(shù)人員將理解本發(fā)明可在其它計(jì)算機(jī)系統(tǒng)配置中實(shí)踐,包括手持式裝置、多處理器系統(tǒng)、基于微處理器的或可編程的電器消費(fèi)品、小型計(jì)算機(jī)、大型計(jì)算機(jī)等等。本發(fā)明還可在任務(wù)由經(jīng)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理裝置執(zhí)行的分布式計(jì)算環(huán)境中實(shí)踐。在分布式計(jì)算環(huán)境中,程序模塊可被置于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。
現(xiàn)在參看圖1,將描述本發(fā)明若干實(shí)施例的說(shuō)明性操作環(huán)境。如圖1所示,網(wǎng)絡(luò)10與客戶(hù)機(jī)計(jì)算機(jī)2以及若干服務(wù)器計(jì)算機(jī)12A-12C相互連接。應(yīng)理解網(wǎng)絡(luò)10可包括任意類(lèi)型的計(jì)算網(wǎng)絡(luò),包括局域網(wǎng)或諸如因特網(wǎng)的廣域網(wǎng)。網(wǎng)絡(luò)10提供用于啟用在客戶(hù)計(jì)算機(jī)2、服務(wù)器計(jì)算機(jī)12A-12C、以及可能與網(wǎng)絡(luò)10連接或通過(guò)它可訪問(wèn)的其它計(jì)算機(jī)系統(tǒng)之間的通信的介質(zhì)。
客戶(hù)機(jī)計(jì)算機(jī)2包括能執(zhí)行一個(gè)或多個(gè)應(yīng)用程序的通用的臺(tái)式或膝上型計(jì)算機(jī)。特別地,根據(jù)本發(fā)明各實(shí)施例,計(jì)算機(jī)2可操作來(lái)執(zhí)行電子制表客戶(hù)機(jī)應(yīng)用程序4。如本領(lǐng)域技術(shù)人員所眾所周知的,電子制表客戶(hù)機(jī)應(yīng)用程序4提供用于創(chuàng)建預(yù)算、執(zhí)行財(cái)務(wù)預(yù)測(cè)以及其它財(cái)務(wù)或數(shù)字相關(guān)任務(wù)的功能。為提供該功能,數(shù)據(jù)值可使用單元而被組織,而單元之間的關(guān)系可使用公式來(lái)定義。一個(gè)單元的變化產(chǎn)生相關(guān)單元的變化。電子制表程序通常提供用于輸出的圖表能力以及文本、數(shù)字值以及圖表特征的各種格式化選項(xiàng)。
根據(jù)本發(fā)明各實(shí)施例,電子制表客戶(hù)機(jī)應(yīng)用程序4可被用來(lái)創(chuàng)建工作簿6。工作簿6是由包含一個(gè)或多個(gè)工作表(工作表在此也可稱(chēng)為“電子表格”)的電子制表程序所創(chuàng)建的文件。工作表是組織成電子制表程序內(nèi)行和列,顯現(xiàn)在屏幕上并用于創(chuàng)建單個(gè)表格的單個(gè)頁(yè)面。
工作簿6內(nèi)的工作表包括具有數(shù)據(jù)對(duì)象的一個(gè)或多個(gè)范圍。如在此所定義的,數(shù)據(jù)對(duì)象包括工作簿內(nèi)用來(lái)存儲(chǔ)數(shù)據(jù)的任何對(duì)象。例如,數(shù)據(jù)對(duì)象可包括,但不限于,單元、主表格、DOE、列表、數(shù)據(jù)庫(kù)和查詢(xún)表格的任意范圍。如在此將要更詳細(xì)描述的,包括每一個(gè)這些數(shù)據(jù)對(duì)象類(lèi)型的工作簿的整個(gè)內(nèi)容可被展現(xiàn)為可從服務(wù)器12A得到的服務(wù)器數(shù)據(jù)源。
應(yīng)理解,根據(jù)本發(fā)明一實(shí)施例,電子制表客戶(hù)機(jī)應(yīng)用程序4包括來(lái)自華盛頓州Redmond微軟公司的EXCEL電子制表應(yīng)用程序。然而,應(yīng)當(dāng)理解,在此描述的本發(fā)明各方面可采用來(lái)自其它制造商的其它電子制表應(yīng)用程序。此外,盡管在此描述的各個(gè)發(fā)明方面可在電子制表應(yīng)用程序的環(huán)境中呈現(xiàn),應(yīng)理解也可利用其它類(lèi)型的應(yīng)用程序來(lái)體現(xiàn)本發(fā)明各方面。
根據(jù)本發(fā)明其它實(shí)施例,客戶(hù)計(jì)算機(jī)2還可操作以執(zhí)行OLAP客戶(hù)機(jī)應(yīng)用程序8。該OLAP客戶(hù)機(jī)應(yīng)用程序8包括能夠連接、查詢(xún)并利用來(lái)自O(shè)LAP數(shù)據(jù)源的數(shù)據(jù)的應(yīng)用程序。例如,OLAP客戶(hù)機(jī)應(yīng)用程序8可通過(guò)網(wǎng)絡(luò)10連接到服務(wù)器計(jì)算機(jī)12B。通過(guò)在服務(wù)器計(jì)算機(jī)12B上執(zhí)行的數(shù)據(jù)庫(kù)軟件,OLAP客戶(hù)機(jī)應(yīng)用程序8可發(fā)出對(duì)數(shù)據(jù)源16的查詢(xún)。然后服務(wù)器計(jì)算機(jī)12B可操作以接收和響應(yīng)來(lái)自O(shè)LAP客戶(hù)機(jī)應(yīng)用程序8的查詢(xún)。
如以下將要詳細(xì)描述的,OLAP客戶(hù)機(jī)應(yīng)用程序8還可發(fā)出對(duì)工作表6的查詢(xún)。為了啟用該功能,電子制表客戶(hù)機(jī)應(yīng)用程序4可將工作簿6發(fā)布到由文件服務(wù)器計(jì)算機(jī)12C維護(hù)的以及服務(wù)器計(jì)算機(jī)12A可訪問(wèn)的貯藏庫(kù)14。然后在服務(wù)器計(jì)算機(jī)12A上執(zhí)行的電子制表服務(wù)器應(yīng)用程序13可解析工作簿6并將工作簿6的內(nèi)容展現(xiàn)為服務(wù)器數(shù)據(jù)源。然后OLAP客戶(hù)機(jī)應(yīng)用程序8可用它將連接到諸如由服務(wù)器計(jì)算機(jī)12B提供的專(zhuān)用OLAP數(shù)據(jù)源的同樣方法連接到由電子制表服務(wù)器應(yīng)用程序12A展現(xiàn)的數(shù)據(jù)源。應(yīng)理解,電子制表客戶(hù)機(jī)應(yīng)用程序4可以與OLAP客戶(hù)機(jī)應(yīng)用程序8相同的方式作為來(lái)自數(shù)據(jù)源的數(shù)據(jù)的消費(fèi)者。還應(yīng)理解計(jì)算機(jī)2可操作以執(zhí)行用來(lái)查詢(xún)并消費(fèi)來(lái)自其它類(lèi)型數(shù)據(jù)庫(kù)的數(shù)據(jù)的其它客戶(hù)機(jī)應(yīng)用程序。還應(yīng)當(dāng)理解在可選實(shí)施例中,上述計(jì)算機(jī)2的功能可被分成兩個(gè)計(jì)算裝置。例如,一個(gè)計(jì)算裝置可操作以執(zhí)行用于發(fā)布工作表6的電子制表應(yīng)用程序4,而另一個(gè)計(jì)算裝置可操作以執(zhí)行用于消費(fèi)數(shù)據(jù)的客戶(hù)機(jī)應(yīng)用程序。
當(dāng)在此使用時(shí),術(shù)語(yǔ)“數(shù)據(jù)源”和“服務(wù)器數(shù)據(jù)源”特別指在其上可執(zhí)行查詢(xún)的數(shù)據(jù)庫(kù)。該定義包括多維數(shù)據(jù)庫(kù)(諸如OLAP立方體),以及結(jié)合關(guān)系和多維數(shù)據(jù)庫(kù)各方面的數(shù)據(jù)庫(kù)(諸如UDM)。在此使用時(shí),術(shù)語(yǔ)“數(shù)據(jù)源查詢(xún)”意思是指向諸如OLAP或MDX查詢(xún)的數(shù)據(jù)源的查詢(xún)。
電子制表服務(wù)器應(yīng)用程序13包括不使用顯示屏(無(wú)頭的)就可執(zhí)行的基于服務(wù)器應(yīng)用程序。電子制表服務(wù)器應(yīng)用程序13可操作以執(zhí)行服務(wù)器計(jì)算機(jī)上電子制表客戶(hù)機(jī)應(yīng)用程序4的許多功能。例如,電子制表服務(wù)器應(yīng)用程序13可載入并計(jì)算工作簿6。如在此將要描述的,電子制表服務(wù)器應(yīng)用程序13還提供用于通過(guò)網(wǎng)絡(luò)10向兼容客戶(hù)機(jī)展現(xiàn)作為數(shù)據(jù)源的工作簿6的功能。有關(guān)由電子制表客戶(hù)機(jī)應(yīng)用程序4和電子制表服務(wù)器應(yīng)用程序13執(zhí)行的各個(gè)功能的其它細(xì)節(jié)將參照?qǐng)D2-6在下面提供。
現(xiàn)在參看圖2,將描述在本發(fā)明各實(shí)施例中利用的計(jì)算機(jī)2的說(shuō)明性計(jì)算機(jī)體系結(jié)構(gòu)。在圖2中所示的計(jì)算機(jī)體系結(jié)構(gòu)示出常規(guī)臺(tái)式或膝上型計(jì)算機(jī),包括中央處理單元5(“CPU”)、包括隨機(jī)存取存儲(chǔ)器(RAM)9和只讀存儲(chǔ)器(ROM)11的系統(tǒng)存儲(chǔ)器7、以及將存儲(chǔ)器耦合到CPU 5的系統(tǒng)總線12。包含有助于如起動(dòng)時(shí)在計(jì)算機(jī)元件間傳送信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)存儲(chǔ)在ROM11中。計(jì)算機(jī)2還包括用于存儲(chǔ)操作系統(tǒng)18、應(yīng)用程序和其它程序模塊的大容量存儲(chǔ)裝置24,將在下面進(jìn)行更詳細(xì)描述。
大容量存儲(chǔ)裝置24通過(guò)連接到總線12的大容量存儲(chǔ)控制器(未示出)連接到CPU 5。大容量存儲(chǔ)裝置24及其相關(guān)聯(lián)計(jì)算機(jī)可讀介質(zhì)提供計(jì)算機(jī)2的非易失性存儲(chǔ)。盡管包含在此的計(jì)算機(jī)可讀介質(zhì)的描述指向諸如硬盤(pán)或CD-ROM的大容量存儲(chǔ)裝置,本領(lǐng)域技術(shù)人員應(yīng)理解計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)2能訪問(wèn)的任何可用介質(zhì)。
作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以任何方法或技術(shù)實(shí)現(xiàn)、用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的易失性和非易失性介質(zhì)、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括但不限于RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字化多功能光盤(pán)(DVD)或其它光學(xué)存儲(chǔ)技術(shù)、磁盒、磁帶、磁盤(pán)存儲(chǔ)器或其它磁性存儲(chǔ)設(shè)備、或任何其它可用于存儲(chǔ)所需信息并可由計(jì)算機(jī)2訪問(wèn)的介質(zhì)。
根據(jù)本發(fā)明各實(shí)施例,計(jì)算機(jī)2可使用通過(guò)諸如因特網(wǎng)的網(wǎng)絡(luò)10與遠(yuǎn)程計(jì)算機(jī)的邏輯連接在網(wǎng)絡(luò)化環(huán)境中操作。計(jì)算機(jī)2可通過(guò)與總線12連接的網(wǎng)絡(luò)接口單元20與網(wǎng)絡(luò)10相連。應(yīng)理解,網(wǎng)絡(luò)接口單元20也可被用于與其它類(lèi)型的網(wǎng)絡(luò)和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)相連。計(jì)算機(jī)2還可包括輸入/輸出控制器22,用于接收和處理來(lái)自包括鍵盤(pán)、鼠標(biāo)、或電子筆(未在圖2中示出)的眾多其它裝置的輸入。類(lèi)似地,輸入/輸出控制器22可提供對(duì)顯示屏、打印機(jī)、或其它類(lèi)型輸出裝置的輸出。
如上簡(jiǎn)述,眾多程序模塊和數(shù)據(jù)文件可被存儲(chǔ)于計(jì)算機(jī)2的大容量存儲(chǔ)裝置24和RAM 9中,包括適于控制網(wǎng)絡(luò)化個(gè)人計(jì)算機(jī)的操作系統(tǒng)18,諸如來(lái)自華盛頓州Redmond微軟公司的Windows XP操作系統(tǒng)。大容量存儲(chǔ)裝置24和RAM 9還可存儲(chǔ)一個(gè)或多個(gè)程序模塊。特別地,大容量存儲(chǔ)裝置24和RAM 9可存儲(chǔ)電子制表客戶(hù)機(jī)應(yīng)用程序4和OLAP客戶(hù)機(jī)應(yīng)用程序8,如上所述。大容量存儲(chǔ)裝置24和RAM 9還可存儲(chǔ)由電子制表客戶(hù)機(jī)應(yīng)用程序4創(chuàng)建的工作簿6。
根據(jù)本發(fā)明一實(shí)施例,電子制表應(yīng)用程序4還可操作以生成工作簿6的元數(shù)據(jù)26。元數(shù)據(jù)26可預(yù)先定義以描述工作簿的結(jié)構(gòu),諸如工作簿的行、列、和表格。元數(shù)據(jù)26可在工作簿6中存儲(chǔ)并可用工作簿保存??捎煞?wù)器計(jì)算機(jī)12A在接收并響應(yīng)要訪問(wèn)工作簿6的請(qǐng)求時(shí)將該元數(shù)據(jù)26用作服務(wù)器數(shù)據(jù)源。
應(yīng)當(dāng)理解,在本發(fā)明各實(shí)施例中,電子制表客戶(hù)機(jī)應(yīng)用程序4可操作以提供用于使用戶(hù)能編輯由電子制表應(yīng)用程序4創(chuàng)建的用于工作簿6中所包含數(shù)據(jù)對(duì)象的元數(shù)據(jù)26的工具。例如,可允許用戶(hù)通過(guò)工具定義立方體的子集。這樣,用戶(hù)能指定例如在立方體中僅變換行1-10和列5-15并給予這些元素不同名字。
應(yīng)當(dāng)理解,服務(wù)器計(jì)算機(jī)12A-12C可包括如圖2所示的以及上述的許多常規(guī)計(jì)算組件。此外,服務(wù)器計(jì)算機(jī)12A可操作以存儲(chǔ)和執(zhí)行電子制表服務(wù)器應(yīng)用程序13。文件服務(wù)器計(jì)算機(jī)12C可操作以存儲(chǔ)和執(zhí)行文件服務(wù)器應(yīng)用程序28,用于接收和響應(yīng)對(duì)存儲(chǔ)在貯藏庫(kù)14中文件(諸如工作簿6)的請(qǐng)求。應(yīng)理解,服務(wù)器計(jì)算機(jī)12A-12C可包括未在圖2中示出但本領(lǐng)域技術(shù)人員眾所周知的其它常規(guī)組件。
現(xiàn)在參看圖3,將描述示出由電子制表客戶(hù)機(jī)應(yīng)用程序4執(zhí)行的用于將工作簿發(fā)布為服務(wù)器數(shù)據(jù)源的過(guò)程的說(shuō)明性例程300。參閱在此所示例程的討論時(shí),應(yīng)理解本發(fā)明各實(shí)施例的邏輯操作被實(shí)現(xiàn)為(1)運(yùn)行于計(jì)算系統(tǒng)上的計(jì)算機(jī)實(shí)現(xiàn)動(dòng)作或程序模塊序列和/或(2)計(jì)算系統(tǒng)中相互連接的機(jī)器邏輯電路或電路模塊。實(shí)現(xiàn)是取決于實(shí)現(xiàn)本發(fā)明的計(jì)算系統(tǒng)性能要求所作的選擇。因此,如圖3和5所示的以及組成在此所述本發(fā)明各實(shí)施例的邏輯操作可被分別稱(chēng)為操作、結(jié)構(gòu)化裝置、動(dòng)作或模塊。本領(lǐng)域技術(shù)人員將理解,這些操作、結(jié)構(gòu)化裝置、動(dòng)作和模塊可用軟件、固件、專(zhuān)用數(shù)字邏輯、及其任意組合來(lái)實(shí)現(xiàn)而不背離本發(fā)明精神和范圍,如在此陳述的權(quán)利要求所述。
例程300從操作302開(kāi)始,其中用戶(hù)利用電子制表客戶(hù)機(jī)應(yīng)用程序4來(lái)創(chuàng)作工作簿6。特別地,如在此所述的,用戶(hù)可利用由電子制表客戶(hù)機(jī)應(yīng)用程序4提供的各個(gè)工具來(lái)創(chuàng)建包括一個(gè)或多個(gè)工作表的工作簿,每個(gè)工作表具有一個(gè)或多個(gè)列和行。每個(gè)工作表還可包括在工作表內(nèi)利用的任一常規(guī)對(duì)象,諸如公式、數(shù)據(jù)對(duì)象、主表、以及其它類(lèi)型的對(duì)象。用戶(hù)還可在數(shù)據(jù)源16的工作簿6中手動(dòng)輸入數(shù)據(jù)或創(chuàng)建查詢(xún)??稍陔娮又票砜蛻?hù)機(jī)應(yīng)用程序4內(nèi)用來(lái)創(chuàng)建工作簿6的各種功能和方法實(shí)際上是無(wú)限的并為本領(lǐng)域技術(shù)人員所眾所周知。
從操作302,例程300繼續(xù)到操作304,其中電子制表客戶(hù)機(jī)應(yīng)用程序4響應(yīng)于對(duì)訪問(wèn)作為多維數(shù)據(jù)源的工作簿6的請(qǐng)求生成由服務(wù)器應(yīng)用程序13使用的元數(shù)據(jù)26。特別地,電子制表客戶(hù)機(jī)應(yīng)用程序4可分析在工作簿6內(nèi)所包含的數(shù)據(jù)以標(biāo)識(shí)可用來(lái)描述工作簿6中數(shù)據(jù)的數(shù)據(jù)。例如,對(duì)于多維數(shù)據(jù)源,電子制表客戶(hù)機(jī)應(yīng)用程序4可標(biāo)識(shí)工作簿6內(nèi)各種數(shù)據(jù)的度量、分層結(jié)構(gòu)和缺省聚集。
這些屬性的值還可由電子制表客戶(hù)機(jī)應(yīng)用程序4以智能方式設(shè)置。例如,對(duì)于字符串?dāng)?shù)據(jù)字段,電子制表客戶(hù)機(jī)應(yīng)用程序4可將缺省聚集指示為計(jì)數(shù)。對(duì)于數(shù)值數(shù)據(jù)字段,電子制表客戶(hù)機(jī)應(yīng)用程序4可將缺省聚集指示為和。其它類(lèi)型的智能決策可由電子制表客戶(hù)機(jī)應(yīng)用程序4作出以標(biāo)識(shí)工作簿6中的元數(shù)據(jù)并設(shè)置元數(shù)據(jù)的屬性。
從操作304,例程300繼續(xù)到操作306,其中電子制表客戶(hù)機(jī)應(yīng)用程序4確定用戶(hù)是否以作出對(duì)編輯由電子制表客戶(hù)機(jī)應(yīng)用程序4生成的元數(shù)據(jù)的請(qǐng)求。如上簡(jiǎn)述,電子制表客戶(hù)機(jī)應(yīng)用程序4可提供用于編輯生成元數(shù)據(jù)的用戶(hù)界面。例如,當(dāng)標(biāo)識(shí)工作簿6中的元數(shù)據(jù)并設(shè)置元數(shù)據(jù)上各個(gè)屬性時(shí),使用戶(hù)能置換由電子制表客戶(hù)機(jī)應(yīng)用程序4作出的智能決策是有用的。
如果,在操作306,電子制表客戶(hù)機(jī)應(yīng)用程序4確定已接收對(duì)編輯元數(shù)據(jù)的請(qǐng)求,則例程300分支到操作308。在操作308,電子制表客戶(hù)機(jī)應(yīng)用程序4接收來(lái)自用戶(hù)的經(jīng)編輯元數(shù)據(jù)。從操作308,例程300繼續(xù)到操作310。
如果,在操作306,電子制表客戶(hù)機(jī)應(yīng)用程序4確定未接收對(duì)編輯元數(shù)據(jù)的請(qǐng)求,則例程300繼續(xù)到操作310。在操作310,由電子制表客戶(hù)機(jī)應(yīng)用程序4生成的且可能由用戶(hù)編輯的元數(shù)據(jù)26用工作簿6保存。工作簿6的保存可自動(dòng)進(jìn)行或可響應(yīng)于用戶(hù)請(qǐng)求進(jìn)行。
從操作310,例程300繼續(xù)到操作312,其中包括元數(shù)據(jù)26的工作簿6被發(fā)布到電子制表服務(wù)器應(yīng)用程序13。工作簿6的發(fā)布可響應(yīng)于用戶(hù)命令進(jìn)行或可自動(dòng)進(jìn)行。例如,工作簿6的發(fā)布可包括將工作簿6上載到服務(wù)器計(jì)算機(jī)12A或通過(guò)程序生成工作簿6并通過(guò)服務(wù)器應(yīng)用程序接口(API)將其發(fā)送到服務(wù)器計(jì)算機(jī)12A中。
當(dāng)工作簿6被發(fā)布到電子制表服務(wù)器應(yīng)用程序13中時(shí),工作簿6被存儲(chǔ)在貯藏庫(kù)14中。電子制表服務(wù)器應(yīng)用程序13還被告知工作簿6的存在,然后工作簿6可被展現(xiàn)為多維數(shù)據(jù)源。
一旦工作簿6已被傳播到貯藏庫(kù)14并由電子制表服務(wù)器應(yīng)用程序13分析,諸如OLAP客戶(hù)機(jī)應(yīng)用程序8或電子制表客戶(hù)機(jī)應(yīng)用程序4的數(shù)據(jù)庫(kù)客戶(hù)機(jī)應(yīng)用程序可被用來(lái)查詢(xún)作為數(shù)據(jù)源的工作簿6的內(nèi)容。有關(guān)由電子制表服務(wù)器應(yīng)用程序13執(zhí)行以便將工作簿6的內(nèi)容展現(xiàn)為數(shù)據(jù)源并接收和響應(yīng)數(shù)據(jù)源查詢(xún)請(qǐng)求的各種功能將參照?qǐng)D5在下面詳述。從操作312,例程300繼續(xù)到操作314,在那里例程結(jié)束。
應(yīng)理解,指向展現(xiàn)為服務(wù)器數(shù)據(jù)源的查詢(xún)可被用來(lái)模仿由電子制表客戶(hù)機(jī)應(yīng)用程序4提供的功能。例如,可提供自動(dòng)化過(guò)濾器(“自動(dòng)過(guò)濾器”)工具用于過(guò)濾工作簿內(nèi)的數(shù)據(jù)子集。然后由自動(dòng)過(guò)濾器提供的功能可在已發(fā)布數(shù)據(jù)源中反映。或者,可利用復(fù)雜的MDX語(yǔ)句來(lái)選擇來(lái)自立方體的行和列,從而提供相同的功能。
現(xiàn)在參看圖4,將描述示出由電子制表服務(wù)器應(yīng)用程序13的操作的說(shuō)明性例程400,該操作用于接收和響應(yīng)對(duì)作為數(shù)據(jù)源的工作簿內(nèi)容的請(qǐng)求。例程400在操作402開(kāi)始,其中電子制表服務(wù)器應(yīng)用程序13將工作簿展現(xiàn)為服務(wù)器數(shù)據(jù)源。根據(jù)本發(fā)明一實(shí)施例,工作簿通過(guò)數(shù)據(jù)連接服務(wù)器展現(xiàn),諸如在序列號(hào)為10/858,190題為“Method,System,and Apparatus for Discovering and Connecting to Data Sources”(“用于發(fā)現(xiàn)和連接數(shù)據(jù)源的方法、系統(tǒng)和裝置”)的共同待批的美國(guó)專(zhuān)利申請(qǐng)(律師案號(hào)60001.0338US01),在此明確引入作為參考。或者,存儲(chǔ)在貯藏庫(kù)14內(nèi)的工作簿6可利用諸如UDM的其它類(lèi)型的分析服務(wù)器接口來(lái)展現(xiàn)。一旦電子制表服務(wù)器應(yīng)用程序13已展現(xiàn)工作簿6,諸如OLAP客戶(hù)機(jī)應(yīng)用程序8或電子制表客戶(hù)機(jī)應(yīng)用程序4的客戶(hù)機(jī)應(yīng)用程序可發(fā)現(xiàn)工作簿數(shù)據(jù)源并發(fā)出查詢(xún)數(shù)據(jù)源的請(qǐng)求。
例程400從操作402繼續(xù)到操作404,其中電子制表服務(wù)器應(yīng)用程序13接收對(duì)連接到作為服務(wù)器數(shù)據(jù)源的工作簿的請(qǐng)求。例如,在操作406,電子制表服務(wù)器應(yīng)用程序13可根據(jù)工作簿的范圍接收本機(jī)查詢(xún)。例如,OLAP客戶(hù)機(jī)應(yīng)用程序可發(fā)出對(duì)電子制表服務(wù)器應(yīng)用程序13的本機(jī)OLAP查詢(xún)。或者,可向電子制表服務(wù)器應(yīng)用程序13發(fā)出諸如MDX和XML-A查詢(xún)的其它類(lèi)型查詢(xún)。還可利用本領(lǐng)域技術(shù)人員眾所周知的其它類(lèi)型的用于查詢(xún)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)。
在操作408,電子制表服務(wù)器應(yīng)用程序13載入查詢(xún)已導(dǎo)向的工作簿6。一旦工作簿6已由電子制表服務(wù)器應(yīng)用程序13載入,例程400繼續(xù)到操作410,其中電子制表服務(wù)器應(yīng)用程序13確定工作簿6是否包括對(duì)另一數(shù)據(jù)源的引用。例如,如上簡(jiǎn)述,工作簿可包括對(duì)諸如數(shù)據(jù)源16的數(shù)據(jù)源的引用。
如果工作簿6包括對(duì)另一數(shù)據(jù)源的引用,則例程400分支到操作412,其中電子制表服務(wù)器應(yīng)用程序13查詢(xún)計(jì)算工作簿6所需任何數(shù)據(jù)的數(shù)據(jù)源16。一旦該數(shù)據(jù)由電子制表服務(wù)器應(yīng)用程序13接收,則工作簿6用已接收數(shù)據(jù)更新。
如果在操作410,確定工作簿6未包括對(duì)另一數(shù)據(jù)源的引用,則例程400繼續(xù)到操作414。在操作414,電子制表服務(wù)器應(yīng)用程序13重新計(jì)算工作簿6的內(nèi)容。這可包括例如計(jì)算包含在工作簿6中任何公式的值。
從操作414,例程400繼續(xù)到操作416,其中電子制表服務(wù)器應(yīng)用程序13生成經(jīng)計(jì)算工作簿的數(shù)據(jù)庫(kù)表示。特別地,諸如多維立方體的臨時(shí)數(shù)據(jù)庫(kù)表示由電子制表服務(wù)器應(yīng)用程序13生成。數(shù)據(jù)庫(kù)表示臨時(shí)生成以便執(zhí)行工作簿6上的請(qǐng)求查詢(xún)。有關(guān)由電子制表服務(wù)器應(yīng)用程序13執(zhí)行用以產(chǎn)生立方體的過(guò)程的其它細(xì)節(jié)參照?qǐng)D5提供如下。
一旦請(qǐng)求工作簿的數(shù)據(jù)庫(kù)表示已生成,例程400繼續(xù)到操作418,其中電子制表服務(wù)器應(yīng)用程序13執(zhí)行對(duì)經(jīng)計(jì)算工作簿的數(shù)據(jù)庫(kù)表示的請(qǐng)求查詢(xún)。響應(yīng)于執(zhí)行該查詢(xún),滿足從客戶(hù)機(jī)應(yīng)用程序接收的初始查詢(xún)的查詢(xún)結(jié)果生成。從操作418,例程400繼續(xù)到操作420,其中電子制表服務(wù)器應(yīng)用程序13用經(jīng)標(biāo)識(shí)查詢(xún)結(jié)果響應(yīng)原始查詢(xún)請(qǐng)求。從操作420,例程400繼續(xù)到操作422,在那里它結(jié)束。
現(xiàn)在參看圖5,將描述用于生成對(duì)應(yīng)于工作簿內(nèi)容的多維立方體的說(shuō)明性例程500。例程500在操作502開(kāi)始,其中對(duì)應(yīng)于當(dāng)前工作簿、當(dāng)前工作表和當(dāng)前單元的臨時(shí)變量被分別設(shè)置成第一工作簿、第一工作表格和第一單元。如下將要詳細(xì)描述的,這些變量被用以跟蹤工作簿、表格和單元空間內(nèi)的當(dāng)前位置。如將從以下提供的詳細(xì)描述中可見(jiàn),包含數(shù)據(jù)的每個(gè)工作表和每個(gè)工作簿中的每個(gè)單元被分析,且每個(gè)單元的內(nèi)容被傳送到新的多維數(shù)據(jù)結(jié)構(gòu)中的相應(yīng)位置。對(duì)于框502所引用的臨時(shí)變量被用以跟蹤工作簿空間中的當(dāng)前位置。
從操作502,例程500繼續(xù)到操作504,其中讀取用于當(dāng)前工作簿、工作表和單元的由臨時(shí)變量值指定的包含在單元內(nèi)的數(shù)據(jù)。一旦該值已經(jīng)讀取,例程500繼續(xù)到操作506,其中數(shù)據(jù)值被插入適當(dāng)位置上的多維數(shù)據(jù)結(jié)構(gòu)。如以下參照?qǐng)D6將要詳述的,多維數(shù)據(jù)結(jié)構(gòu)可用對(duì)應(yīng)于工作表中各行的一維、對(duì)應(yīng)于工作表中各列的一維、以及對(duì)應(yīng)于其它工作表的第三維(如果呈現(xiàn))來(lái)排列。因此,由當(dāng)前工作簿、表和單元指定的值被移到新多維數(shù)據(jù)結(jié)構(gòu)的適當(dāng)維內(nèi)的適當(dāng)位置。
從操作506,例程500繼續(xù)到操作508,其中確定是否還剩有其它單元要在當(dāng)前工作表內(nèi)分析。如果剩有其它單元,則例程500分支到操作510,其中對(duì)應(yīng)于當(dāng)前單元的變量被設(shè)置為等于要處理的下一單元。從操作510,例程返回到操作504,其中讀取下一單元的內(nèi)容。
如果在操作508,確定未剩有其它單元要在當(dāng)前工作表內(nèi)分析,則例程500繼續(xù)到操作512。在操作512,確定是否還剩有其它工作表要在當(dāng)前工作簿內(nèi)分析。如果有其它工作表,則例程500分支到操作514,其中對(duì)應(yīng)于當(dāng)前工作表的變量被設(shè)置為等于下一工作表。然后例程從操作514返回到操作504,其中分析下一工作表。
如果在操作512,確定未有其它工作表要在當(dāng)前工作簿內(nèi)分析,則例程500繼續(xù)到操作516。在操作516,確定是否還剩有其它工作簿要分析。應(yīng)當(dāng)理解,多個(gè)工作簿可由電子制表應(yīng)用程序同時(shí)展現(xiàn)。還應(yīng)理解,其它工作簿包括多維數(shù)據(jù)結(jié)構(gòu)的第四維。如果仍有其它工作簿,則例程500分支到操作518,其中對(duì)應(yīng)于當(dāng)前工作簿的變量被設(shè)置為等于下一工作簿。然后例程從操作518返回到操作504,其中下一工作簿被處理。
如果在操作516,確定未有其它工作簿要分析,則例程500從操作516繼續(xù)到操作520。在操作520,多維立方體被存儲(chǔ)為由服務(wù)器計(jì)算機(jī)使用。然后例程500繼續(xù)到操作522,其中它返回到參照?qǐng)D4如上所述的操作416。
現(xiàn)在參看圖6,將提供有關(guān)將工作簿內(nèi)容轉(zhuǎn)換成諸如立方體的多維數(shù)據(jù)結(jié)構(gòu)的過(guò)程的其它細(xì)節(jié)。如圖6所示,工作簿6可包括一個(gè)或多個(gè)工作表30A-30C。每個(gè)工作表用常規(guī)方法組織并可在任意列31A-32N中包括任何行34A-34N。任何行和任何列的交集包括可輸入數(shù)據(jù)的單元。例如,如圖6所示,列32B和行34B的交集(單元“A1”)包括已輸入數(shù)字10的單元。
如上參照?qǐng)D5簡(jiǎn)述,多維數(shù)據(jù)源36可被組織為三維立方體。立方體的第一維38A可對(duì)應(yīng)于各個(gè)工作表內(nèi)的行34A-34N。多維數(shù)據(jù)源36的第二維38B可對(duì)應(yīng)于各個(gè)工作表內(nèi)的列32A-32N。多維數(shù)據(jù)源36的第三維38C可對(duì)應(yīng)于包含在特定工作簿內(nèi)的各個(gè)工作表30A-30C。如上參照?qǐng)D5所述,第四維可對(duì)應(yīng)于附加工作簿而被分配。
如上參照?qǐng)D5簡(jiǎn)述,為了將工作簿6轉(zhuǎn)換成多維數(shù)據(jù)源36,包含在工作表30A-30C內(nèi)的每個(gè)單元可加以分析,且其中所包含的任何數(shù)據(jù)被傳送到多維數(shù)據(jù)源36內(nèi)的相應(yīng)位置。例如,包含在工作表30A中行34B單元內(nèi)的數(shù)據(jù)已被移到如圖6所示的三維數(shù)據(jù)源36中的適當(dāng)位置。應(yīng)理解,包含在工作簿6內(nèi)的其它單元和其它對(duì)象類(lèi)型的內(nèi)容可以類(lèi)似方式被傳送到多維數(shù)據(jù)源36內(nèi)的相應(yīng)位置中。
基于前述內(nèi)容,應(yīng)當(dāng)理解本發(fā)明各實(shí)施例包括用于展現(xiàn)和利用作為服務(wù)器數(shù)據(jù)源的工作簿的方法、系統(tǒng)、裝置和計(jì)算機(jī)可讀介質(zhì)。以上說(shuō)明書(shū)、示例和數(shù)據(jù)提供了對(duì)本發(fā)明組件的制造和使用的完整描述。因?yàn)榭勺鞒霰景l(fā)明的許多實(shí)施例而不背離本發(fā)明的精神和范圍,本發(fā)明駐留于此后所附的權(quán)利要求中。
權(quán)利要求
1.一種用于將工作簿內(nèi)容展現(xiàn)為服務(wù)器數(shù)據(jù)源的方法,其特征在于,所述方法包括接收指向所述工作簿的數(shù)據(jù)庫(kù)查詢(xún);響應(yīng)于所述查詢(xún),重新計(jì)算所述工作簿,生成所述經(jīng)重新計(jì)算工作簿的數(shù)據(jù)庫(kù)表示,在所述經(jīng)重新計(jì)算工作簿的數(shù)據(jù)庫(kù)表示上執(zhí)行所述請(qǐng)求查詢(xún)以獲取查詢(xún)結(jié)果,以及傳送作為所述數(shù)據(jù)庫(kù)查詢(xún)響應(yīng)的查詢(xún)結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于,還包括確定所述工作簿是否包含對(duì)數(shù)據(jù)源的引用;響應(yīng)于確定所述工作簿包含對(duì)數(shù)據(jù)源的引用,從所述數(shù)據(jù)源檢索計(jì)算所述工作簿所需的數(shù)據(jù);以及利用從所述數(shù)據(jù)源檢索的數(shù)據(jù)重新計(jì)算所述工作簿。
3.如權(quán)利要求2所述的方法,其特征在于,所述數(shù)據(jù)庫(kù)表示包括一立方體,且其中所述數(shù)據(jù)庫(kù)查詢(xún)被從OLAP客戶(hù)機(jī)應(yīng)用程序接收。
4.一種具有存儲(chǔ)其上的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),其特征在于,當(dāng)由計(jì)算機(jī)執(zhí)行時(shí)所述指令將使所述計(jì)算機(jī)執(zhí)行如權(quán)利要求1所述的方法。
5.一種計(jì)算機(jī)控制裝置,能夠執(zhí)行如權(quán)利要求1所述的方法。
6.一種用于將工作簿內(nèi)容展現(xiàn)為服務(wù)器數(shù)據(jù)源的方法,其特征在于,所述方法包括提供一種工具,用于創(chuàng)作包括具有一個(gè)或多個(gè)單元的一個(gè)或多個(gè)工作表的工作簿;以及向所述服務(wù)器計(jì)算機(jī)發(fā)布所述工作簿,從而所述表格和單元在所述服務(wù)器計(jì)算機(jī)上被展現(xiàn)為多維數(shù)據(jù)源。
7.如權(quán)利要求6所述的方法,其特征在于,還包括接收指向所述多維數(shù)據(jù)源的查詢(xún);響應(yīng)于所述查詢(xún),計(jì)算所述服務(wù)器計(jì)算機(jī)上的工作簿,并從所述經(jīng)計(jì)算工作簿生成所述多維數(shù)據(jù)源;在所述已生成多維數(shù)據(jù)源上執(zhí)行所述請(qǐng)求查詢(xún);以及用所述查詢(xún)結(jié)果響應(yīng)所述查詢(xún)請(qǐng)求。
8.一種具有存儲(chǔ)其上的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),其特征在于,當(dāng)由計(jì)算機(jī)執(zhí)行時(shí)所述指令將使所述計(jì)算機(jī)執(zhí)行如權(quán)利要求6所述的方法。
9.一種計(jì)算機(jī)控制裝置,能夠執(zhí)行如權(quán)利要求6所述的方法。
10.一種用于展現(xiàn)和利用作為服務(wù)器數(shù)據(jù)源的工作簿的方法,其特征在于,所述方法包括創(chuàng)作包括具有包含其中的一個(gè)或多個(gè)單元的一個(gè)或多個(gè)工作表的工作簿;生成所述一個(gè)或多個(gè)數(shù)據(jù)對(duì)象的元數(shù)據(jù),所述元數(shù)據(jù)響應(yīng)于對(duì)作為服務(wù)器數(shù)據(jù)源的工作簿的請(qǐng)求由服務(wù)器計(jì)算機(jī)使用;向所述服務(wù)器計(jì)算機(jī)發(fā)布所述工作簿和所述元數(shù)據(jù);將所述工作簿展現(xiàn)為服務(wù)器數(shù)據(jù)源;在所述服務(wù)器計(jì)算機(jī)上接收引用包含在工作簿數(shù)據(jù)源內(nèi)數(shù)據(jù)的數(shù)據(jù)源查詢(xún);響應(yīng)于接收所述查詢(xún),載入所述工作簿并計(jì)算所述工作簿;利用所述元數(shù)據(jù)生成所述工作簿的數(shù)據(jù)庫(kù)表示;在所述工作簿的數(shù)據(jù)庫(kù)表示上執(zhí)行所述請(qǐng)求查詢(xún)以創(chuàng)建一查詢(xún)結(jié)果;以及用所述查詢(xún)結(jié)果響應(yīng)所述查詢(xún)。
11.如權(quán)利要求10所述的方法,其特征在于,還包括在計(jì)算所述工作簿之前確定所述工作簿是否包含對(duì)數(shù)據(jù)源的引用;響應(yīng)于確定所述工作簿包含對(duì)數(shù)據(jù)源的引用,從所述數(shù)據(jù)源檢索計(jì)算所述工作簿所需的數(shù)據(jù);以及計(jì)算所述工作簿,包括按照從所述數(shù)據(jù)源檢索的數(shù)據(jù)來(lái)計(jì)算所述工作簿的值。
12.一種具有存儲(chǔ)其上的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),其特征在于,當(dāng)由計(jì)算機(jī)執(zhí)行時(shí)所述指令將使所述計(jì)算機(jī)執(zhí)行如權(quán)利要求10所述的方法。
13.一種計(jì)算機(jī)控制裝置,能夠執(zhí)行如權(quán)利要求10所述的方法。
14.一種用于展現(xiàn)和利用作為服務(wù)器數(shù)據(jù)源的工作簿的系統(tǒng),其特征在于,所述系統(tǒng)包括一客戶(hù)機(jī)計(jì)算機(jī),可操作以執(zhí)行一電子制表應(yīng)用程序,用于創(chuàng)作包括具有一個(gè)或多個(gè)單元的一個(gè)或多個(gè)工作表的工作簿,所述電子制表應(yīng)用程序還可操作以向服務(wù)器計(jì)算機(jī)發(fā)布所述工作簿;以及一服務(wù)器計(jì)算機(jī),可執(zhí)行一服務(wù)器程序,用于將所述工作簿展現(xiàn)為服務(wù)器數(shù)據(jù)源,并用于接收和響應(yīng)指向所述工作簿數(shù)據(jù)源的查詢(xún)請(qǐng)求。
15.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述電子制表應(yīng)用程序還可操作以產(chǎn)生和存儲(chǔ)所述工作簿中的元數(shù)據(jù),所述元數(shù)據(jù)響應(yīng)于對(duì)所述工作簿數(shù)據(jù)源的請(qǐng)求由所述服務(wù)器計(jì)算機(jī)使用。
16.如權(quán)利要求15所述的系統(tǒng),其特征在于,所述電子制表應(yīng)用程序還可操作以提供用于使用戶(hù)能編輯所述元數(shù)據(jù)的工具。
17.如權(quán)利要求16所述的系統(tǒng),其特征在于,還包括第二客戶(hù)計(jì)算機(jī),它可操作以執(zhí)行用于發(fā)出對(duì)服務(wù)器數(shù)據(jù)源的查詢(xún)的應(yīng)用程序,且其中所述服務(wù)器程序還可操作以接收和響應(yīng)從所述第二客戶(hù)計(jì)算機(jī)到所述服務(wù)器數(shù)據(jù)源的數(shù)據(jù)庫(kù)查詢(xún)。
18.如權(quán)利要求17所述的系統(tǒng),其特征在于,響應(yīng)于來(lái)自所述第二客戶(hù)計(jì)算機(jī)的數(shù)據(jù)庫(kù)查詢(xún)包括重新計(jì)算所述工作簿;生成對(duì)應(yīng)于所述經(jīng)重新計(jì)算工作簿的立方體;在所述立方體上執(zhí)行所述請(qǐng)求查詢(xún)以獲取查詢(xún)結(jié)果;以及將所述查詢(xún)結(jié)果傳送到所述第二客戶(hù)計(jì)算機(jī),作為對(duì)所述數(shù)據(jù)庫(kù)查詢(xún)的響應(yīng)。
19.如權(quán)利要求18所述的系統(tǒng),其特征在于,響應(yīng)于來(lái)自所述第二客戶(hù)計(jì)算機(jī)的數(shù)據(jù)庫(kù)查詢(xún)還包括確定所述工作簿是否包含對(duì)數(shù)據(jù)源的引用;響應(yīng)于確定所述工作簿包含對(duì)數(shù)據(jù)源的引用,從所述數(shù)據(jù)源檢索計(jì)算所述工作簿所需的數(shù)據(jù);以及利用從所述數(shù)據(jù)源檢索的數(shù)據(jù)重新計(jì)算所述工作簿。
20.如權(quán)利要求19所述的系統(tǒng),其特征在于,在所述第二客戶(hù)計(jì)算機(jī)上執(zhí)行的所述應(yīng)用程序包括一OLAP客戶(hù)機(jī)應(yīng)用程序。
全文摘要
提供用于展現(xiàn)和利用作為服務(wù)器數(shù)據(jù)源的工作簿的一種方法、系統(tǒng)和裝置。該系統(tǒng)包括能夠執(zhí)行用于創(chuàng)建包括一個(gè)或多個(gè)工作表的工作簿的電子制表應(yīng)用程序的客戶(hù)計(jì)算機(jī)。工作簿可被發(fā)布到服務(wù)器計(jì)算機(jī)中,其中工作簿的內(nèi)容被展現(xiàn)為多維數(shù)據(jù)源。服務(wù)器計(jì)算機(jī)使客戶(hù)機(jī)應(yīng)用程序能發(fā)現(xiàn)并連接到諸如立方體的作為多維數(shù)據(jù)源的工作簿。
文檔編號(hào)G06F17/30GK1728138SQ200510082420
公開(kāi)日2006年2月1日 申請(qǐng)日期2005年6月29日 優(yōu)先權(quán)日2004年7月30日
發(fā)明者A·奈茨, C·佩特庫(kù)勒斯庫(kù), D·C·巴特金, E·馬吉都, L·阿斯納斯, S·皮雷斯 申請(qǐng)人:微軟公司