專利名稱::對交互式匯總表的多條件過濾的制作方法對交互式匯總表的多條件過濾匯總表是使詳細的、事務性源數(shù)據(jù)以變化的細節(jié)水平被“卷起”或概括的數(shù)據(jù)匯總工具??稍谥T如電子表格程序和數(shù)據(jù)報告工具之類的數(shù)據(jù)可視化和分析程序中找到還被稱為數(shù)據(jù)透視表(pivottable)的匯總表功能。數(shù)據(jù)分析程序可允許用戶將匯總表繪制為網(wǎng)格,從而為網(wǎng)格的行和列標簽指定來自源數(shù)據(jù)的數(shù)據(jù)字段以及在網(wǎng)格中所概括的數(shù)據(jù)值。數(shù)據(jù)分析程序隨后可基于從源數(shù)據(jù)提取的行和列標簽來對網(wǎng)格中的數(shù)據(jù)值進行歸組,排序,計數(shù)和/或求和。數(shù)據(jù)分析程序可允許用戶為匯總表的行和/或列標簽指定多個數(shù)據(jù)字段。在該情況下,數(shù)據(jù)分析程序按照常規(guī)顯示由行或列標簽基于所指定的數(shù)據(jù)字段的次序來分層地概括的數(shù)據(jù)值。取決于用戶的要求,數(shù)據(jù)分析程序還可允許用戶交互地操縱匯總表,從而擴展和折疊分層結(jié)構(gòu)中的行標簽或列標簽以顯示更多或更少的數(shù)據(jù)值。交互式匯總表的一些實現(xiàn)可允許用戶通過指定匯總表的數(shù)據(jù)過濾器來限制所顯示的數(shù)據(jù)。數(shù)據(jù)過濾器可以是限制由數(shù)據(jù)分析程序在構(gòu)建匯總表中所使用的源數(shù)據(jù)的報告級過濾器,或者數(shù)據(jù)過濾器可以是允許用戶根據(jù)對應的行或列標簽的值或在那行或列中概括的數(shù)據(jù)值來選擇顯示哪些行或列的行或列過濾器。由于用于指定數(shù)據(jù)過濾器的用戶界面中的限制,這些實現(xiàn)一般限于每一行或列一個過濾器準則或條件,并且不允許創(chuàng)建包含多個附加條件的復雜數(shù)據(jù)過濾器。這些復雜數(shù)據(jù)過濾器在不同的大源數(shù)據(jù)集合之中搜索專用信息片段時可能是必要的。在這些情況下,在數(shù)據(jù)分析程序訪問數(shù)據(jù)之前,用戶可能不得不借助于使用數(shù)據(jù)庫專家通過使用查詢表達式或其他機制來預先過濾源數(shù)據(jù)。這增加了報告過程的復雜性和資源,并且可導致限制用戶交互地操縱所顯示數(shù)據(jù)的能力的專用匯總表。此處所做出的本公開正是針對這些和其他考慮事項而呈現(xiàn)的。鍵本文中描述了用于允許交互式匯總表的用戶指定多條件數(shù)據(jù)過濾器以修改在匯總表中顯示的數(shù)據(jù)的技術(shù)。使用此處描述的技術(shù),數(shù)據(jù)分析程序可提供用戶界面,該用戶界面允許用戶創(chuàng)建復雜的多條件數(shù)據(jù)過濾器以及對數(shù)據(jù)過濾器的條件進行歸組和排序以在匯總表中顯示預期數(shù)據(jù)。這可允許用戶在來自不同的大源數(shù)據(jù)集合的匯總表中顯示數(shù)據(jù)行或列的特殊化子集,而不必采用數(shù)據(jù)庫專家在數(shù)據(jù)分析程序讀取源數(shù)據(jù)之前預先過濾該源數(shù)據(jù)。根據(jù)一個實施例,允許用戶指定多條件數(shù)據(jù)過濾器的用戶界面被顯示給用戶。對多條件數(shù)據(jù)過濾器的指定包括通過邏輯運算符連接的過濾條件集合?;谶^濾條件和邏輯運算符從對多條件數(shù)據(jù)過濾器的指定中解析一個或多個過濾表達式,并且將這些過濾表達式應用于匯總數(shù)據(jù),而匯總表根據(jù)匯總數(shù)據(jù)顯示。應當理解,上述主題可被實現(xiàn)為計算機控制的裝置、計算機過程、計算系統(tǒng)、或諸如計算機可讀介質(zhì)之類的制品。通過閱讀以下詳細描述并審閱相關(guān)聯(lián)的附圖,這些及各種其他特征將變得顯而易見。提供本概述以便以簡化形式介紹在以下詳細描述中進一步描述的一些概念。本概述并不旨在標識所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在將本概述用來限制所要求保護的主題的范圍。此外,所要求保護的主題不限于解決在本公開的任何部分中提及的任何或所有缺點的實現(xiàn)。附圖簡述圖1是示出由此處呈現(xiàn)的各實施例提供的說明性操作環(huán)境和若干軟件組件的各方面的框圖;圖2是示出根據(jù)此處描述的各實施例的說明性匯總表的顯示的屏幕圖;圖3和4是示出根據(jù)此處描述的各實施例的用于為交互式匯總表指定多條件數(shù)據(jù)過濾器的用戶界面的示例的屏幕圖;圖5A和5B是示出根據(jù)此處描述的各實施例的用于指定多條件數(shù)據(jù)過濾器、包括對數(shù)據(jù)過濾器的條件排序的能力的用戶界面的另一個示例的屏幕圖;圖6A和6B是示出根據(jù)此處描述的各實施例的用于指定多條件數(shù)據(jù)過濾器、包括對數(shù)據(jù)過濾器的條件排序的能力的用戶界面的另一個示例的屏幕圖;圖7A和7B是示出根據(jù)此處描述的各實施例的匯總表的顯示基于分別在圖6A和6B中所示的多條件數(shù)據(jù)過濾器中的條件排序的變化的屏幕圖;圖8A和8B是示出根據(jù)此處描述的各實施例的用于指定多條件數(shù)據(jù)過濾器、包括對數(shù)據(jù)過濾器的條件歸組的能力的用戶界面的另一個示例的屏幕圖;圖9是示出一種用于將多條件數(shù)據(jù)過濾器應用于交互式匯總表的顯示的方法的流程圖;以及圖10是示出能夠?qū)崿F(xiàn)此處呈現(xiàn)的各個實施例的各方面的計算系統(tǒng)的說明性計算機硬件和軟件體系結(jié)構(gòu)的框圖。詳細描述以下詳細描述涉及用于提供對在交互式匯總表中顯示的數(shù)據(jù)的多條件過濾的技術(shù)。盡管在結(jié)合計算機系統(tǒng)上的操作系統(tǒng)和應用程序的執(zhí)行而執(zhí)行的程序模塊的一般上下文中呈現(xiàn)了此處描述的主題,但是本領域技術(shù)人員將認識到,其他實現(xiàn)可結(jié)合其他類型的程序模塊來執(zhí)行。一般而言,程序模塊包括執(zhí)行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。此外,本領域技術(shù)人員應當理解,可用其他計算機系統(tǒng)配置來實施此處描述的主題,這些計算機系統(tǒng)配置包括手持式設備、多處理器系統(tǒng)、基于微處理器的或可編程消費電子產(chǎn)品、小型計算機、大型計算機等。在以下詳細描述中,參考了構(gòu)成本發(fā)明的一部分并作為說明示出各具體實施例或示例的附圖。在附圖中,在全部若干附圖中相似的標號表示相似的元素。圖1示出了根據(jù)此處提供的各實施例的包括用于提供對交互式匯總表的多條件過濾的若干軟件組件的說明性操作環(huán)境100。環(huán)境100包括計算機102。計算機102可以是個人計算機(“PC”)、臺式工作站、膝上型計算機、筆記本計算機、個人數(shù)字助理(“PDA”)、應用服務器、主存基于Web的應用程序的Web服務器、或可執(zhí)行應用程序的任何其他計算設備。計算機102執(zhí)行數(shù)據(jù)分析程序104。數(shù)據(jù)分析程序104是允許計算機102的用戶106可視化并操縱包含在可由計算機訪問的數(shù)據(jù)源108中的數(shù)據(jù)的應用程序。數(shù)據(jù)分析程序104可以是電子表格程序,諸如來自美國華盛頓州雷德蒙市的微軟公司的MICROSOFTEXCEL電子表格軟件、或者來自美國紐約州阿蒙克市的IBM公司的IBML0TUS1-2-3電子表格軟件。數(shù)據(jù)分析程序104也可以是數(shù)據(jù)報告應用程序,諸如來自德國華德福市的SAP、AG公司的SAPBUSINESSOBJECTSCRYSTALREPORTS。數(shù)據(jù)源108可以是附連到計算機102或可由其訪問的文件系統(tǒng),并且可包含電子表格文件或其他數(shù)據(jù)文件。數(shù)據(jù)源108也可以是包含可由數(shù)據(jù)分析程序104查詢的詳細和/或概括數(shù)據(jù)的數(shù)據(jù)庫或多維在線分析過程(“0LAP”)立方體。數(shù)據(jù)分析程序104可包括可用于從數(shù)據(jù)源108取回源數(shù)據(jù)并通過匯總功能將源數(shù)據(jù)變換成匯總數(shù)據(jù)的匯總表數(shù)據(jù)存取模塊110。匯總表UI模塊112隨后可在連接到計算機102的顯示設備114上將匯總數(shù)據(jù)顯示給用戶106。顯示設備114可以是計算機監(jiān)視器、平板顯示器、數(shù)據(jù)投影儀、打印機、繪圖儀、或附連到計算機102的任何其他輸出設備。顯示設備114還可以是Web瀏覽器應用程序或在通過網(wǎng)絡訪問計算機102的遠程計算設備上執(zhí)行的其他應用程序。用戶可使用連接到計算機102或遠程計算設備的諸如鍵盤、鼠標、觸摸屏、指示筆、或跟蹤球之類的輸入設備116來通過匯總表UI模塊112控制或操縱匯總表在顯示設備114上的顯示。根據(jù)各實施例,數(shù)據(jù)分析程序還包括匯總表數(shù)據(jù)過濾器模塊118。匯總表數(shù)據(jù)過濾器模塊118通過由匯總表UI模塊112顯示的用戶界面(“UI”)接受來自用戶106的對一個或多個數(shù)據(jù)過濾器的指定,并因此過濾在匯總表中顯示的數(shù)據(jù),如將在下文中更詳細描述的。應當理解,盡管匯總表數(shù)據(jù)存取模塊110、匯總表數(shù)據(jù)過濾器模塊118和匯總表UI模塊112在此處被描述為數(shù)據(jù)分析程序104的獨立模塊,但是此處使用這些模塊來指代數(shù)據(jù)分析程序的特定功能,這些模塊在實踐中可用比此處描述的那些程序模塊更多、更少、或不同的程序模塊來實現(xiàn)。這些模塊的描述并不旨在對數(shù)據(jù)分析程序104的編程結(jié)構(gòu)施加任何限制。圖2示出了包含由匯總表UI模塊112呈現(xiàn)給顯示設備114的匯總表204的窗口202的示例屏幕顯示200。匯總表204由從源數(shù)據(jù)構(gòu)造的行206和列208的網(wǎng)格構(gòu)成,該源數(shù)據(jù)由匯總表數(shù)據(jù)存取模塊110從數(shù)據(jù)源108取回。在該示例中,用來自源數(shù)據(jù)中的銷售人員(SALESMAN)字段的值標記匯總表204的行206,而匯總表的列208反映訂單日期(ORDERDATE)字段。例如,圖2所示的行206中的一行有具有值為“皮科克(PEACOCK),,的銷售人員行標簽210。銷售人員行標簽210可卷起到來自源數(shù)據(jù)的國家(COUNTRY)字段,而列標簽可按年度(YEAR)卷起。匯總表204還包括為每個行和列標簽概括的兩個數(shù)據(jù)值字段212A、212B銷售額(SALES)數(shù)據(jù)值字段212A和利潤額(PROFITS)數(shù)據(jù)值字段212B。例如,圖2所示的數(shù)據(jù)值214可表示2003年度中的銷售人員“皮科克”的利潤額數(shù)據(jù)值字段212B之和。另外,匯總表204可包括整個行和/或列的數(shù)據(jù)值字段212A、212B的總和。例如,在圖2中還示出具有銷售人員行標簽210“皮科克”的行的“總銷售額”值216A和“總利潤額”值216B。圖3示出了根據(jù)一個實施例的由匯總表UI模塊112呈現(xiàn)的允許用戶106指定多條件數(shù)據(jù)過濾器的UI300。如上所述,數(shù)據(jù)分析程序104可向用戶106提供通過指定一個或多個數(shù)據(jù)過濾器來限制在匯總表204中顯示的匯總數(shù)據(jù)的能力。例如,用戶106可在銷售人員字段上指定數(shù)據(jù)過濾器以限制在匯總表204中顯示的行206。圖3所示的UI300包括允許用戶106指定銷售人員行標簽210的值的數(shù)據(jù)過濾器的數(shù)據(jù)過濾器窗口302。例如,作為用戶106使用連接到計算機102的輸入設備106來選擇菜單項、工具欄按鈕、或其他UI觸發(fā)器的結(jié)果,匯總表UI模塊112可顯示數(shù)據(jù)過濾器窗口302。根據(jù)一個實施例,用戶106可為數(shù)據(jù)過濾器指定多個準則或過濾條件304A-304D(此處統(tǒng)稱為過濾條件304)。用戶106可使用連接到計算機102的輸入設備116來選擇諸如圖3所示的“添加條件(ADDCONDITION)”按鈕控件之類的添加條件UI控件306,以將附加過濾條件304添加到數(shù)據(jù)過濾器窗口302。類似地,通過用戶106選擇諸如圖3進一步示出的“刪除條件(DELETECONDITION)”按鈕控件之類的刪除條件UI控件308,可去除過濾條件304。過濾條件304通過用戶106可使用邏輯運算符選擇控件310A-310C(此處統(tǒng)稱為邏輯運算符選擇控件310)為每個附加條件選擇的邏輯運算符連接。在一個實施例中,用戶可為在數(shù)據(jù)過濾器窗口302中所添加的每個附加過濾條件304選擇“與(AND)”或“或(OR),,運算符。連接過濾條件304的邏輯運算符確定匯總表數(shù)據(jù)過濾器模塊118將如何應用數(shù)據(jù)過濾器,如將在下文中參考圖8更詳細描述的。作為一個示例,圖3所示的數(shù)據(jù)過濾器窗口302指定數(shù)據(jù)過濾器,該數(shù)據(jù)過濾器將在匯總表204中所顯示的行206限于其中銷售人員行標簽210的值包含“A”和其中銷售人員行標簽的值按字母順序落在“C”和“F”之間、或其中銷售人員行標簽的值等于“萊沃林(LEVERLING)”、以及其中銷售人員行標簽的值按字母順序小于“Z”的那些行。應當理解,過濾條件304之間的邏輯運算符的評估次序可影響要應用的對匯總數(shù)據(jù)的相應過濾。根據(jù)一個實施例,按與指定過濾條件304的次序相對應的默認次序評估邏輯運算符。從圖3所示的示例,這可與以下過濾表達式相對應(((銷售人員包含“A”與銷售人員在“C”和“F”之間)或銷售人員等于“萊沃林”)與銷售人員小于“Z”)在另一個實施例中,數(shù)據(jù)分析程序104可向用戶106提供將過濾條件304歸組在一起以修改邏輯運算符的評估次序的能力,如將在下文中參考圖8A和8B更詳細描述的。另外,數(shù)據(jù)過濾器窗口302可允許用戶106改變在窗口中列出的過濾條件304的次序。用戶可利用諸如在圖3中進一步示出的向上和向下按鈕控件之類的重新排序條件UI控件312、314來按所列出的次序向上或向下移動特定過濾條件304,如將在下文中參考圖5A和5B討論的。一旦已通過邏輯運算符在數(shù)據(jù)過濾器窗口302中添加、排序和連接了過濾條件304,用戶106即可選擇確認(OK)按鈕控件316來將數(shù)據(jù)過濾器應用于在匯總表204中顯示的匯總數(shù)據(jù)。圖4示出了根據(jù)又一個實施例的用于為銷售人員字段指定多條件數(shù)據(jù)過濾器以限制在匯總表204中顯示的行206的另一個UI400。UI400包括允許用戶106指定數(shù)據(jù)過濾器的數(shù)據(jù)過濾器窗口302,該數(shù)據(jù)過濾器具有與對應于每個銷售人員行標簽210的總額值216A、216B相關(guān)的多個過濾條件304。如圖4所示,數(shù)據(jù)過濾器窗口302指定數(shù)據(jù)過濾器,該數(shù)據(jù)過濾器將在匯總表204中顯示的行206限于其中與銷售人員行標簽210相對應的總銷售額值216A小于125000或大于150000、并且其中與銷售人員行標簽210相對應的總利潤額值216B大于0的那些行。應當理解,可想象允許為匯總表204的行206或列208指定多條件數(shù)據(jù)過濾器的數(shù)據(jù)過濾器窗口302的其他實施例,這些多條件數(shù)據(jù)過濾器包括但不限于,包含與在匯總表中所示的總額值216A、216B相關(guān)的多個“前十”過濾條件304的“前十”數(shù)據(jù)過濾器、或包含在匯總表的列中所反映的訂單日期字段的多個日期范圍過濾條件304的日期范圍數(shù)據(jù)過濾器。在又一個實施例中,匯總表UI模塊112可提供諸如圖5A和5B所示的數(shù)據(jù)過濾器窗口之類的定制數(shù)據(jù)過濾器窗口302,該定制數(shù)據(jù)過濾器窗口302允許用戶106為相同的實體指定不同類型的多個過濾條件304。圖5A示出了由匯總表UI模塊112呈現(xiàn)的允許用戶106指定多條件數(shù)據(jù)過濾器的UI500的又一個示例。UI500包括指定第一過濾器條件304A和第二過濾器條件304B的數(shù)據(jù)過濾器窗口302,第一過濾器條件304A將在匯總表204中顯示的行206限于其中與每個銷售人員行標簽210相對應的總利潤額值216B大于0的那些行,第二過濾器條件304B將所顯示的行限于具有前兩名相應的總銷售額值216A的銷售人員行標簽210。換言之,可將多條件數(shù)據(jù)過濾器的過濾表達式邏輯地表達為(總利潤額大于0與按照總銷售額計的前兩項)如以上參考圖3所述,數(shù)據(jù)過濾器窗口302可允許用戶106改變在窗口中列出的過濾條件304的次序。這可進而改變在應用數(shù)據(jù)過濾器時在匯總表204中顯示的所得行206。例如,用戶106可通過使用連接到計算機102的輸入設備116來選擇圖5A所示的數(shù)據(jù)過濾器窗口302中的第二過濾條件304B,如選擇框502所指示的。如果用戶隨后使用“向上”重新排序條件UI控件312來按所列出的次序向上移動第二過濾條件,則可隨后在數(shù)據(jù)過濾器窗口302中列出過濾條件304,如圖5B所示。根據(jù)圖5B所示的數(shù)據(jù)過濾器窗口302中所列出的過濾條件304的次序,可將相應的過濾表達式邏輯地表達為(按照總銷售額計的前兩項與總利潤額大于0)在一個實施例中,以上表達式和與以上參考圖5A所討論的多條件數(shù)據(jù)過濾器相對應的過濾表達式將導致相同的匯總表行206在匯總表204中顯示。在另一個實施例中,盡管與兩個多條件數(shù)據(jù)過濾器相對應的過濾表達式可能在邏輯上是等效的,但是預期結(jié)果可能是不同的,并且匯總表數(shù)據(jù)過濾器模塊118可按特定次序應用這些過濾表達式以使在匯總表204中顯示的匯總表行206滿足預期結(jié)果,如將在下文中參考圖9更詳細描述的。根據(jù)各實施例,用戶106可指定要應用于匯總表204的多個多條件數(shù)據(jù)過濾器。可使用數(shù)據(jù)過濾器窗口302的單獨調(diào)用應用這些多條件數(shù)據(jù)過濾器來為相同實體指定不同的數(shù)據(jù)過濾器類型或為不同實體指定不同的數(shù)據(jù)過濾器。例如,用戶106可使用數(shù)據(jù)過濾器窗口302來指定具有多個過濾條件304的數(shù)據(jù)過濾器,該多個過濾條件304與對應于匯總表204中的每個銷售人員行標簽210的總銷售額值216A和總利潤額值216B相關(guān),如以上參考圖4所討論的。這可導致以下過濾表達式應用于匯總表204((總銷售額小于125000或總銷售額大于150000)與總利潤額大于0)另外,用戶106還可使用數(shù)據(jù)過濾器窗口302來指定將所顯示的行限于具有前兩名相應的總銷售額值216A的銷售人員行標簽210的數(shù)據(jù)過濾器。這可導致以下過濾表達式進一步應用于匯總表204(按照總銷售額計的前兩項)應當理解,以上描述的兩個多條件數(shù)據(jù)過濾器對匯總數(shù)據(jù)的應用次序可影響在匯總表204中顯示的所得匯總表行206。因此,根據(jù)一個實施例,數(shù)據(jù)分析程序104可提供諸如圖6A和6B所示的UI600之類的附加UI,該附加UI允許用戶106查看當前應用于匯總表204的各個多條件數(shù)據(jù)過濾器以及改變它們的應用次序。如圖6A所示,UI600包括數(shù)據(jù)過濾器排序窗口602,其包含與應用于匯總數(shù)據(jù)的兩個多條件數(shù)據(jù)過濾器相對應的數(shù)據(jù)過濾表達式604A、604B的列表,如上所述。按對匯總數(shù)據(jù)的當前應用次序列出數(shù)據(jù)過濾表達式604A、604B,其中首先應用與總銷售額值216A和總利潤額值216B相關(guān)的多條件數(shù)據(jù)過濾器,其次應用與前兩個銷售人員行相關(guān)的數(shù)據(jù)過濾器。如果將所列出的數(shù)據(jù)過濾器按所列出的次序應用于以上參考圖2所述的匯總表204,則所顯示的所得匯總表行206可如圖7A中所示。如圖7A所示,匯總表204中所顯示的行206由按總銷售額計的前兩個銷售人員行標簽210組成,其來自具有小于125000或大于150000的相應總銷售額值216A和大于零的總利潤額值216B的銷售人員行標簽集合。應當理解,在傳統(tǒng)匯總表實現(xiàn)中,可將數(shù)據(jù)過濾器應用于與現(xiàn)有分層結(jié)構(gòu)中的不同父行標簽相對應的每個行分組。例如,如圖6A所示,數(shù)據(jù)過濾器被分別應用于卷起到國家字段值為“英國(UK),,的銷售人員行標簽210和卷起到國家字段值為“美國(US)”的銷售人員行標簽。數(shù)據(jù)過濾器排序窗口602還包含“向上”重新排序過濾器UI控件606和“向下”重新排序過濾器UI控件608,如在圖6A中進一步示出的。用戶106可使用這些UI控件606、608來改變多條件數(shù)據(jù)過濾器對匯總數(shù)據(jù)的應用次序。例如,用戶106可通過使用連接到計算機102的輸入設備116來選擇圖6A所示的數(shù)據(jù)過濾器排序窗口602中的第一數(shù)據(jù)過濾表達式604A,如選擇框502所指示的。如果用戶隨后使用“向下”重新排序過濾器UI控件608來按所列出的次序向下移動第一數(shù)據(jù)過濾表達式604A,則可隨后在數(shù)據(jù)過濾器排序窗口602中列出數(shù)據(jù)過濾表達式604B、604A,如圖6B所示。如果將數(shù)據(jù)過濾表達式604B、604A按圖6B所示的次序應用于以上參考圖2所述的匯總表204,則所顯示的所得匯總表行206可如圖7B中所示。如圖7B所示,在匯總表204中顯示的行206由按照總銷售額的具有小于125000或大于150000的總銷售額值216A和大于零的總利潤額值216B的前兩個銷售人員行標簽210組成。如附圖所示,按圖6B所示的次序應用多條件數(shù)據(jù)過濾器導致排除具有被包括在圖6A所示的匯總表204的行206中的值為“富勒(FULLER)”的銷售人員行標簽210。應當理解,圖7A和7B中的兩個所得顯示行206之間的差別可能因為以上參考圖6A和6B所述的數(shù)據(jù)過濾器排序窗口602中的數(shù)據(jù)過濾器的不同排序產(chǎn)生。圖8A和8B示出了由匯總表UI模塊112呈現(xiàn)的允許用戶106指定多條件數(shù)據(jù)過濾器的UI800的又一個實施例。如上所述,數(shù)據(jù)分析程序104可向用戶106提供將過濾條件304歸組在一起以修改邏輯運算符的評估次序的能力。圖8A所示的數(shù)據(jù)過濾器窗口302包括用戶106可分別用來將過濾條件304歸組和取消歸組的歸組條件UI控件802和取消歸組條件UI控件804。例如,用戶106可通過使用連接到計算機102的輸入設備116來選擇圖8A所示的數(shù)據(jù)過濾器窗口302中的第二過濾條件304B和第三過濾條件304C,如選擇框502所指示的。如果用戶隨后使用歸組條件UI控件802來將所選過濾條件304B和304C歸組在一起,則與數(shù)據(jù)過濾器窗口302中所指定的數(shù)據(jù)過濾器相對應的所得過濾表達式為(((銷售人員包含“A”與(銷售人員在“C”和“F”之間或銷售人員等于“萊沃林”))與銷售人員小于“Z”)應當理解,該過濾表達式可與對應于以上參考圖3所述的數(shù)據(jù)過濾器窗口302中所指定的相同的四個過濾條件304A-304D的過濾表達式不同地,由匯總表數(shù)據(jù)過濾器模塊118評估。根據(jù)一個實施例,匯總表UI模塊112通過結(jié)合顯示過濾條件304將圖形歸組顯示806添加至窗口來指示數(shù)據(jù)過濾器窗口302中的當前所歸組的過濾條件304B和304C,如圖8A進一步示出的。應當理解,匯總表UI模塊112可使用其他形式的圖形歸組顯示806,包括但不限于,圍繞與當前所指定的歸組相對應的經(jīng)歸組過濾條件304的括號的顯示。作為附加示例,用戶106還可選擇數(shù)據(jù)過濾器窗口302中的第二過濾條件304B、第三過濾條件304C和第四過濾條件304D,如圖8B所示的選擇框502所指示的。如果用戶106隨后使用歸組條件UI模塊802來將所選的過濾條件304B、304C和304D歸組,則數(shù)據(jù)過濾器窗口302會包含兩個嵌套組,所得過濾表達式為(銷售人員包含“A”與((銷售人員在“C”和“F”之間)或銷售人員等于“萊沃林”)與銷售人員小于“Z”))另外,匯總表UI模塊112可更新圖形歸組顯示806以指示由用戶在數(shù)據(jù)過濾器窗口302中創(chuàng)建的過濾條件304B和304C以及過濾條件304B、304C和304D的兩個嵌套組,如圖8B進一步示出的。還應當理解,除圖8A和8B示出的且此處描述的嵌套組之外,數(shù)據(jù)分析程序104可支持過濾條件304之中有無限數(shù)量的嵌套組?,F(xiàn)在參考圖9,將提供關(guān)于此處呈現(xiàn)的實施例的附加細節(jié)。應當理解,參考圖9所述的邏輯操作被實現(xiàn)為(1)在計算系統(tǒng)上運行的一系列計算機實現(xiàn)的動作或程序模塊和/或(2)計算系統(tǒng)內(nèi)的互連機器邏輯電路或電路模塊。取決于計算系統(tǒng)的性能及其他要求,可以選擇不同的實現(xiàn)。因此,此處描述的邏輯操作被不同地稱為操作、結(jié)構(gòu)設備、動作或模塊。這些操作、結(jié)構(gòu)設備、動作和模塊可用軟件、固件、專用數(shù)字邏輯以及其任何組合來實現(xiàn)。還應當理解,可執(zhí)行比附圖中示出的且此處描述的操作更多或更少的操作。這些操作還可按與所述次序不同的次序來執(zhí)行。圖9示出了用于基于一個或多個多條件數(shù)據(jù)過濾器過濾匯總數(shù)據(jù)以供在顯示設備114上的匯總表204中顯示的例程900。例程900在操作902處開始,其中匯總表數(shù)據(jù)過濾器模塊118接收要過濾并要在匯總表204中顯示的匯總數(shù)據(jù)。匯總表數(shù)據(jù)過濾器模塊118可從匯總表數(shù)據(jù)存取模塊110接收匯總數(shù)據(jù)。如上參考圖1所述,匯總表數(shù)據(jù)存取模塊110從數(shù)據(jù)源108中取回源數(shù)據(jù)并通過匯總功能將源數(shù)據(jù)變換成匯總數(shù)據(jù)。例程900從操作902前進到操作904,其中匯總表數(shù)據(jù)過濾器模塊118接收對一個或多個多條件數(shù)據(jù)過濾器的指定。根據(jù)一個實施例,用戶106交互式地使用由匯總表UI模塊提供的數(shù)據(jù)過濾器窗口302來指定多條件數(shù)據(jù)過濾器,如以上參考圖3、4、5A、5B、8A和8C詳細描述的。對多條件數(shù)據(jù)過濾器的指定可包括按特定次序指定的一個或多個過濾條件304,其中每個過濾條件304通過諸如“與”和“或”之類的指定邏輯運算符連接。另外,根據(jù)一個實施例,可將過濾條件歸組在一起成為一個或多個嵌套組。例程900從操作904前進到操作906,其中匯總表數(shù)據(jù)過濾器模塊118從在操作904中接收到的數(shù)據(jù)過濾器的指定中解析過濾表達式。從多條件數(shù)據(jù)過濾器中解析的過濾表達式將取決于在數(shù)據(jù)過濾器所指定的單個過濾條件304、連接過濾條件的邏輯運算符、指定過濾條件的次序、以及在過濾條件之間所指定的任何歸組。例如,匯總表數(shù)據(jù)過濾器模塊118可解析在圖3示出的且以上描述的數(shù)據(jù)過濾器窗口302中所指定的多條件數(shù)據(jù)過濾器,從而產(chǎn)生過濾表達式(((銷售人員包含“A”與銷售人員在“C”和“F”之間)或銷售人員等于“萊沃林”)與銷售人員小于“Z”)從過濾條件304的次序和每個過濾條件之間所指定的邏輯運算符中得到該表達式。在此,在沒有任何指定的歸組的情況下應用默認歸組。類似地,可將在圖8B示出的且如上所述的數(shù)據(jù)過濾器窗口302中所指定的多條件數(shù)據(jù)過濾器解析成過濾表達式(銷售人員包含“A”與((銷售人員在“C”和“F”之間或銷售人員等于“萊沃林”)與銷售人員小于“Z”))從由用戶106在數(shù)據(jù)過濾器窗口302中作出的對過濾條件304B和304C以及過濾條件304B、304C和304D的兩個嵌套組的指定中得到來自以上使用的相同四個過濾條件304A、304B、304C和304D的過濾表達式的此變體。根據(jù)一個實施例,由于需要將過濾表達式順序地應用于匯總數(shù)據(jù),某些多條件數(shù)據(jù)過濾器的解析可導致多個單獨的過濾表達式。例如,在圖5A示出的且如上所述的數(shù)據(jù)過濾器窗口302中指定的多條件數(shù)據(jù)過濾器可產(chǎn)生過濾表達式(利潤額大于0)與(按銷售額計的前兩項)在這種情況下,應當順序地應用過濾表達式首先建立總利潤額216B大于零的銷售人員行集合、隨后從那個集合中選擇按總銷售額值216A計的前兩個銷售人員行。例程900從操作906前進到操作908,在操作908中匯總表數(shù)據(jù)過濾器模塊118確定應用以上操作906中從多條件數(shù)據(jù)過濾器中解析出的過濾表達式的次序。多條件數(shù)據(jù)過濾器的應用次序可基于用戶106創(chuàng)建數(shù)據(jù)過濾器的次序,或者該次序可由用戶使用以上參考圖6A和6B所討論的UI600來指定。應當理解,要應用過濾表達式的次序還可取決于多個因素,包括但不限于,應用數(shù)據(jù)過濾器的數(shù)據(jù)字段之間的關(guān)系、行數(shù)據(jù)過濾器優(yōu)于列數(shù)據(jù)過濾器的默認優(yōu)先權(quán)、或一些其他因素。另外,如以上參考操作906所述的,匯總表數(shù)據(jù)過濾器模塊118可基于用戶106指定過濾條件304的次序?qū)膯蝹€多條件數(shù)據(jù)過濾器中得到的多個過濾表達式順序地排序。接著,例程900從操作908前進到操作910,在操作910中匯總表數(shù)據(jù)過濾器模塊118按在以上操作908中建立的次序?qū)亩鄺l件數(shù)據(jù)過濾器中解析的過濾表達式應用于匯總數(shù)據(jù)。當按特定次序應用多個過濾表達式時,可能需要匯總表數(shù)據(jù)過濾器模塊118在每個過濾表達式的應用之間重新計算集聚匯總值,諸如行和列總計以及在匯總表204中所顯示的任何分層結(jié)構(gòu)中的小計。換言之,對后續(xù)過濾表達式的輸入是應用先前過濾表達式的結(jié)果,其中任何集聚值都在應用該先前過濾表達式之后重新計算。這可通過應用與在2005年6月21日提交且題為"DynamicallyfilteringAggregateReportsBasedonValuesResultingfromOneorMorePreviouslyAppliedFilters(基于從一個或多個先前應用的過濾器中得到的值動態(tài)地過濾集聚報告)”的美國專利公開No.US2006-0287998A1中描述的方法相類似的方法來完成,該專利申請通過引用整體上明確地結(jié)合于此。例程900從操作910前進到操作912,在操作912中匯總表數(shù)據(jù)過濾器模塊118將經(jīng)過濾的匯總數(shù)據(jù)傳遞給諸如以上參考圖1所述的匯總表UI模塊之類的顯示模塊以供在顯示設備114上顯示匯總表204。從操作912,例程900結(jié)束。圖10示出了能夠執(zhí)行此處描述的用于以上文呈現(xiàn)的方式提供對交互式匯總表的多條件過濾的軟件組件的計算機1000的示例計算機體系結(jié)構(gòu)。圖10所示的計算機體系結(jié)構(gòu)示出了常規(guī)計算設備、PDA、數(shù)字蜂窩電話、通信設備、臺式計算機、膝上型計算機、或服務器計算機,并且可用來執(zhí)行此處呈現(xiàn)的被描述為在計算機102或其他計算平臺上執(zhí)行的軟件組件的任何方面。圖10所示的計算機體系結(jié)構(gòu)包括中央處理單元1002(CPU)、包括隨機存取存儲器1014(RAM)和只讀存儲器1016(ROM)的系統(tǒng)存儲器1008、以及將存儲器耦合至CPU1002的系統(tǒng)總線1004。基本輸入/輸出系統(tǒng)存儲在R0M1016中,該系統(tǒng)包含幫助諸如在啟動期間在計算機1000內(nèi)的元件之間傳輸信息的基本例程。計算機1000還包括用于存儲操作系統(tǒng)1018、應用程序和其他程序模塊的大容量存儲設備1010,這將在此處更為詳細地描述。大容量存儲設備1010通過連接到總線1004的大容量存儲控制器(未示出)連接到CPU1002。大容量存儲設備1010及其相關(guān)聯(lián)的計算機可讀介質(zhì)為計算機1000提供非易失性存儲。雖然對此處包含的計算機可讀介質(zhì)的描述引用了諸如硬盤或CD-ROM驅(qū)動器之類的大容量存儲設備,但是本領域技術(shù)人員應該理解,計算機可讀介質(zhì)可以是可由計算機1000訪問的任何可用計算機存儲介質(zhì)。作為示例而非限制,計算機可讀介質(zhì)可包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊之類的信息或其他數(shù)據(jù)的任何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。例如,計算機可讀介質(zhì)包括但不限于,RAM、R0M、EPR0M、EEPR0M、閃存或其他固態(tài)存儲器技術(shù)、⑶-ROM、數(shù)字多功能盤(DVD)、HD-DVD、藍光、或其他光學存儲、磁帶盒、磁帶、磁盤存儲或其他磁存儲設備、或可用來存儲所需信息且可由計算機1000訪問的任何其他介質(zhì)。根據(jù)各種實施例,計算機1000可使用通過網(wǎng)絡1020至遠程計算設備和計算機系統(tǒng)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。計算機1000可通過連接到總線1004的網(wǎng)絡接口單元1006來連接到網(wǎng)絡1020。應當理解,網(wǎng)絡接口單元1006還可用來連接到其他類型的網(wǎng)絡和遠程計算機系統(tǒng)。計算機1000還可包括用于接收并處理來自包括鍵盤、鼠標、觸摸墊、觸摸屏、電子指示筆、或其它類型的輸入設備的多個輸入設備116的輸入的輸入/輸出控制器1012。類似地,輸入/輸出控制器1012還可向諸如計算機監(jiān)視器、平板顯示器、數(shù)字投影儀、打印機、繪圖儀、或其他類型的輸入設備的顯示設備114提供輸出。如上簡述,多個程序模塊和數(shù)據(jù)文件可存儲在計算機1000的大容量存儲設備1010和RAM1014中,包括適用于控制計算機的操作的操作系統(tǒng)1018。大容量存儲設備1010和RAM1014還可存儲一個或多個程序模塊。具體而言,大容量存儲設備1010和RAM1014可存儲數(shù)據(jù)分析程序104,這曾在上文中參考圖1更詳細地描述。大容量存儲設備1010和RAM1014還可存儲其他類型的程序模塊或數(shù)據(jù)。在一個實施例中,程序模塊在包含指令的計算機可讀介質(zhì)中具體化,這些指令在由CPU1002執(zhí)行時執(zhí)行用于基于一個或多個多條件數(shù)據(jù)過濾器過濾匯總數(shù)據(jù)以供在匯總表中顯示的例程900,如以上參考圖8更詳細描述的?;谏鲜鰞?nèi)容,應當理解,此處提供了用于提供對交互式匯總表的多條件過濾的技術(shù)。雖然以計算機結(jié)構(gòu)特征、方法動作、以及計算機可讀介質(zhì)專用的語言描述了此處呈現(xiàn)的主題,但是應當理解,在所附權(quán)利要求書中定義的本發(fā)明不一定限于此處描述的具體特征、動作或介質(zhì)。相反,這些具體特征、動作和介質(zhì)是作為實現(xiàn)權(quán)利要求書的示例形式來公開的。上述主題僅作為說明提供,并且不應被解釋為限制??蓪Υ颂幟枋龅闹黝}作出各種修改和改變,而不必遵循所示和所述的示例實施例和應用,且不背離所附權(quán)利要求書中所述的本發(fā)明的真正精神和范圍。權(quán)利要求1.一種用于提供對在連接到計算機(10的顯示設備(114)上的匯總表(204)中顯示的匯總數(shù)據(jù)的多條件過濾的計算機實現(xiàn)的方法,所述計算機實現(xiàn)的方法包括在所述顯示設備(114)上顯示允許所述計算機(10的用戶(106)指定多條件數(shù)據(jù)過濾器的用戶界面(300,400,500,800);從所述用戶界面(300,400,500,800)接收對包括通過邏輯運算符連接的多個過濾條件(304)的所述多條件數(shù)據(jù)過濾器的指定;基于所述多個過濾條件(304)和所述邏輯運算符從所述指定中解析一個或多個過濾表達式;將所述一個或多個過濾表達式應用于所述匯總數(shù)據(jù);以及在所述顯示設備(114)上的匯總表Q04)中顯示經(jīng)過濾的匯總數(shù)據(jù)。2.如權(quán)利要求1所述的計算機實現(xiàn)的方法,其特征在于,所述用戶界面包括用于將過濾條件添加至所述多個過濾條件并從所述多個過濾條件刪除過濾條件的裝置。3.如權(quán)利要求2所述的計算機實現(xiàn)的方法,其特征在于,所述用戶界面還包括用于選擇連接所述多個過濾條件中的相鄰過濾條件的所述邏輯運算符的裝置。4.如權(quán)利要求2所述的計算機實現(xiàn)的方法,其特征在于,所述用戶界面還包括用于按特定次序?qū)λ龆鄠€過濾條件排序的裝置,并且其中對所述多條件數(shù)據(jù)過濾器的指定還包括所述多個過濾條件的特定次序,并且其中所述一個或多個過濾表達式還基于所述多個過濾條件的特定次序。5.如權(quán)利要求2所述的計算機實現(xiàn)的方法,其特征在于,所述用戶界面還包括用于將所述多個過濾條件的子集歸組成一組或多組過濾條件的裝置,并且其中對所述多條件數(shù)據(jù)過濾器的指定還包括所述一組或多組過濾條件,并且其中所述一個或多個過濾表達式還基于所述一組或多組過濾條件。6.如權(quán)利要求5所述的計算機實現(xiàn)的方法,其特征在于,所述用戶界面還包括用于結(jié)合顯示所述多個過濾條件來示出所述一組或多組過濾條件的裝置。7.如權(quán)利要求6所述的計算機實現(xiàn)的方法,其特征在于,對所述多條件數(shù)據(jù)過濾器的指定還包括所述一組或多組過濾條件,并且其中所述一個或多個過濾表達式還基于所述一組或多組過濾條件。8.如權(quán)利要求1所述的計算機實現(xiàn)的方法,其特征在于,還包括從所述用戶界面接收對多個多條件數(shù)據(jù)過濾器的指定;從所述用戶界面接收所述多個多條件數(shù)據(jù)過濾器的應用次序;以及按至少部分地基于所述多個多條件數(shù)據(jù)過濾器的應用次序的次序應用所述一個或多個過濾表達式。9.一種其上存儲有計算機可執(zhí)行指令的計算機可讀介質(zhì),所述計算機可執(zhí)行指令在由計算機(10執(zhí)行時使得所述計算機(102)接收匯總數(shù)據(jù);接收對多條件數(shù)據(jù)過濾器的指定,所述指定包括通過邏輯運算符連接的多個過濾條件(304);基于所述多個過濾條件和所述邏輯運算符從所述指定中解析一個或多個過濾表達式;將所述一個或多個過濾表達式應用于所述匯總數(shù)據(jù);以及將經(jīng)過濾的匯總數(shù)據(jù)傳遞給顯示模塊以供在連接到所述計算機(102)的顯示設備(114)上顯示匯總表(204)。10.如權(quán)利要求9所述的計算機可讀介質(zhì),其特征在于,對所述多條件數(shù)據(jù)過濾器的指定還包括所述多個過濾條件的指定次序,并且其中所述一個或多個過濾表達式還基于所述多個過濾條件的特定次序。11.如權(quán)利要求9所述的計算機可讀介質(zhì),其特征在于,對所述多條件數(shù)據(jù)過濾器的指定還包括一組或多組過濾條件,并且其中所述一個或多個過濾表達式還基于所述一組或多組過濾條件。12.如權(quán)利要求9所述的計算機可讀介質(zhì),其特征在于,具有存儲其上的附加計算機可執(zhí)行指令,所述指令在由所述計算機執(zhí)行時還使得所述計算機接收對多個多條件數(shù)據(jù)過濾器的指定;接收所述多條件數(shù)據(jù)過濾器的應用次序;從所述指定中解析一個或多個過濾表達式;在從所述指定中解析所述一個或多個過濾表達式之后,至少部分地基于所述多個多條件數(shù)據(jù)過濾器的應用次序確定所述一個或多個過濾表達式的應用次序;以及按所確定的應用次序?qū)⑺鲆粋€或多個過濾表達式應用于所述匯總數(shù)據(jù)。13.一種用于提供對在匯總表O04)中顯示的匯總數(shù)據(jù)的多條件數(shù)據(jù)過濾的系統(tǒng),所述系統(tǒng)包括計算機(102);可操作地連接到所述計算機(102)的顯示設備(114);允許用戶(106)指定多條件數(shù)據(jù)過濾器的第一用戶界面(300,400,500,800),所述多條件數(shù)據(jù)過濾器包括通過邏輯運算符連接的多個過濾條件(304);可用于存取來自數(shù)據(jù)源(108)的源數(shù)據(jù)并將所述源數(shù)據(jù)變換成匯總數(shù)據(jù)的匯總表數(shù)據(jù)存取模塊;匯總表UI模塊,可用于在所述顯示設備(114)上顯示所述第一用戶界面(300,400,500,800),從所述第一用戶界面(300,400,500,800)接收對多條件數(shù)據(jù)過濾器的指定,以及在所述顯示設備(114)上在匯總表Q04)中顯示經(jīng)過濾的匯總數(shù)據(jù);以及匯總表數(shù)據(jù)過濾器模塊,可用于基于所述多個過濾條件和所述邏輯運算符從對所述多條件數(shù)據(jù)過濾器的指定中解析一個或多個過濾表達式,確定所述一個或多個過濾表達式的應用次序,以及按所確定的應用次序?qū)⑺鲆粋€或多個過濾表達式應用于所述匯總數(shù)據(jù)。14.如權(quán)利要求13所述的系統(tǒng),其特征在于,還包括允許用戶指定多個多條件數(shù)據(jù)過濾器的應用次序的第二用戶界面,其中所述匯總表UI模塊還可用于在所述顯示設備上顯示所述第二用戶界面并接收所述多個多條件數(shù)據(jù)過濾器的應用次序,并且其中確定所述一個或多個過濾表達式的應用次序還包括至少部分地基于所述多個多條件數(shù)據(jù)過濾器的應用次序確定所述一個或多個過濾器表達式的應用次序。15.如權(quán)利要求13所述的系統(tǒng),其特征在于,所述匯總表數(shù)據(jù)存取模塊、所述匯總表數(shù)據(jù)過濾器模塊和所述匯總表UI模塊是電子表格程序的組件。全文摘要本發(fā)明中描述了用于允許交互式匯總表的用戶指定多條件數(shù)據(jù)過濾器以修改在匯總表中所顯示的數(shù)據(jù)的技術(shù)。將允許用戶指定多條件數(shù)據(jù)過濾器的用戶界面顯示給用戶。對多條件數(shù)據(jù)過濾器的指定包括通過邏輯運算符連接的過濾條件集合?;谶^濾條件和邏輯運算符從對多條件數(shù)據(jù)過濾器的指定中解析一個或多個過濾表達式,并且將過濾表達式應用于匯總數(shù)據(jù),而匯總表根據(jù)匯總數(shù)據(jù)顯示。文檔編號G06F7/76GK102334098SQ201080009756公開日2012年1月25日申請日期2010年2月4日優(yōu)先權(quán)日2009年2月25日發(fā)明者A·V·格拉巴,A·福爾廷,Z·李申請人:微軟公司