專利名稱:便于使用的數(shù)據(jù)上下文過濾的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及軟件應(yīng)用程序鄰域,尤其涉及諸如通過數(shù)據(jù)查詢存儲(chǔ)并排序數(shù)據(jù)的軟件應(yīng)用程序,還涉及過濾從查詢結(jié)果返回的數(shù)據(jù)。
背景技術(shù):
為了管理大量數(shù)據(jù),已經(jīng)開發(fā)了諸如電子制表和數(shù)據(jù)庫(kù)應(yīng)用程序的計(jì)算機(jī)軟件應(yīng)用程序來以邏輯方式組織并存儲(chǔ)數(shù)據(jù)。典型的電子制表和數(shù)據(jù)庫(kù)應(yīng)用程序包括大量的信息記錄,其中每個(gè)記錄包括預(yù)定數(shù)量的字段。在數(shù)據(jù)庫(kù)的上下文中,數(shù)據(jù)庫(kù)管理系統(tǒng)通常被用來提供更簡(jiǎn)單地操縱數(shù)據(jù)庫(kù)的軟件工具。例示數(shù)據(jù)庫(kù)管理系統(tǒng)包括微軟Access和微軟SQL Server等。數(shù)據(jù)庫(kù)通常使用戶能建立在電子表格中不可用的復(fù)雜的數(shù)據(jù)相互關(guān)系,這提高了它們的能力但也使數(shù)據(jù)庫(kù)應(yīng)用程序?qū)π掠脩舳愿y掌握。
典型的數(shù)據(jù)庫(kù)管理系統(tǒng)向用戶提供添加、更改或刪除數(shù)據(jù)的能力,以及查詢、排序或重新組合數(shù)據(jù)庫(kù)中記錄的能力。此外,普通系統(tǒng)還提供與維護(hù)數(shù)據(jù)庫(kù)數(shù)據(jù)的安全性和整體性相關(guān)的功能。
查詢?cè)陔娮颖砀窕驍?shù)據(jù)庫(kù)應(yīng)用程序中的大量數(shù)據(jù)是復(fù)雜的和令人害怕的任務(wù),特別是對(duì)新用戶而言。確定如何在電子表格中指定一數(shù)據(jù)查詢也是困難的。數(shù)據(jù)庫(kù)應(yīng)用程序會(huì)特別難以使用,因?yàn)槌J褂谜麄€(gè)查詢語言來使能更復(fù)雜的查詢。查詢語言會(huì)使新用戶害怕,因而需要更加用戶友好的查詢界面。
本發(fā)明是參照這些和其它考慮作出的。
發(fā)明內(nèi)容
根據(jù)本發(fā)明,計(jì)算機(jī)實(shí)現(xiàn)方法被提供用于過濾查詢的圖形設(shè)計(jì)。接收一信號(hào)以過濾表格。然后,分析特定鍵字段的上下文,且顯示基于該上下文的過濾器菜單。接收過濾器選擇,并創(chuàng)建相應(yīng)的過濾器。
根據(jù)其它方面,本發(fā)明涉及一種用于方便使用數(shù)據(jù)過濾的系統(tǒng)。菜單模塊維護(hù)過濾器菜單。接收模塊接收過濾器信號(hào)以及從過濾器菜單的選擇。過濾器模塊執(zhí)行過濾。顯示模塊顯示過濾器菜單和過濾結(jié)果,而上下文分析模塊分析特定表格單元或列的上下文。
根據(jù)另外的方面,本發(fā)明涉及一種用于過濾查詢的自動(dòng)化創(chuàng)建的方法。顯示數(shù)據(jù)表格。接收過濾該表格的信號(hào)。分析特定列的上下文,并基于該上下文顯示過濾器菜單。接收過濾器選擇,并創(chuàng)建和執(zhí)行一新的過濾器。本發(fā)明可被實(shí)現(xiàn)為計(jì)算機(jī)進(jìn)程、計(jì)算系統(tǒng)或諸如計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì)的制造品。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)系統(tǒng)可讀的并編碼用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的計(jì)算機(jī)存儲(chǔ)介質(zhì)。該計(jì)算機(jī)程序可讀介質(zhì)還可以是計(jì)算系統(tǒng)可讀的并編碼用于執(zhí)行計(jì)算機(jī)進(jìn)程的指令的計(jì)算機(jī)程序的載波上的傳播信號(hào)。
參閱以下詳細(xì)描述和附圖,特征化本發(fā)明的這些和各種其它特征和優(yōu)點(diǎn)將變得顯而易見。
圖1示出其中可實(shí)現(xiàn)本發(fā)明實(shí)施例的數(shù)據(jù)庫(kù)環(huán)境。一列表示圖包含未經(jīng)過濾的數(shù)據(jù)。數(shù)據(jù)庫(kù)管理系統(tǒng)的該列表示圖表示現(xiàn)有技術(shù)。
圖2示出其上可實(shí)現(xiàn)本發(fā)明一實(shí)施例的適當(dāng)計(jì)算系統(tǒng)環(huán)境的一個(gè)示例。
圖3示出在本發(fā)明一實(shí)施例中執(zhí)行的各操作的操作流。
圖4是示出包括本發(fā)明一實(shí)施例的各模塊的框圖。
圖5示出一示例屏幕截圖,其中已接收要過濾的信號(hào)并顯示一過濾器菜單。未經(jīng)過濾的記錄可在背景中看到。
圖6示出另一示例屏幕截圖,其中從過濾器菜單中選擇一特定過濾器。
圖7示出另一示例屏幕截圖,其中特定過濾器已被應(yīng)用于數(shù)據(jù),并可看到最后所得的經(jīng)過濾記錄。
具體實(shí)施例方式
圖1示出數(shù)據(jù)庫(kù)管理系統(tǒng)內(nèi)產(chǎn)品訂購(gòu)數(shù)據(jù)庫(kù)的列表示圖(也稱為表格102)的屏幕截圖。表格102具有包括多個(gè)行和列的數(shù)據(jù)的一個(gè)表格。每行數(shù)據(jù)通常包括單個(gè)數(shù)據(jù)記錄。一般而言,可依靠數(shù)據(jù)庫(kù)中每列數(shù)據(jù)來包括相同類型的數(shù)據(jù)元素。例如,Order ID列104包括數(shù)字格式的數(shù)據(jù)元素,Customer列106包括字母字符串形式的數(shù)據(jù),Order Date列108包括日期格式的數(shù)據(jù)等。本領(lǐng)域技術(shù)人員將理解,許多其它類型的數(shù)據(jù)可被保存在數(shù)據(jù)庫(kù)中,并使用數(shù)據(jù)庫(kù)管理系統(tǒng)內(nèi)的表格顯示。
盡管圖1中數(shù)據(jù)有欺騙性的簡(jiǎn)單視覺呈現(xiàn),直到現(xiàn)在用戶仍然不得不以適當(dāng)?shù)慕Y(jié)構(gòu)化查詢語言通常通過設(shè)計(jì)并鍵入查詢命令來手動(dòng)地明確表達(dá)查詢。因此盡管數(shù)據(jù)庫(kù)管理系統(tǒng)可提供數(shù)據(jù)的直接示圖,明確表達(dá)有效查詢對(duì)初見數(shù)據(jù)庫(kù)世界的電子表格用戶是難以學(xué)習(xí)的技術(shù)。通過允許過濾數(shù)據(jù)的“罐裝”(預(yù)先制造的)查詢,并允許簡(jiǎn)單的查詢接口,本發(fā)明使數(shù)據(jù)庫(kù)和電子表格產(chǎn)品能比以前更容易被新用戶訪問。
假設(shè)本發(fā)明可被實(shí)現(xiàn)為計(jì)算機(jī)系統(tǒng),提供了圖2以示出其上可實(shí)現(xiàn)本發(fā)明實(shí)施例的適當(dāng)計(jì)算系統(tǒng)環(huán)境的一個(gè)示例。在其最基本配置中,計(jì)算裝置200通常包括至少一個(gè)處理單元202和存儲(chǔ)器204。取決于計(jì)算裝置200的準(zhǔn)確配置和類型,存儲(chǔ)器204可以是易失性的(諸如RAM)、非易失性的(諸如ROM、閃存等等)、或兩者的某種組合。計(jì)算裝置200的最基本配置由虛線206在圖2中示出。
除了存儲(chǔ)器204,系統(tǒng)可包括至少一種其它形式的計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是系統(tǒng)200可訪問的任何可用介質(zhì)。作為示例,但非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。
計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用來存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其它數(shù)據(jù)的信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)的介質(zhì)。存儲(chǔ)器204、可移動(dòng)存儲(chǔ)器208和不可移動(dòng)存儲(chǔ)器210都是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字化多功能盤(DVD)或其它光學(xué)存儲(chǔ)器、磁盒、磁帶、磁盤存儲(chǔ)器、其它磁性存儲(chǔ)裝置、或可用來存儲(chǔ)所需信息并可由系統(tǒng)200和處理器202訪問的任何其它介質(zhì)。任何這種計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是系統(tǒng)200的一部分。
系統(tǒng)200還可包含使裝置能與其它裝置通信的通信連接212。通信連接212是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通常體現(xiàn)為計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其它諸如載波或其它傳送機(jī)制的已調(diào)制數(shù)據(jù)信號(hào)中的其它數(shù)據(jù),并包括任何信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號(hào)”意指具有以這種把信息編碼到信號(hào)中的方式來設(shè)置或改變的一個(gè)或多個(gè)特征的信號(hào)。作為示例,而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接有線連接的有線介質(zhì),以及諸如聲學(xué)、RF、紅外和其它無線介質(zhì)的無線介質(zhì)。術(shù)語計(jì)算機(jī)可讀介質(zhì)在此使用時(shí),包括存儲(chǔ)介質(zhì)和通信介質(zhì)。
根據(jù)一實(shí)施例,系統(tǒng)200包括諸如輸入裝置214和/或輸出裝置216的外圍裝置。示例性輸入裝置214包括,但無限制,鍵盤、計(jì)算機(jī)鼠標(biāo)、筆或電子筆、語音輸入裝置、觸摸輸入裝置等。示例性輸出裝置216包括,但無限制,諸如顯示器、揚(yáng)聲器、打印機(jī)的裝置。對(duì)于本發(fā)明,顯示器是主要的輸出裝置。所有這些裝置在本領(lǐng)域中是眾所周知的,無需在此贅述。
圖3示出本發(fā)明一實(shí)施例,其中使用上下文過濾來查詢表格。在本發(fā)明一實(shí)施例中,顯示表格操作302顯示一表格(諸如圖1中的表格102)。該表格實(shí)際上可包括任何類型的數(shù)據(jù)。每列數(shù)據(jù)一般包含單個(gè)同類數(shù)據(jù)類型的數(shù)據(jù),諸如一系列日期、字母字符串或數(shù)字。
當(dāng)用戶點(diǎn)擊適當(dāng)?shù)膱D形用戶界面(GUI)控制序列時(shí),接收操作304接收要過濾表格數(shù)據(jù)的信號(hào)。在本發(fā)明一實(shí)施例中,在特定列或列標(biāo)題(指示“關(guān)鍵字段”的列,如下所述)上右擊鼠標(biāo)導(dǎo)致信號(hào)被發(fā)送給接收操作304。在本發(fā)明一可選實(shí)施例中,在表格中一特定單元上(單元所在列變成關(guān)鍵字段)左擊導(dǎo)致信號(hào)被發(fā)送給接收操作304。本領(lǐng)域技術(shù)人員將理解,來自輸入裝置的任何數(shù)量的可能GUI控件或命令序列,可被用來選擇特定類型的數(shù)據(jù)。示例包括將鼠標(biāo)指針集中在給定數(shù)據(jù)元素、列、或列標(biāo)題上,伴隨以激活某鼠標(biāo)按鈕。或者,鍵盤可被用來作選擇。又或者,鍵盤、鼠標(biāo)、跟蹤球、或其它輸入裝置動(dòng)作的組合可被用來選擇數(shù)據(jù)元素、列、或列標(biāo)題。
在一實(shí)施例中,接收操作304可將對(duì)列中單元的選擇翻譯成要基于整列內(nèi)容過濾的信號(hào)。在一可選實(shí)施例中,接收操作304可將對(duì)列中單元的選擇翻譯成要特別基于特定單元內(nèi)容過濾的信號(hào)。選擇所對(duì)應(yīng)的列變成“關(guān)鍵字段”,即其值被用來判定過濾或不過濾每個(gè)給定行的列。例如,為了從來自產(chǎn)品訂購(gòu)數(shù)據(jù)表格的查詢結(jié)果中略去或“濾去”在2004年之前的所有訂購(gòu),“order date”(訂購(gòu)日期)列必然變成該查詢的關(guān)鍵字段。
當(dāng)選擇一特定單元(而非整個(gè)列時(shí))時(shí),將值集成到單元中的過濾選項(xiàng)是可能(例如參見圖5、6、7中示例,如下所述)。
參照一可選實(shí)施例,數(shù)據(jù)表格外部的數(shù)據(jù)也可被結(jié)合到過濾器中。例如,濾去訂購(gòu)數(shù)據(jù)表格中“今天”的訂購(gòu)需要檢索外部數(shù)據(jù)(即今天的日期)并結(jié)合到查詢中,因?yàn)楫?dāng)前的日期和時(shí)間一直在變從而存儲(chǔ)到數(shù)據(jù)表格中是不實(shí)際的。
在接收操作304接收要過濾的信號(hào)之后,分析上下文操作306分析選定的數(shù)據(jù)單元或列來確定它包含哪種數(shù)據(jù)類型。適于確定數(shù)據(jù)類型的數(shù)據(jù)過濾器也可被添加到過濾器菜單502(參見圖5)。
例如,如果數(shù)據(jù)類型被確定是日期,則適合日期的一個(gè)或多個(gè)過濾器將被添加到過濾器菜單(參見圖5 502的示例性過濾器菜單)。這樣的日期特定過濾器選擇可包括“今天”,它可被用來濾去與今天日期不匹配的所有記錄。類似地,“昨天”和“明天”也是可由分析上下文操作304添加到過濾器菜單的日期特定過濾器選擇。其它日期特定的過濾器選擇可包括“本周”、“上月”、“上個(gè)季度”、“今年”等。其它的日期特定選擇可包括比包含在單元中(如果選定一特定單元)日期“新的”、比包含在選定單元中“舊的”、或與包含在選定單元中“同月”的。
在又一實(shí)施例中,基于日期的過濾器可涉及“期間內(nèi)所有日期”過濾器。例如,該類過濾器的用戶選項(xiàng)或選擇可包括“1季度”和/或“2季度”等以顯示與選定季度相關(guān)聯(lián)的所有數(shù)據(jù),而不用考慮年份。在另一實(shí)施例中,選擇可包括諸如“1月”、“2月”、“3月”等的月份,從而用戶可選擇這些選項(xiàng)來僅示出選定月份期間的日期,而不用考慮年份值。這樣,對(duì)于這些示例,同一應(yīng)用程序可分別查看并過濾過去5年中第一季度的銷售或給定月份中的所有生日。
在一給定實(shí)施例中,其它類型-特定的過濾器可因其它數(shù)據(jù)類型而存在。例如,字符串-特定過濾器可包括“is”(是),它可濾去不匹配特定單元中所包含字符串的數(shù)據(jù)記錄。類似地,“is not”(不是)可濾去匹配特定單元中所包含字符串的數(shù)據(jù)記錄?!癇egins with”(以之開始)可被用來濾去不包含以用戶指定字符串開始的字符串的記錄,因而允許通過部分匹配給定字符串進(jìn)行過濾?!癱ontains”(包含)可允許類似部分搜索,該類返回具有包含另一給定字符串的字符串的元素。“Notblank”(不空白)可濾去在指定字段內(nèi)包含一空白字符串的數(shù)據(jù)記錄。
在另一實(shí)施例中,出現(xiàn)在列中的值的列表被呈現(xiàn)給用戶。每一個(gè)值的旁邊是一復(fù)選框,或允許二進(jìn)制選擇的其它控件。包含不匹配選定(復(fù)選)值的值的記錄將被濾去。
在另一實(shí)施例中,數(shù)字特定過濾器使能基于數(shù)字字段的內(nèi)容進(jìn)行過濾。例如,“Smallest 25”(最小25個(gè))可濾去除包含表示關(guān)鍵字段中最小的25個(gè)值的關(guān)鍵字段的記錄之外的全部記錄。如果存在包含非唯一數(shù)字的列,則這樣的過濾器可返回25個(gè)以上的記錄,因?yàn)樵诒容^數(shù)字時(shí)SQL報(bào)告“系于”最高或最低狀態(tài)的所有數(shù)字。例如,濾去除對(duì)應(yīng)于最小25個(gè)客戶郵編的記錄之外的所有記錄仍可包括太多客戶記錄,因?yàn)槌汕先f的客戶可駐留在每個(gè)郵編內(nèi)。作為又一示例,“Largest100”(最大100個(gè))可濾去除包含表示關(guān)鍵字段中最大100個(gè)值的關(guān)鍵字段的記錄之外的全部記錄?!癎reater than average”(大于平均值)將計(jì)算一列數(shù)字的平均值,然后濾去小于或等于該平均值的記錄。類似地,“Less than average”(小于平均值)將計(jì)算一列數(shù)字的平均值,然后濾去大于或等于該平均值的記錄。在另一實(shí)施例中,用戶可使用“Between”(之間)過濾器來指定2個(gè)數(shù)字,而包含不在由該兩個(gè)數(shù)字形成的范圍之內(nèi)值的記錄將被濾去。
在又一實(shí)施例中,百分比可被用來濾去數(shù)字值。例如,“Smallest 5 percent”(最小的5%)或“Largest 25 percent”(最大的25%)可被用來基于相對(duì)表格中其它數(shù)字的值過濾數(shù)字。
在本發(fā)明一特定實(shí)施例中,包含具有非常有限值選擇的單元的列可使得分析上下文操作306將真實(shí)值加入過濾器菜單。例如,僅允許“Yes”或“No”為可能值的列可使分析上下文操作306將“Yes”或“No”過濾器選項(xiàng)加入過濾器菜單。
本領(lǐng)域技術(shù)人員將理解某些過濾器可適于多種數(shù)據(jù)類型。例如,“Equals”可被用來濾去不等于選定單元內(nèi)容的的所有數(shù)據(jù)記錄。“Equals”可被用來尋找一匹配日期、數(shù)字、字母字符串、布爾值等。
在本發(fā)明一實(shí)施例中,分析上下文操作306可確定不需要向過濾器菜單添加其它過濾器。
在分析上下文操作306向過濾器菜單添加任何適當(dāng)過濾器之后,顯示操作308顯示該過濾器菜單(對(duì)于過濾器菜單的示例,參見圖6中602)。由顯示操作308示出的過濾器菜單可包括適于所有數(shù)據(jù)類型的缺省過濾器(諸如上述的“Equals”)。
一旦已顯示過濾器菜單,接收操作310接收一過濾器選擇。在一實(shí)施例中,可通過將鼠標(biāo)指針停留在過濾器菜單中一給定過濾器上并點(diǎn)擊鼠標(biāo)按鈕作選擇。然而,本領(lǐng)域技術(shù)人員將理解,任何數(shù)量的輸入裝置序列可被用來從過濾器菜單中選擇一過濾器,而不背離本發(fā)明范圍。
在接收一過濾器選擇之后,確定操作312確定對(duì)一選定表格列是否存在過濾器。如果過濾器對(duì)于選定表格列存在,則流分支YES到移除操作314。然而,如果過濾器對(duì)于選定表格列未存在,則流分支NO到創(chuàng)建操作316。
在本發(fā)明一實(shí)施例中,兩個(gè)過濾器不能被應(yīng)用于同一表格列,所以如果確定操作312確定過濾器對(duì)于選定表格列存在,則移除操作314被用來移除該過濾器為新過濾器讓路。
如果無過濾器對(duì)指定表格列存在,或如果過濾器存在且通過移除操作314移除,則創(chuàng)建操作316隨后創(chuàng)建一新的過濾器。該新的過濾器包括以諸如SQL的查詢語言編碼的查詢。
在本發(fā)明一可選實(shí)施例中,多個(gè)過濾器可被應(yīng)用于同一表格列,只要那些過濾器不互相排斥。
在涉及數(shù)據(jù)庫(kù)的一實(shí)施例中,可創(chuàng)建結(jié)合一SQL“where”限定詞的過濾器查詢。Where限定詞當(dāng)被添加到SQL查詢時(shí)可被用來進(jìn)行搜索或縮小查詢結(jié)果。例如,將“where Country=Lithuania”附于SQL查詢末端可使該查詢僅返回Country列的值等于“Lithuania”的結(jié)果。類似地,將“where OrderID=41475”附于一SQL查詢將使查詢僅返回OrderID等于41475的結(jié)果。這樣,where限定詞可被用來返回匹配查詢的任意寬或窄的記錄列表。
本領(lǐng)域技術(shù)人員將理解,除了查找全匹配,where限定詞還可被用來通過使用常規(guī)表達(dá)式(本領(lǐng)域內(nèi)眾所周知的搜索工具)來尋找對(duì)查詢的部分匹配。例如,可更改where查詢來查詢具有以“L”開始Country值的所有記錄。類似地,特定范圍的數(shù)字和/或日期也可使用where限定詞來查詢。
在另一實(shí)施例中,一過濾器可結(jié)合SQL“top”限定詞。這可被用來指示一查詢僅返回任意數(shù)量的最高或最低條目。例如,通過將Top(5)添加到銷售數(shù)據(jù)庫(kù)查詢,對(duì)一給定查詢將僅返回最高的5個(gè)銷售數(shù)據(jù)而非全部銷售。在平局情形中,示例性銷售數(shù)據(jù)庫(kù)將返回5個(gè)以上記錄。
本領(lǐng)域技術(shù)人員將理解,where和最高SQL限定詞被僅提供為示例性實(shí)施例,且其它查詢限定詞可被用來構(gòu)建查詢而不背離本發(fā)明的范圍。此外,某些實(shí)施例涉及電子表格,它可不用查詢語言而相反直接對(duì)數(shù)據(jù)執(zhí)行查詢。
在涉及數(shù)據(jù)庫(kù)的一實(shí)施例中,包含適當(dāng)SQL限定詞的過濾查詢被創(chuàng)建,并存儲(chǔ)于存儲(chǔ)器中用于進(jìn)一步的更改和/或以后的使用。
在本發(fā)明一實(shí)施例中,創(chuàng)建操作316還可通過在顯示過濾器菜單的任何時(shí)候使其高亮來選擇過濾器菜單上的給定過濾器。
在創(chuàng)建一過濾器之后,執(zhí)行操作318基于該過濾器來執(zhí)行過濾。在一數(shù)據(jù)庫(kù)實(shí)施例中,由創(chuàng)建操作316創(chuàng)建的查詢由數(shù)據(jù)庫(kù)管理系統(tǒng)以查詢語言發(fā)給數(shù)據(jù)庫(kù)。在另一實(shí)施例中,過濾直接由應(yīng)用程序執(zhí)行。結(jié)果可被存儲(chǔ)在存儲(chǔ)器中,或直接存儲(chǔ)到顯示操作320(如下所述)用于呈現(xiàn)。
顯示操作320在屏幕上呈現(xiàn)由執(zhí)行操作318產(chǎn)生的查詢結(jié)果。該結(jié)果可從存儲(chǔ)器讀取,通過執(zhí)行操作318直接輸送到顯示操作320,或以其它方式傳送到顯示操作320用于呈現(xiàn)。結(jié)果替換原始的未經(jīng)過濾的表格呈現(xiàn)。
在本發(fā)明一可選實(shí)施例中,結(jié)果可在一附加結(jié)果表格中呈現(xiàn),而不必替換原始的未經(jīng)過濾的表格。
在本發(fā)明一特定實(shí)施例中,存在使用戶能刪除所有當(dāng)前有效過濾器的“clearfilters”控件。可任選地,“clear filters”控件還可關(guān)閉所有過濾器重新發(fā)出當(dāng)前查詢,并在屏幕上相應(yīng)地更新結(jié)果。
圖4是示出包括本發(fā)明一實(shí)施例的模塊的框圖。一實(shí)施例400在執(zhí)行查詢、執(zhí)行過濾查詢、或接收過濾查詢的結(jié)果時(shí)可與存儲(chǔ)器420通信。實(shí)施例400還與顯示裝置430通信以允許對(duì)單元、列、以及過濾器的圖形選擇能返回過濾器等。
菜單模塊402維護(hù)特定表格列的過濾器菜單。這可包括將上下文適當(dāng)?shù)倪^濾器選項(xiàng)添加到過濾器菜單,從菜單移除上下文不適當(dāng)?shù)倪^濾器菜單、并排序過濾器菜單中的過濾器選項(xiàng)。
接收模塊404接收過濾器記錄的信號(hào)和來自過濾器菜單的過濾器選擇的信號(hào)。輸入可通過鍵盤輸入或其它輸入裝置或通過自動(dòng)化腳本或宏從GUI接收。
過濾器模塊406創(chuàng)建過濾器。在涉及數(shù)據(jù)庫(kù)的實(shí)施例中,過濾器模塊406還創(chuàng)建與過濾器相關(guān)聯(lián)的查詢并執(zhí)行那些查詢。盡管SQL是數(shù)據(jù)庫(kù)領(lǐng)域中的重要查詢語言,過濾器查詢可用包括諸如HQL(健康查詢語言)的SQL專用版本、或與SQL無關(guān)的查詢語言的任何查詢語言來創(chuàng)建。查詢的執(zhí)行可在數(shù)據(jù)庫(kù)管理系統(tǒng)層上發(fā)生,或可被授權(quán)給訪問數(shù)據(jù)庫(kù)的低層程序。查詢可在與數(shù)據(jù)庫(kù)管理系統(tǒng)運(yùn)行的同一系統(tǒng)上執(zhí)行,或發(fā)送到一個(gè)或多個(gè)遠(yuǎn)程系統(tǒng)用于執(zhí)行。在后者情形中,遠(yuǎn)程系統(tǒng)將(直接或間接地)結(jié)果返回到數(shù)據(jù)庫(kù)管理系統(tǒng),從而可顯示查詢結(jié)果。過濾器還可由電子表格應(yīng)用程序直接應(yīng)用于數(shù)據(jù),而不使用查詢或數(shù)據(jù)庫(kù)管理系統(tǒng)。
顯示模式408示出本發(fā)明的許多方面。例如,顯示模式408可顯示電子制表或數(shù)據(jù)庫(kù)管理系統(tǒng)中的一個(gè)表格。它還可顯示先前結(jié)合圖3討論的過濾器菜單。此外,它可以表格的顯示或其它適當(dāng)格式顯示過濾器的結(jié)果。顯示模塊408可與顯示裝置430交互以呈現(xiàn)它在顯示的元素。
上下文分析模塊410分析數(shù)據(jù)表格中特定單元或列的上下文。適當(dāng)?shù)?和不適當(dāng)?shù)?過濾器可使用預(yù)定標(biāo)準(zhǔn)(參見結(jié)合圖3對(duì)分析上下文操作306的討論)或其它標(biāo)準(zhǔn)導(dǎo)出。
圖5示出已接收要過濾信號(hào)(未示出)的一示例屏幕截圖以及所顯示的過濾器菜單502。未經(jīng)過濾的記錄504可在背景中看到,因?yàn)檫^濾器還未從過濾器菜單502中選擇。在示例性屏幕截圖中,當(dāng)用戶先點(diǎn)擊Order Date列506中第一個(gè)單元(未示出)(因而在隨后的過濾發(fā)生之后將Order Date選為關(guān)鍵字段),再點(diǎn)擊Common Filters菜單項(xiàng)508時(shí),過濾器菜單502顯示,盡管本領(lǐng)域技術(shù)人員將理解該功能可簡(jiǎn)便地在不同單元或列上和/或用不同菜單項(xiàng)、按鈕、鼠標(biāo)或鍵盤序列或選擇工具欄元件觸發(fā)而不背離本發(fā)明的范圍。
圖6示出另一屏幕截圖,其中從過濾器菜單604中選擇特定過濾器602。在該示例性屏幕截圖中,特定的過濾器602通過將鼠標(biāo)指針停留在其上并左擊來選擇,盡管本領(lǐng)域技術(shù)人員將理解可使用其它序列和其它輸入裝置來作該選擇而不背離本發(fā)明范圍。
圖7示出另一示例性屏幕截圖,其中特定過濾器(未示出;結(jié)合圖6參見602)已被應(yīng)用于未經(jīng)過濾數(shù)據(jù)(未示出;結(jié)合圖1參見102),并可看到最后的經(jīng)過濾數(shù)據(jù)702。Order data列704被加以陰影,以注意到經(jīng)過濾數(shù)據(jù)702僅包含其OrderDate關(guān)鍵字段值為5月的記錄。
本領(lǐng)域技術(shù)人員將理解,盡管為了簡(jiǎn)便各示例性實(shí)施例僅處理一過濾器,應(yīng)用于多個(gè)列的多個(gè)過濾器可同時(shí)有效,從而使與過濾器的交互更精確地集中于過濾器查詢。類似地,本領(lǐng)域技術(shù)人員將理解,盡管示例性實(shí)施例在電子制表和數(shù)據(jù)庫(kù)應(yīng)用程序的上下文中呈現(xiàn),本發(fā)明須在特定數(shù)據(jù)可在數(shù)據(jù)集中選擇的任意上下文里使用。此外,不需顯示最后特定數(shù)據(jù)。相反它可被保存到存儲(chǔ)器,發(fā)送給打印機(jī)、經(jīng)電子郵件發(fā)送、或以其它方式引導(dǎo)而不背離本發(fā)明范圍。
上述各個(gè)實(shí)施例僅被提供作為說明,且不應(yīng)被解釋為限制本發(fā)明。本領(lǐng)域技術(shù)人員將容易理解,對(duì)本發(fā)明作各種更改和改變而無需遵從在此示出和描述的示例實(shí)施例和應(yīng)用程序,并不背離在此后權(quán)利要求中陳述的本發(fā)明的真實(shí)精神和范圍。
權(quán)利要求
1.一種用于過濾器查詢的圖形表達(dá)的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,包括接收要過濾表格的信號(hào);分析特定關(guān)鍵字段的上下文;基于所述上下文顯示過濾器的菜單;以及從過濾器的所述菜單接收一過濾器選擇。
2.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,還包括發(fā)出所述相關(guān)聯(lián)過濾器查詢。
3.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,還包括顯示與所述過濾器查詢相關(guān)聯(lián)的結(jié)果。
4.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,還包括如果另一過濾器已對(duì)一列存在,則移除一過濾器。
5.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,分析指定關(guān)鍵字段的上下文還包括確定列的數(shù)據(jù)類型。
6.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,分析指定關(guān)鍵字段的上下文還包括計(jì)算一列中數(shù)值的平均值。
7.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,分析指定關(guān)鍵字段的上下文還包括從所述過濾器菜單中移除一不適當(dāng)過濾器。
8.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,過濾器菜單內(nèi)容可由用戶配置。
9.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,特定過濾器值可由用戶以二進(jìn)制方式選擇。
10.如權(quán)利要求1所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其特征在于,還包括創(chuàng)建一新過濾器和一相關(guān)聯(lián)過濾查詢。一種用于便于使用的數(shù)據(jù)過濾的系統(tǒng)包括菜單模塊,用于維護(hù)過濾器菜單;接收模塊,用于接收過濾器信號(hào)和來自所述過濾器菜單的選擇;過濾器模塊,用于創(chuàng)建過濾器查詢并執(zhí)行過濾;顯示模塊,用于顯示所述過濾器菜單和過濾結(jié)果;以及上下文分析模塊,用于分析特定表格單元或列的上下文。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述顯示模塊還顯示數(shù)據(jù)表格。
12.如權(quán)利要求10所述的系統(tǒng),其特征在于,還包括移除任何現(xiàn)存過濾器的公式移除模塊。
13.一種用于過濾器查詢的自動(dòng)化創(chuàng)建的方法,其特征在于,包括顯示數(shù)據(jù)表格;接收要過濾所述表格的信號(hào);分析指定列的上下文;基于所述上下文顯示過濾器的菜單;接收來所述過濾器菜單的過濾器選擇;以及創(chuàng)建一新的過濾器。
14.如權(quán)利要求13所述的方法,其特征在于,還包括創(chuàng)建一相關(guān)聯(lián)的過濾查詢;以及執(zhí)行所述過濾查詢。
15.如權(quán)利要求13所述的方法,其特征在于,還包括顯示與所述過濾查詢相關(guān)聯(lián)的顯示結(jié)果。
16.如權(quán)利要求13所述的方法,其特征在于,還包括如果另一過濾器已對(duì)一列存在,則移除過濾器。
17.如權(quán)利要求13所述的方法,其特征在于,創(chuàng)建新過濾器還包括從特定數(shù)據(jù)單元檢查用于所述新過濾器的數(shù)據(jù)。
18.如權(quán)利要求13所述的方法,其特征在于,創(chuàng)建新過濾器還包括檢索有關(guān)當(dāng)前時(shí)間和日期的數(shù)據(jù)。
19.如權(quán)利要求13所述的方法,其特征在于,分析指定關(guān)鍵領(lǐng)域的上下文還包括從所述過濾器菜單移除不適當(dāng)過濾器。
20.如權(quán)利要求13所述的方法,其特征在于,過濾器菜單內(nèi)容可由用戶配置。
全文摘要
揭示了一種用于過濾器查詢的圖形表達(dá)的方法和系統(tǒng),它使數(shù)據(jù)查詢能通過菜單選擇簡(jiǎn)便進(jìn)行。接收要過濾或查詢數(shù)據(jù)表格的信號(hào)。然后,分析已發(fā)信號(hào)的關(guān)鍵字段的上下文,并基于該上下文來明確表達(dá)并顯示過濾器菜單。過濾器選擇被接收,且相應(yīng)的過濾器被執(zhí)行。該過濾器的結(jié)果在屏幕上示出。
文檔編號(hào)G06F17/30GK1783072SQ20051008851
公開日2006年6月7日 申請(qǐng)日期2005年7月29日 優(yōu)先權(quán)日2004年9月30日
發(fā)明者C·W·布萊恩特, C·D·科溫頓, P·E·貝格曼, R·迪金森, T·M·拜延 申請(qǐng)人:微軟公司