【技術實現步驟摘要】
【國外來華專利技術】利用適當的度量聚合生成多事實數據集的數據可視化
[0001]公開的實施方式總體上涉及數據可視化,且更具體地說涉及使用數據集的對象模型來進行數據集的交互式可視分析。
[0002]背景
[0003]數據可視化應用使用戶能夠在視覺上理解數據集,包括分布、趨勢、離群值、和對做出業務決策重要的其他因素。一些數據元素是基于來自選定數據集的數據來計算出的。例如,數據可視化經常使用總和來聚合數據。一些數據可視化應用使用戶能夠指定可用于聚合計算的“細節級別”(LOD)。然而,為數據可視化指定單個細節級別是不足以建立某些計算的。
[0004]一些數據可視化應用提供用戶界面,其使用戶能夠通過選擇數據字段并將它們放置在特定的用戶界面區域內以間接地定義數據可視化來從數據源建立可視化。請參見例如2003年6月2日提交的標題為“Computer Systems and Methods for the Query and Visualization of Multidimensional Databases”的序列號為10/453,834的美國專利申請(現在為第7,089,266號美國專利),其通過引用被全部并入本文。然而,當存在復雜的數據源和/或多個數據源時,可能不清楚基于用戶的選擇要生成什么類型的數據可視化(如果有的話)。
[0005]另外,一些系統構建的查詢產生了并非用戶期望的數據可視化。在一些情況下,一些數據行被省略(例如,當事實表之一中沒有相應的數據時)。在一些情況下,由于同一數據值被多次計數,因此數字聚合字段產生的合計數 ...
【技術保護點】
【技術特征摘要】
【國外來華專利技術】1.一種生成數據可視化的方法,包括:在具有顯示器、一個或更多個處理器和存儲器的計算機處執行下列操作,所述存儲器存儲被配置為由所述一個或更多個處理器執行的一個或更多個程序:接收視覺規范,所述視覺規范指定數據源、多個視覺變量和來自所述數據源的多個數據字段,其中,所述視覺變量中的每一個與(i)所述數據字段中相應的一個或更多個數據字段或者(ii)一個或更多個過濾器相關聯,并且所述數據字段中的每一個被識別為維度或度量;獲得將所述數據源編碼為邏輯表的樹的數據模型,每個邏輯表具有其自己的物理表示并包括相應的一個或更多個邏輯字段,每個邏輯字段對應于數據字段或者對應于跨越一個或更多個邏輯表的計算,其中,所述樹的每條邊連接相關的兩個邏輯表;基于為所述維度和所述過濾器提供所述數據字段的邏輯表來生成維度子查詢;基于為相應度量和所述過濾器提供所述數據字段的邏輯表,為每個度量生成按所述維度分組的聚合度量子查詢;通過使用所述維度將所述維度子查詢聯接到所述聚合度量子查詢中的每一個來形成最終查詢;對所述數據源執行所述最終查詢,以檢索包含對于所述數據字段的數據值的不同有序組合的元組;以及根據所述元組中的數據字段并根據所述數據字段中的每一個所關聯到的視覺變量,建立并顯示數據可視化。2.根據權利要求1所述的方法,其中,生成每個聚合度量子查詢包括:計算所述邏輯表的樹的度量子樹,其中,所述度量子樹是為相應度量提供所述數據字段所需的最小子樹;計算所述邏輯表的樹的維度
?
過濾器子樹,其中,所述維度
?
過濾器子樹是為所述維度和所述過濾器提供所有物理輸入所需的最小子樹;根據所述維度
?
過濾器子樹不與所述度量子樹共享任何邏輯表的確定,將來自所述度量子樹的相鄰邏輯表添加到所述維度
?
過濾器子樹;編譯所述度量子樹以獲得度量聯接樹,并且編譯所述維度
?
過濾器子樹以獲得維度
?
過濾器聯接樹;在所述度量聯接樹和所述維度
?
過濾器聯接樹上對計算和過濾器進行分層,以分別獲得更新的度量子樹和更新的維度
?
過濾器子樹;通過應用分組操作來對所述更新的維度
?
過濾器子樹去重,以獲得去重的維度
?
過濾器子樹,所述分組操作使用所述維度和鏈接字段,所述鏈接字段包括(i)來自所述邏輯表之間的關系的鍵和(ii)與所述度量子樹共享的計算的數據字段;和將所述去重的維度
?
過濾器子樹與所述更新的度量子樹進行組合,以獲得所述聚合度量子查詢。3.根據權利要求2所述的方法,其中,編譯所述度量子樹包括內聯接所述度量子樹中的邏輯表,以獲得所述度量聯接樹。4.根據權利要求2所述的方法,其中,計算所述維度
?
過濾器子樹包括內聯接在所述維度
?
過濾器子樹中與所述度量子樹共享的邏輯表,并且左聯接在所述維度
?
過濾器子樹中不
與所述度量子樹共享的邏輯表,以獲得所述維度
?
過濾器聯接樹。5.根據權利要求2所述的方法,其中,將所述去重的維度
?
過濾器子樹與所述更新的度量子樹進行組合包括:確定所述去重的維度
?
過濾器子樹是否包含過濾器;根據所述去重的維度
?
過濾器子樹包含過濾器的確定,將所述更新的度量子樹與所述去重的維度
?
過濾器子樹進行內聯接;以及根據所述去重的維度
?
過濾器子樹不包含過濾器的確定,將所述更新的度量子樹與所述去重的維度
?
過濾器子樹進行左外聯接。6.根據權利要求2所述的方法,還包括:根據所述鍵指示所述第一邏輯表和所述第二邏輯表之間的多對一關系的確定,在所述度量子樹中包括所述第一表和所述第二表,從而避免了在對所述第一邏輯表和所述第二邏輯表的去重操作中的分組。7.根據權利要求2所述的方法,還包括:根據所述維度
?
過濾器子樹僅沿著多對一鏈接和一對一鏈接對所述度量子樹進行聯接的確定,用所述去重的維度
?
過濾器子樹替代由所述度量子樹和所述維度
?
過濾器子樹共享的表。8.根據權利要求1所述的方法,其中,生成所述維度子查詢包括內聯接所述邏輯表的樹中的第一一個或更多個邏輯表,其中,所述第一一個或更多個邏輯表中的每個邏輯表提供用于維度或過濾器的數據字段。9.根據權利要求1所述的方法,其中,形成所述最終查詢包括:使用外聯接在所述維度上聯接所述維度子查詢和所述聚合度量子查詢,并且在每個外聯接之后應用COALESCE。10.根據權利要求1所述的方法,其中,形成所述最終查詢包括:根據所述可視化不具有維度的確定,在所述聚合度量子查詢之間執行全外聯接。11.一種用于生成數據可視化的計算機系統,包括:一個或更多個處理器;以及存儲器;其中,所述存儲器存儲被配置為由所述一個或更多個處理器執行的一個或更多個程序,并且所述一個或更多個程序包括用于執行下列操作的指令:接收視覺規范,所述視覺規范指定數據源、多個視覺變量和來自所述數據源的多個數據字段,其中,所述視覺變量中的每一個與(i)所述數據字段中相應的一個或更多個數據字段或者(ii)一個或更多個過濾器相關聯,并且所述數據字段中的每一個被識別為維度或度量;獲得將所述數據源編碼為邏輯表的樹的數據模型,每個邏輯表具有其自己的物理表示并包括相應的一個或更多個邏輯字段,每個邏輯字段對應于數據字段或者對應于跨越一個或更多個邏輯表的計算,其中...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。