專(zhuān)利名稱(chēng):電子表格中的數(shù)據(jù)的結(jié)構(gòu)化建模的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子表格中的數(shù)據(jù)建模。
背景技術(shù):
電子表格包括按行和列顯示的數(shù)據(jù)。用戶(hù)可對(duì)數(shù)據(jù)執(zhí)行不同的操作,如過(guò)濾該數(shù)據(jù)、對(duì)該數(shù)據(jù)進(jìn)行排序、以及顯示該數(shù)據(jù)。電子表格內(nèi)的數(shù)據(jù)中的一些可來(lái)自不同的數(shù)據(jù)源和/或復(fù)制/粘貼操作。對(duì)電子表格應(yīng)用程序所顯示的數(shù)據(jù)進(jìn)行分析可能是困難的。
發(fā)明內(nèi)容
提供本發(fā)明內(nèi)容以便以簡(jiǎn)化形式介紹將在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用 于幫助確定所要求保護(hù)的主題的范圍。顯示在電子表格上的數(shù)據(jù)和從一個(gè)或多個(gè)數(shù)據(jù)源獲得的數(shù)據(jù)被用來(lái)在該電子表格內(nèi)創(chuàng)建模型。該數(shù)據(jù)可從許多類(lèi)型的數(shù)據(jù)源獲得,如關(guān)系數(shù)據(jù)庫(kù)、多維源、云服務(wù)、數(shù)據(jù)饋源、電子表格文件、文本文件、來(lái)自web的數(shù)據(jù),等等。電子表格應(yīng)用程序的建模引擎創(chuàng)建模型,該模型描述數(shù)據(jù)的結(jié)構(gòu)、將數(shù)據(jù)的不同片段進(jìn)行相關(guān)、以及提供該數(shù)據(jù)的上下文。該模型可被存儲(chǔ)在電子表格內(nèi)并包括從不同的數(shù)據(jù)源和該電子表格獲得的原始數(shù)據(jù)以及描述該數(shù)據(jù)并提供該數(shù)據(jù)的上下文的元數(shù)據(jù)。原始數(shù)據(jù)可按針對(duì)查詢(xún)/報(bào)告操作進(jìn)行優(yōu)化的格式來(lái)存儲(chǔ)。該模型可基于電子表格的執(zhí)行的操作被自動(dòng)更新。可以使用查詢(xún)語(yǔ)言(例如,MDX、DAX……)來(lái)查詢(xún)?cè)撃P鸵詸z查從該電子表格和該一個(gè)或多個(gè)數(shù)據(jù)源獲得的數(shù)據(jù)和關(guān)系。
圖I示出了示例性計(jì)算設(shè)備;圖2示出用于創(chuàng)建和使用模型的示例性系統(tǒng),該模型將電子表格中的數(shù)據(jù)以及來(lái)自其他數(shù)據(jù)源的數(shù)據(jù)進(jìn)行組合、結(jié)構(gòu)化、以及相關(guān);圖3示出用于創(chuàng)建模型的過(guò)程,該模型對(duì)來(lái)自一個(gè)或多個(gè)數(shù)據(jù)源的數(shù)據(jù)與來(lái)自電子表格的所顯示的數(shù)據(jù)一起進(jìn)行組合和結(jié)構(gòu)化;圖4示出用于確定結(jié)構(gòu)、元數(shù)據(jù)、以及與元數(shù)據(jù)相關(guān)聯(lián)的關(guān)系的過(guò)程;以及圖5示出對(duì)該模型進(jìn)行查詢(xún)的過(guò)程。
具體實(shí)施例方式現(xiàn)在參考其中相同的附圖標(biāo)記表示相同的元素的附圖,描述各實(shí)施例。具體地,圖I和相應(yīng)的討論旨在提供對(duì)在其中可實(shí)現(xiàn)各實(shí)施例的合適計(jì)算環(huán)境的簡(jiǎn)要、概括描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其他類(lèi)型的結(jié)構(gòu)。也可使用其它計(jì)算機(jī)系統(tǒng)配置,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費(fèi)電子產(chǎn)品、小型計(jì)算機(jī)、大型計(jì)算機(jī)等等。還可使用在其中任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境。在分布式計(jì)算環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備兩者中。現(xiàn)在參考圖1,將描述在各實(shí)施例中利用的計(jì)算機(jī)100的說(shuō)明性計(jì)算機(jī)架構(gòu)。圖I所示的計(jì)算機(jī)體系結(jié)構(gòu)可被配置為移動(dòng)計(jì)算設(shè)備(例如智能電話、筆記本、平板……)或桌面計(jì)算機(jī),并且包括中央處理單元5 (“CPU”)、包括隨機(jī)存取存儲(chǔ)器9 (“RAM”)和只讀存儲(chǔ)器(“ROM”)10的系統(tǒng)存儲(chǔ)器7、以及將存儲(chǔ)器耦合至中央處理單元(“CPU”)5的系統(tǒng)總線12?;据斎?輸出系統(tǒng)存儲(chǔ)在ROM 10中,所述基本輸入/輸出系統(tǒng)包含幫助在諸如啟動(dòng)期間在計(jì)算機(jī)內(nèi)元件之間傳遞信息的基本例程。計(jì)算機(jī)100還包括用于存儲(chǔ)操作系統(tǒng)16、應(yīng)用程序24 (如電子表格應(yīng)用程序、web瀏覽器25、文件27 (例如電子表格)以及模型管理器26)的大容量存儲(chǔ)設(shè)備14,這將在以下更為詳盡地描述。web瀏覽器25可用于請(qǐng)求、接收、呈現(xiàn)以及提供與諸如網(wǎng)頁(yè)、視頻、文檔等之類(lèi)的電子內(nèi)容的交互。根據(jù)一實(shí)施例,web瀏覽器包括來(lái)自微軟公司的INTERNET EXPLORER web瀏覽器應(yīng)用程序。 大容量存儲(chǔ)設(shè)備14通過(guò)連接至總線12的大容量存儲(chǔ)控制器(未示出)連接到CPU5。大容量存儲(chǔ)設(shè)備14及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算機(jī)100提供非易失性存儲(chǔ)。雖然此處包含的對(duì)計(jì)算機(jī)可讀介質(zhì)的描述涉及諸如硬盤(pán)或CD-ROM驅(qū)動(dòng)器等大容量存儲(chǔ)設(shè)備,但是計(jì)算機(jī)可讀介質(zhì)可以是能夠由計(jì)算機(jī)100訪問(wèn)的任何可用介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以存儲(chǔ)如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)來(lái)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)還包括,但不限于,RAM、ROM、可擦除可編程只讀存儲(chǔ)器(“EPROM”)、電可擦可編程只讀存儲(chǔ)器(“EEPR0M”)、閃存或其它固態(tài)存儲(chǔ)器技術(shù)、⑶-ROM、數(shù)字多功能盤(pán)(“DVD”)或其它光存儲(chǔ)、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息且可以由計(jì)算機(jī)100訪問(wèn)的任何其它介質(zhì)。根據(jù)各實(shí)施例,計(jì)算機(jī)100可以使用通過(guò)諸如因特網(wǎng)的網(wǎng)絡(luò)18至遠(yuǎn)程計(jì)算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。計(jì)算機(jī)100可以通過(guò)連接至總線12的網(wǎng)絡(luò)接口單元20來(lái)連接到網(wǎng)絡(luò)18。網(wǎng)絡(luò)連接可以是無(wú)線的和/或有線的。網(wǎng)絡(luò)接口單元20也可用于連接到其它類(lèi)型的網(wǎng)絡(luò)和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)100也可包括輸入/輸出控制器22,用于接收和處理來(lái)自包括觸摸輸入設(shè)備28的多個(gè)其他設(shè)備的輸入。觸摸輸入設(shè)備可利用允許識(shí)別單次/多次觸摸輸入(觸摸/非觸摸)的任何技術(shù)。例如,技術(shù)可包括但不限于熱量、手指壓力、高俘獲率照相機(jī)、紅外光、光學(xué)捕捉、調(diào)諧的電磁感應(yīng)、超聲波接收器、傳感麥克風(fēng)、激光測(cè)距儀、陰影捕捉等。根據(jù)一個(gè)實(shí)施例,觸摸輸入設(shè)備可以被配置為檢測(cè)接近觸摸(即在離觸摸輸入設(shè)備的某個(gè)距離內(nèi),但是與所述觸摸輸入設(shè)備沒(méi)有物理上接觸)。觸摸輸入設(shè)備28也可以作為顯示器。輸入/輸出控制器22也向一個(gè)或多個(gè)顯示屏、打印機(jī)或其他類(lèi)型的輸出設(shè)備提供輸出。相機(jī)和/或某種其他傳感設(shè)備可操作來(lái)記錄一個(gè)或多個(gè)用戶(hù)以及捕捉計(jì)算設(shè)備的用戶(hù)作出的運(yùn)動(dòng)和/或姿勢(shì)。傳感設(shè)備還可操作來(lái)捕捉諸如通過(guò)話筒口述的單詞和/或捕捉來(lái)自用戶(hù)的諸如通過(guò)鍵盤(pán)和/或鼠標(biāo)(未描繪)的其他輸入。傳感設(shè)備可包括能夠檢測(cè)用戶(hù)的移動(dòng)的任何運(yùn)動(dòng)檢測(cè)設(shè)備。例如,相機(jī)可以包括微軟KINECT 運(yùn)動(dòng)捕捉設(shè)備,它包括多個(gè)相機(jī)和多個(gè)話筒。可以通過(guò)片上系統(tǒng)(SOC)來(lái)實(shí)踐本發(fā)明的各實(shí)施例,其中,可以將附圖中示出的每個(gè)或許多組件/處理集成到單個(gè)集成電路上。這樣的SOC設(shè)備可包括一個(gè)或多個(gè)處理單元、圖形單元、通信單元、系統(tǒng)虛擬化單元以及各種應(yīng)用功能,所有這些都被集成到(或“燒錄到”)芯片基板上作為單個(gè)集成電路。當(dāng)經(jīng)由SOC運(yùn)行時(shí),本文所描述的功能中的全部/某些可與計(jì)算機(jī)設(shè)備/系統(tǒng)I00的其它組件一起集成到單個(gè)集成電路(芯片)上。如前簡(jiǎn)述的一樣,多個(gè)程序模塊和數(shù)據(jù)文件可以存儲(chǔ)在計(jì)算機(jī)100的大容量存儲(chǔ)設(shè)備14和RAM 9內(nèi),包括適于控制聯(lián)網(wǎng)的個(gè)人計(jì)算機(jī)的操作的操作系統(tǒng)16,如華盛頓州雷蒙德市的微軟公司的WINDOWS 操作系統(tǒng)。根據(jù)一個(gè)實(shí)施例,操作系統(tǒng)被配置成包括對(duì)觸摸輸入設(shè)備28的支持。根據(jù)另一個(gè)實(shí)施例,模型管理器26可用于處理從觸摸輸入設(shè)備28接收到的觸摸輸入中的某些/全部。 大容量存儲(chǔ)設(shè)備14和RAM 9還可以存儲(chǔ)一個(gè)或多個(gè)程序模塊。具體地,大容量存儲(chǔ)設(shè)備14和RAM 9可以存儲(chǔ)諸如電子表格應(yīng)用等一個(gè)或多個(gè)應(yīng)用程序24。結(jié)合電子表格應(yīng)用程序的操作,模型管理器26被配置成根據(jù)顯示在電子表格上的數(shù)據(jù)和來(lái)自一個(gè)或多個(gè)數(shù)據(jù)源的數(shù)據(jù)來(lái)創(chuàng)建模型。模型管理器26可被配置為用于向不同租戶(hù)(例如,微軟OFFICE365、微軟WEB APPS、微軟SHAREPOINT ONLINE)提供資源(例如,服務(wù)、數(shù)據(jù)……)的應(yīng)用/過(guò)程和/或作為基于云的多租戶(hù)服務(wù)的一部分。一般而言,模型管理器26被配置成根據(jù)顯示在電子表格上的數(shù)據(jù)和來(lái)自一個(gè)或多個(gè)數(shù)據(jù)源的數(shù)據(jù)來(lái)創(chuàng)建模型。該數(shù)據(jù)可從許多類(lèi)型的數(shù)據(jù)源獲得,如關(guān)系數(shù)據(jù)庫(kù)、多維源、云服務(wù)、數(shù)據(jù)饋源、電子表格文件、文本文件、來(lái)自web的數(shù)據(jù),等等。模型管理器26使用電子表格應(yīng)用程序的建模引擎來(lái)創(chuàng)建該模型,該模型導(dǎo)入任何已有數(shù)據(jù)結(jié)構(gòu)(在存在結(jié)構(gòu)時(shí))并添加將不同的數(shù)據(jù)片段進(jìn)行相關(guān)的附加結(jié)構(gòu)以及提供該數(shù)據(jù)的上下文。該模型可被存儲(chǔ)在電子表格內(nèi)并且包括原始數(shù)據(jù)和描述該數(shù)據(jù)并提供該數(shù)據(jù)的上下文的元數(shù)據(jù)。根據(jù)一實(shí)施例,原始數(shù)據(jù)按針對(duì)在報(bào)告/查詢(xún)?cè)摂?shù)據(jù)時(shí)的快速響應(yīng)時(shí)間來(lái)優(yōu)化的格式來(lái)存儲(chǔ)。該模型可基于電子表格上執(zhí)行的操作被自動(dòng)更新??梢允褂貌樵?xún)語(yǔ)言(例如,MDX、DAX、SQL、電子表格函數(shù)和公式……)來(lái)查詢(xún)?cè)撃P鸵詸z查從該電子表格和一個(gè)或多個(gè)數(shù)據(jù)源獲得的數(shù)據(jù)和關(guān)系。如下將提供關(guān)于模型管理器26的操作的額外細(xì)節(jié)。圖2示出用于創(chuàng)建和使用模型的示例性系統(tǒng),該模型將電子表格中的數(shù)據(jù)以及來(lái)自其他數(shù)據(jù)源的數(shù)據(jù)進(jìn)行組合、結(jié)構(gòu)化、以及相關(guān)。如圖所示,系統(tǒng)200包括應(yīng)用程序24、月艮務(wù)210、模型管理器26、建模引擎230、工作簿220、數(shù)據(jù)源240、以及輸入設(shè)備/顯示器202。根據(jù)一個(gè)實(shí)施例,顯示器202是觸摸屏設(shè)備。根據(jù)一個(gè)實(shí)施例,應(yīng)用程序24是被配置成接收來(lái)自一個(gè)或多個(gè)輸入設(shè)備(例如,觸敏輸入設(shè)備202、鍵盤(pán)、鼠標(biāo)、指示筆……)的輸入的電子表格應(yīng)用程序。例如,模型管理器26可以響應(yīng)于用戶(hù)的手指(S卩,手258上的手指)選中數(shù)據(jù)源和/或從電子表格的一個(gè)或多個(gè)單元格選擇的數(shù)據(jù)等來(lái)向應(yīng)用程序24和/或服務(wù)210提供信息。如所示出的,服務(wù)210是基于云的和/或基于企業(yè)的服務(wù),被配置來(lái)提供關(guān)于一個(gè)或多個(gè)生產(chǎn)力應(yīng)用(例如 MICROSOFT EXCEL、MICR0S0FTSHAREP0INT、MICROSOFT WORD)的服務(wù)。服務(wù)210也可被配置成基于客戶(hù)機(jī)的應(yīng)用。雖然系統(tǒng)200示出了生產(chǎn)力服務(wù)和/或內(nèi)容管理服務(wù),但其他服務(wù)/應(yīng)用程序可被配置成創(chuàng)建將電子表格數(shù)據(jù)和來(lái)自一個(gè)或多個(gè)其他源的數(shù)據(jù)進(jìn)行組合的模型。如圖所例示的,服務(wù)210是向任何數(shù)目個(gè)租戶(hù)(例如,租戶(hù)1-N)提供資源215和服務(wù)的多租戶(hù)服務(wù)。根據(jù)一實(shí)施例,多租戶(hù)服務(wù)210是基于云的服務(wù),其將資源/服務(wù)215提供給向該服務(wù)進(jìn)行預(yù)訂的租戶(hù),以及與其他租戶(hù)數(shù)據(jù)分開(kāi)地維護(hù)每個(gè)租戶(hù)的數(shù)據(jù)并保護(hù)每個(gè)租戶(hù)的數(shù)據(jù)。例如,服務(wù)210可被配置成提供對(duì)應(yīng)于生產(chǎn)力應(yīng)用程序(例如電子表格、內(nèi)容管理等)的服務(wù)。所示的觸摸輸入系統(tǒng)200包括觸摸屏輸入設(shè)備202,當(dāng)接收到觸摸輸入(例如手指觸摸或接近觸摸觸摸屏)時(shí),該觸摸屏輸入設(shè)備可以檢測(cè)到??衫脵z測(cè)用戶(hù)的觸摸輸入的任何類(lèi)型的觸摸屏。例如,觸摸屏可包括一層或多層檢測(cè)觸摸輸入的電容性材料。除了電 容性材料之外或代替電容性材料,可使用其他傳感器。例如,可使用紅外(IR)傳感器。根據(jù)一實(shí)施例,觸摸屏被配置成檢測(cè)與可觸摸的表面接觸或位于可觸摸的表面上方的物體。盡管在本說(shuō)明書(shū)中使用術(shù)語(yǔ)“上方”,應(yīng)理解,觸摸面板系統(tǒng)的定向是不相關(guān)的。術(shù)語(yǔ)“上方”旨在可適用于所有這樣的定向。觸摸屏可被配置成確定觸摸輸入被接收的位置(如起點(diǎn)、中間點(diǎn)和終點(diǎn))??赏ㄟ^(guò)任何合適的手段,包括如耦合到觸摸面板的振動(dòng)傳感器或話筒,來(lái)檢測(cè)可觸摸的表面和物體之間的實(shí)際接觸。用于檢測(cè)接觸的傳感器的示例的非窮盡列表包括基于壓力的機(jī)構(gòu)、微機(jī)械加速計(jì)、壓電器件、電容傳感器、電阻傳感器、感應(yīng)傳感器、激光振動(dòng)計(jì)和LED振動(dòng)計(jì)。數(shù)據(jù)源240可以是任何類(lèi)型的數(shù)據(jù)源,包括含有顯式結(jié)構(gòu)化和/或隱式結(jié)構(gòu)化的數(shù)據(jù)。例如,數(shù)據(jù)源240可包括關(guān)系數(shù)據(jù)庫(kù)、多維源、云服務(wù)、數(shù)據(jù)饋源、電子表格文件、文本文件、來(lái)自web的數(shù)據(jù),等等。數(shù)據(jù)源240可包括預(yù)定義表、數(shù)據(jù)列、相關(guān)數(shù)據(jù),等等。建模引擎230被配置成創(chuàng)建被顯示在表單上的電子表格數(shù)據(jù)和從一個(gè)或多個(gè)數(shù)據(jù)源獲得的數(shù)據(jù)的模型。根據(jù)一實(shí)施例,建模引擎230是與在查看電子表格250時(shí)使用的應(yīng)用程序/服務(wù)一起加載的存儲(chǔ)器內(nèi)多維數(shù)據(jù)分析引擎。根據(jù)一實(shí)施例,建模引擎是來(lái)自微軟公司的VERTIPAQ引擎。建模引擎230創(chuàng)建模型/在使用模型時(shí)將模型加載到存儲(chǔ)器。。根據(jù)一實(shí)施例,在關(guān)閉電子表格(例如,電子表格250)時(shí),該模型被保存在電子表格文件(例如,工作簿220)內(nèi)。建模引擎230被配置成創(chuàng)建/獲得包括標(biāo)識(shí)元數(shù)據(jù)(例如,數(shù)據(jù)的源、數(shù)據(jù)的名稱(chēng)、列/行的名稱(chēng)、表、表名稱(chēng)、數(shù)據(jù)項(xiàng)的數(shù)量……)和上下文元數(shù)據(jù)(例如,數(shù)據(jù)之間的關(guān)系、呈現(xiàn)數(shù)據(jù)的方式(例如,數(shù)據(jù)的類(lèi)型)、表的編組、與數(shù)據(jù)有關(guān)的計(jì)算、關(guān)于該數(shù)據(jù)的關(guān)鍵性能指標(biāo)(KPI),等等)的元數(shù)據(jù)。模型管理器26被配置成根據(jù)顯示在電子表格上的數(shù)據(jù)和來(lái)自一個(gè)或多個(gè)數(shù)據(jù)源的數(shù)據(jù)來(lái)創(chuàng)建并使用模型。模型管理器26使用電子表格應(yīng)用程序的建模引擎230來(lái)創(chuàng)建模型,該模型對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化、將數(shù)據(jù)的不同片段進(jìn)行相關(guān)、以及提供該數(shù)據(jù)的上下文。模型管理器26可以基于對(duì)數(shù)據(jù)的分析來(lái)確定數(shù)據(jù)的結(jié)構(gòu)。模型管理器26可以確定數(shù)據(jù)的上下文、數(shù)據(jù)的首部、數(shù)據(jù)的使用等,以確定該數(shù)據(jù)的可能結(jié)構(gòu)。例如,包括標(biāo)題并包括范圍在0和100之間的數(shù)字值的電子表格的列中的數(shù)據(jù)可被結(jié)構(gòu)化成與該標(biāo)題相關(guān)。來(lái)自電子表格(例如,電子表格250)的數(shù)據(jù)中的全部或一些可被包括在該模型中。根據(jù)一實(shí)施例,來(lái)自電子表格的數(shù)據(jù)的全部被自動(dòng)包括在該模型內(nèi)。根據(jù)另一實(shí)施例,來(lái)自電子表格的數(shù)據(jù)是響應(yīng)于在該電子表格中的數(shù)據(jù)和來(lái)自數(shù)據(jù)源的數(shù)據(jù)上執(zhí)行的操作(例如,用戶(hù)將數(shù)據(jù)行/列與從數(shù)據(jù)源選擇的數(shù)據(jù)進(jìn)行關(guān)聯(lián),組合兩個(gè)表、與表進(jìn)行相關(guān)……)而被包括在該模型中的。可使用查詢(xún)語(yǔ)言(例如,使用MultiDimensional expressions (MDX)(多維表達(dá)式)、數(shù)據(jù)分析表達(dá)式(DAX)、結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)、電子表格函數(shù)和公式……)來(lái)檢查該模型。例如,用戶(hù)可以查詢(xún)?cè)撃P鸵詫ふ覞M(mǎn)足一個(gè)或多個(gè)條件的數(shù)據(jù)。該模型可響應(yīng)于查詢(xún)而自動(dòng)更新。例如,該模型內(nèi)的數(shù)據(jù)可響應(yīng)于獲得來(lái)自一個(gè)表的數(shù)據(jù)和來(lái)自電子表格的列的數(shù)據(jù)的查詢(xún)而被相關(guān)。響應(yīng)于該查詢(xún),模型管理器26獲得并返回結(jié)果。模型管理器還可將與用戶(hù)對(duì)不同數(shù)據(jù)源的選擇有關(guān)的信息一起存儲(chǔ)在報(bào)告中,并將該知識(shí)用于將來(lái)的操作以基于過(guò)去動(dòng)作在新報(bào)告中建議相關(guān)數(shù)據(jù)?,F(xiàn)在參考圖3-5,將描述用于對(duì)電子表格應(yīng)用程序中的數(shù)據(jù)進(jìn)行結(jié)構(gòu)化的說(shuō)明性過(guò)程。當(dāng)閱讀對(duì)在此提供的例程的討論時(shí),應(yīng)當(dāng)理解,各實(shí)施例的邏輯操作被實(shí)現(xiàn)為(I)運(yùn)行于計(jì)算系統(tǒng)上的一系列計(jì)算機(jī)實(shí)現(xiàn)的動(dòng)作或程序模塊,和/或(2)計(jì)算系統(tǒng)內(nèi)互連的機(jī)器邏輯電路或電路模塊。該實(shí)現(xiàn)是取決于實(shí)現(xiàn)本發(fā)明的計(jì)算系統(tǒng)的性能要求來(lái)選擇的。因 此,所例示的并且構(gòu)成此處所描述的實(shí)施例的邏輯操作被不同地表示為操作、結(jié)構(gòu)設(shè)備、動(dòng)作或模塊。這些操作、結(jié)構(gòu)設(shè)備、動(dòng)作和模塊可用軟件、固件、專(zhuān)用數(shù)字邏輯,及其任何組合來(lái)實(shí)現(xiàn)。圖3示出用于創(chuàng)建模型的過(guò)程,該模型對(duì)來(lái)自一個(gè)或多個(gè)數(shù)據(jù)源的數(shù)據(jù)與來(lái)自電子表格的所顯示的數(shù)據(jù)一起進(jìn)行組合和結(jié)構(gòu)化。在開(kāi)始操作后,過(guò)程300進(jìn)至操作310,在此訪問(wèn)電子表格應(yīng)用程序并且顯示包括按行和列來(lái)安排的數(shù)據(jù)顯示的表單。例如,用戶(hù)可以訪問(wèn)客戶(hù)端電子表格應(yīng)用程序和/或電子表格服務(wù)并顯不工作簿的表單。進(jìn)至操作230,選擇從中獲取數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)源。數(shù)據(jù)源可包括結(jié)構(gòu)化數(shù)據(jù)(例如,與顯式結(jié)構(gòu)相關(guān)聯(lián)的數(shù)據(jù),如從數(shù)據(jù)庫(kù)獲得的數(shù)據(jù)、預(yù)定義表、數(shù)據(jù)透視表)和/或未結(jié)構(gòu)化的數(shù)據(jù)(例如,不與顯式數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù),如來(lái)自電子表格的列、文件的數(shù)據(jù)……)。數(shù)據(jù)源可包括關(guān)系數(shù)據(jù)庫(kù)、多維源、云服務(wù)、數(shù)據(jù)饋源、電子表格文件、文本文件、來(lái)自web的數(shù)據(jù),等等。用戶(hù)可從電子表格應(yīng)用程序的用戶(hù)界面和/或通過(guò)另一選擇方法來(lái)選擇數(shù)據(jù)源。移至操作330,作出從所選數(shù)據(jù)源加載什么數(shù)據(jù)的確定??杉虞d數(shù)據(jù)的全部/部分。可以手動(dòng)/自動(dòng)地執(zhí)行該確定。用戶(hù)可選擇他們想要包括在該模型中的數(shù)據(jù)(例如,表、列、圖、圖表……)。還可自動(dòng)選擇數(shù)據(jù)來(lái)包括在模型中。例如,當(dāng)數(shù)據(jù)低于預(yù)定大小(例如,數(shù)據(jù)項(xiàng)的數(shù)量)時(shí),可加載來(lái)自數(shù)據(jù)源的整個(gè)數(shù)據(jù),在數(shù)據(jù)滿(mǎn)足預(yù)定條件(例如,搜索查詢(xún))時(shí),可選擇相匹配的數(shù)據(jù)以包括在模型內(nèi)。根據(jù)一實(shí)施例,顯示在電子表格應(yīng)用程序的表單上的數(shù)據(jù)的全部被標(biāo)識(shí)為是要加載的。根據(jù)另一實(shí)施例,在來(lái)自電子表格的數(shù)據(jù)與來(lái)自所選數(shù)據(jù)源之一的數(shù)據(jù)相關(guān)聯(lián)時(shí),加載來(lái)自該電子表格的數(shù)據(jù)。移至操作340,將數(shù)據(jù)導(dǎo)入/加載到模型中。根據(jù)一實(shí)施例,從數(shù)據(jù)源獲得的原始數(shù)據(jù)和任何元數(shù)據(jù)被包括在模型內(nèi)。一些數(shù)據(jù)可包括比其他數(shù)據(jù)更顯式的結(jié)構(gòu)和元數(shù)據(jù)(例如,與文本文件內(nèi)的數(shù)據(jù)相比的來(lái)自數(shù)據(jù)庫(kù)的數(shù)據(jù))。當(dāng)數(shù)據(jù)是未結(jié)構(gòu)化的時(shí)候,可嘗試基于對(duì)數(shù)據(jù)的自動(dòng)分析(例如,檢查所選數(shù)據(jù)和/或靠近所選數(shù)據(jù)的其他數(shù)據(jù)、該數(shù)據(jù)的使用、用戶(hù)與該數(shù)據(jù)的交互……)和/或?qū)υ摂?shù)據(jù)的手動(dòng)分析(從用戶(hù)接收描述該數(shù)據(jù)的元數(shù)據(jù))來(lái)確定結(jié)構(gòu)。進(jìn)至操作350,創(chuàng)建模型。根據(jù)一實(shí)施例,通過(guò)與電子表格應(yīng)用程序相關(guān)聯(lián)的存儲(chǔ)器內(nèi)建模引擎來(lái)創(chuàng)建該模型。該過(guò)程然后行進(jìn)至結(jié)束操作并且返回來(lái)處理其他動(dòng)作。圖4示出用于確定結(jié)構(gòu)、元數(shù)據(jù)、以及與元數(shù)據(jù)相關(guān)聯(lián)的關(guān)系的過(guò)程。在開(kāi)始操作后,過(guò)程400進(jìn)至操作410,在此,確定與該模型的所加載的數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)。對(duì)元數(shù)據(jù)的確定可包括確定描述該數(shù)據(jù)的元數(shù)據(jù),如標(biāo)識(shí)數(shù)據(jù)的源、數(shù)據(jù)的名稱(chēng)、列/行的名稱(chēng)、數(shù)據(jù)內(nèi)的表、表名稱(chēng)、數(shù)據(jù)項(xiàng)的數(shù)量,等等。對(duì)元數(shù)據(jù)的確定還可包括確定描述該數(shù)據(jù)的上下文的元數(shù)據(jù),如數(shù)據(jù)之間的關(guān)系、呈現(xiàn)該數(shù)據(jù)的方式(例如,數(shù)據(jù)的類(lèi)型)、表的編組、與該數(shù)據(jù)相關(guān)的計(jì)算、關(guān)于該數(shù)據(jù)的關(guān)鍵性能指標(biāo)(KPI),等等。進(jìn)至操作420,確定數(shù)據(jù)的結(jié)構(gòu)??筛鶕?jù)數(shù)據(jù)的顯式結(jié)構(gòu)化(例如,表、數(shù)據(jù)庫(kù)、數(shù)據(jù) 透視表……)和/或數(shù)據(jù)的隱式結(jié)構(gòu)化(例如,分析該數(shù)據(jù)以確定結(jié)構(gòu))來(lái)確定結(jié)構(gòu)。移至操作430,將來(lái)自不同的數(shù)據(jù)源的數(shù)據(jù)進(jìn)行相關(guān)。例如,用戶(hù)可作出將來(lái)自一個(gè)數(shù)據(jù)源的數(shù)據(jù)與電子表格數(shù)據(jù)和/或來(lái)自其他數(shù)據(jù)源的其他數(shù)據(jù)進(jìn)行關(guān)聯(lián)的選擇。也可通過(guò)對(duì)模型的調(diào)用以將數(shù)據(jù)進(jìn)行關(guān)聯(lián)(例如,將數(shù)據(jù)源I的列I與數(shù)據(jù)源2的表2進(jìn)行關(guān)聯(lián))來(lái)對(duì)該數(shù)據(jù)進(jìn)行相關(guān)。移至操作410,將元數(shù)據(jù)、結(jié)構(gòu)、以及關(guān)系存儲(chǔ)在模型內(nèi)。該過(guò)程然后行進(jìn)至結(jié)束操作并且返回來(lái)處理其他動(dòng)作。圖5示出對(duì)該模型進(jìn)行查詢(xún)的過(guò)程。在開(kāi)始操作之后,過(guò)程500進(jìn)至操作510,在此確定查詢(xún)。該查詢(xún)可以是用戶(hù)定義的查詢(xún)和/或電子表格應(yīng)用程序所生成的查詢(xún)(例如,在該電子表格內(nèi)執(zhí)行函數(shù))。進(jìn)至操作520,對(duì)該模型進(jìn)行查詢(xún)。根據(jù)一實(shí)施例,該查詢(xún)使用查詢(xún)語(yǔ)言(例如,MDX, DAX, SQL、電子表格函數(shù)和公式……)來(lái)檢查該模型內(nèi)定義的數(shù)據(jù)和關(guān)系。移至操作530,獲得查詢(xún)的結(jié)果。移至操作540,根據(jù)所獲得的結(jié)果來(lái)顯示該數(shù)據(jù)。該過(guò)程然后行進(jìn)至結(jié)束操作并且返回來(lái)處理其他動(dòng)作。以上說(shuō)明、示例和數(shù)據(jù)提供了對(duì)本發(fā)明的組成部分的制造和使用的全面描述。因?yàn)榭梢栽诓槐畴x本發(fā)明的精神和范圍的情況下做出本發(fā)明的許多實(shí)施例,所以本發(fā)明落在所附權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種用于使用對(duì)包括電子表格中的數(shù)據(jù)和來(lái)自外部數(shù)據(jù)源的數(shù)據(jù)的數(shù)據(jù)進(jìn)行結(jié)構(gòu)化的模型的方法,包括 顯不包括按行和列來(lái)安排的數(shù)據(jù)的電子表格; 確定來(lái)自外部數(shù)據(jù)源的要包括在所述電子表格內(nèi)的數(shù)據(jù); 創(chuàng)建提供數(shù)據(jù)的結(jié)構(gòu)的模型,所述數(shù)據(jù)包括來(lái)自所述外部數(shù)據(jù)源的數(shù)據(jù)和顯示在所述電子表格上的數(shù)據(jù); 從所述電子表格,使用查詢(xún)語(yǔ)言查詢(xún)所述模型; 獲得結(jié)果;以及 基于所述結(jié)果來(lái)更新所述電子表格的顯示。
2.如權(quán)利要求I所述的方法,其特征在于,創(chuàng)建所述模型包括根據(jù)顯示在所述電子表格上的數(shù)據(jù)來(lái)確定結(jié)構(gòu),并響應(yīng)于使用所述模型和所述電子表格執(zhí)行的操作來(lái)更新所述模型。
3.如權(quán)利要求I所述的方法,其特征在于,還包括分析來(lái)自以下各項(xiàng)中的至少一個(gè)的數(shù)據(jù)的布局來(lái)確定結(jié)構(gòu)顯示在所述電子表格上的數(shù)據(jù)和來(lái)自所述外部數(shù)據(jù)源的數(shù)據(jù)。
4.如權(quán)利要求I所述的方法,其特征在于,還包括自動(dòng)加載顯示在所述電子表格上的數(shù)據(jù);確定所加載的數(shù)據(jù)的結(jié)構(gòu)以及確定描述所加載的數(shù)據(jù)的元數(shù)據(jù)。
5.如權(quán)利要求I所述的方法,其特征在于,所述模型包括來(lái)自所述數(shù)據(jù)源和來(lái)自所述電子表格的原始數(shù)據(jù)和描述所述原始數(shù)據(jù)的元數(shù)據(jù)。
6.如權(quán)利要求I所述的方法,其特征在于,所述元數(shù)據(jù)包括所述數(shù)據(jù)的名稱(chēng)、列的數(shù)量、行的數(shù)量、所述數(shù)據(jù)源之間的不同關(guān)系、以及KPI。
7.一種具有用于使用對(duì)包括電子表格中的數(shù)據(jù)和來(lái)自外部數(shù)據(jù)源的數(shù)據(jù)的數(shù)據(jù)進(jìn)行結(jié)構(gòu)化的模型的計(jì)算機(jī)可執(zhí)行指令,包括 顯不包括按行和列來(lái)安排的數(shù)據(jù)的電子表格; 從外部數(shù)據(jù)源選擇數(shù)據(jù); 確定顯示在所述電子表格上的數(shù)據(jù)的結(jié)構(gòu); 創(chuàng)建包括所選數(shù)據(jù)、顯示在所述電子表格上的數(shù)據(jù)、所選數(shù)據(jù)的結(jié)構(gòu)、以及顯示在所述電子表格上的數(shù)據(jù)的所確定的結(jié)構(gòu)的模型; 使用查詢(xún)語(yǔ)言來(lái)查詢(xún)所述模型; 獲得結(jié)果;以及 基于所述結(jié)果來(lái)更新所述電子表格的顯示。
8.一種用于使用對(duì)包括電子表格中的數(shù)據(jù)和來(lái)自外部數(shù)據(jù)源的數(shù)據(jù)的數(shù)據(jù)進(jìn)行結(jié)構(gòu)化的模型的系統(tǒng),包括 顯示器; 電子表格應(yīng)用程序; 建模引擎; 處理器和計(jì)算機(jī)可讀介質(zhì); 存儲(chǔ)在所述計(jì)算機(jī)可讀介質(zhì)上并在所述處理器上執(zhí)行的操作環(huán)境;以及 被配置成執(zhí)行各動(dòng)作的進(jìn)程,包括 顯示與所述電子表格應(yīng)用程序相關(guān)聯(lián)的、包括按行和列來(lái)安排的數(shù)據(jù)的電子表格;從外部數(shù)據(jù)源選擇數(shù)據(jù); 確定顯示在所述電子表格上的數(shù)據(jù)的結(jié)構(gòu); 創(chuàng)建包括所選數(shù)據(jù)、顯示在所述電子表格上的數(shù)據(jù)、所選數(shù)據(jù)的結(jié)構(gòu)、以及顯示在所述電子表格上的數(shù)據(jù)的所確定的結(jié)構(gòu)的模型; 將所述模型存儲(chǔ)在包括顯示在所述電子表格上的數(shù)據(jù)的電子表格文件中; 使用查詢(xún)語(yǔ)言來(lái)查詢(xún)所述模型; 獲得結(jié)果;以及 基于所述結(jié)果來(lái)更新所述電子表格的顯示。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,還包括根據(jù)以下各項(xiàng)中的至少一個(gè)來(lái)分析所述數(shù)據(jù)的布局和首部以確定結(jié)構(gòu)顯示在所述電子表格上的數(shù)據(jù)和來(lái)自所述外部數(shù)據(jù)源的數(shù)據(jù)。
10.如權(quán)利要求8所述的系統(tǒng),其特征在于,還包括響應(yīng)于使用所述模型和所述電子表格來(lái)執(zhí)行的操作來(lái)更新所述模型。
全文摘要
電子表格中的數(shù)據(jù)的結(jié)構(gòu)化建模。顯示在電子表格上的數(shù)據(jù)和來(lái)自一個(gè)或多個(gè)數(shù)據(jù)源的數(shù)據(jù)被用來(lái)在電子表格內(nèi)創(chuàng)建模型。該數(shù)據(jù)可從許多類(lèi)型的數(shù)據(jù)源獲得,如關(guān)系數(shù)據(jù)庫(kù)、多維源、云服務(wù)、數(shù)據(jù)饋源、電子表格文件、文本文件、來(lái)自web的數(shù)據(jù),等等。電子表格應(yīng)用程序的建模引擎創(chuàng)建模型,該模型對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化、將數(shù)據(jù)的不同片段進(jìn)行相關(guān)、以及提供該數(shù)據(jù)的上下文。該模型可被存儲(chǔ)在電子表格內(nèi),包括原始數(shù)據(jù)和描述該數(shù)據(jù)的元數(shù)據(jù),并提供該數(shù)據(jù)的上下文。該模型可基于電子表格的執(zhí)行的操作被自動(dòng)更新??梢允褂貌樵?xún)語(yǔ)言(例如,MDX、DAX、SQL、電子表格函數(shù)和公式……)來(lái)檢查該模型以檢查從該電子表格和一個(gè)或多個(gè)數(shù)據(jù)源獲得的數(shù)據(jù)和關(guān)系。
文檔編號(hào)G06F17/30GK102968468SQ201210448568
公開(kāi)日2013年3月13日 申請(qǐng)日期2012年11月9日 優(yōu)先權(quán)日2011年11月11日
發(fā)明者D·M·奧本海默, A·福爾廷, A·V·格拉巴, S·V·W·漢迪 申請(qǐng)人:微軟公司