您可以使用聚總頁籤,指定各種控制產生和儲存立方結構之聚總資料的參數。此頁籤有兩個子頁籤:
「規則」子頁籤會顯示立方結構每一個維度的聚總運算子。
聚總順序和方法
此表格列示立方結構的維度。請為每一個維度選取一個運算子。
順序:維度的聚總順序。當所有維度的聚總運算子都相同時,順序就無關緊要。不過,有些運算組合依計算順序會產生不同的結果。若要變更順序,請選取一個維度,然後使用箭號鍵將它在清單中上移或下移。
維度:立方結構中將被聚總的維度。
運算子:選擇您要針對各個維度執行的運算類型。某些運算子無法壓縮,因為其值可針對每一個層次做變更,這包括:所有加權運算子、所有比例運算子,以及「階層的加權平均」運算子。在立方結構中使用這些運算子時,聚總引擎僅能壓縮它所能壓縮的維度,但無法壓縮整個立方結構。如需運算子的說明,請參考下表。
根據:使用加權或比例運算子時,請選取包含加權因子的計量。此計量必須由要聚總的維度加以維度化,也可視情況由立方結構中的其他維度來維度化。
| 運算子 | 說明 |
|---|---|
| 平均 | 加總資料值,然後將總和除以加總的資料值數目。 |
| 第一個非 NA 資料值 | 第一個實際資料值。 |
| 階層平均 | 加總資料值,然後將總和除以維度階層中子項的數目。與只會計算非 NA 子項的 AVERAGE 不同,HAVERAGE 會計算父項的所有邏輯子項,不論各個子項是否具有值。 |
| 階層的第一個成員 | 階層中的第一個資料值 (即使該值為 NA)。 |
| 階層的最後一個成員 | 階層中的最後一個資料值 (即使該值為 NA)。 |
| 階層的加權平均 | 將非 NA 子項資料值乘以其對應的加權值,然後將結果除以加權值總和。與 WAVERAGE 不同,HWAVERAGE 的分母總和會包括加權值,即使對應的子項值為 NA。代表根據欄位中的加權物件。 |
| 階層的加權第一個 | 階層中第一個與其對應加權值相乘的資料值 (即使該值為 NA)。代表根據欄位中的加權物件。 |
| 階層的加權最後一個 | 階層中最後一個與其對應加權值相乘的資料值 (即使該值為 NA)。代表根據欄位中的加權物件。 |
| 最後一個非 NA 資料值 | 最後一個實際資料值。 |
| 最大值 | 各個父項的子項中最大的資料值。 |
| 最小值 | 各個父項的子項中最小的資料值。 |
| 非增加 | 不聚總此維度的任何資料。只能在運算子變數使用此關鍵字,在其他地方沒有作用。 |
| 比例總和 | 將加權物件的值與各個資料值相加,然後加總資料值。代表根據欄位中的加權物件。 |
| 總和 | 加總資料值。(預設) |
| 加權平均 | () 將各個資料值乘以加權因子、加總資料值,然後將結果除以加權因子總和。代表根據欄位中的加權物件。 |
| 加權第一個 | 第一個與其對應加權值相乘的非 NA 資料值。代表根據欄位中的加權物件。 |
| 加權最後一個 | 最後一個與其對應加權值相乘的非 NA 資料值。代表根據欄位中的加權物件。 |
| 加權總和 | 將各個資料值乘以加權因子,然後加總資料值。代表根據欄位中的加權物件。 |
聚總階層
在要聚總的各個維度中,各選取一或多個階層。如果略過某個階層,就不會儲存該階層的聚總值;其聚總值一律在回應查詢時計算。由於這樣會降低程式實際執行的效能,因此除非很少用到某個階層,否則不應略過。
「預先計算」子頁籤會顯示在下列情況中使用的方法,此方法會決定在維護資料時,要預先計算哪些值並儲存在立方結構中,以及在回應查詢要求時,要計算哪些值。
成本式聚總
使用此方法可讓 OLAP 引擎識別資料中最具成本效益的區域,來進行預先計算。
分割區或底端分割區百分比
在文字方塊中,輸入立方結構或下層分割區 (位於選取的立方結構分割層次或其下方的層次) 的百分比 (0 到 100)。您可以隨時間調整百分比,以在程式實際執行效能與時間和磁碟空間的維護限制上,取得平衡。若要調整資料庫,您應追蹤各種預先計算百分比的程式實際執行效能和維護統計資料。
值為 0 時,不會建立任何聚總值;系統會在程式實際執行時計算聚總值,為查詢提供答案集。0% 預先聚總的結果是維護時間最短、所需儲存體空間最小,但是查詢回應時間也最慢。值為 100 時,會建立所有聚總值,系統會在回應查詢時擷取聚總值。100% 預先聚總的結果是維護時間最長、所需儲存體空間最大,但是查詢回應時間也最快。大多數 DBA 會選擇介於這兩個極端值之間的值,以在查詢效能需求與資料維護時間限制之間取得平衡。
值為 1 時,會建立 1% 的聚總值,同時也會建立用來儲存和追蹤聚總的資料結構。因此,計算這一小部分百分比所花的時間也就相對地較長。
頂層分割區百分比
分割立方結構時,可將頂層分割區與立方結構其餘部分設定不同的百分比。頂層分割區通常是最大的分割區,並且是許多應用層式一開始會查詢的分割區。它包含分割層次之上的層次。
層次式聚總
針對各個維度,選取您要預先計算的層次。請一律選取基礎層次。
維度
選取要顯示其層次的各個維度。
層次
選取您要在組建程序中進行計算和儲存的層次。
識別儲存資料層次的最佳方法,就是判斷各個層次的維度成員比例,並將要在程式實際執行時計算的成員比例保持在 10:1 以下。此方法可確保快速傳回所有答案集。系統會將資料儲存在分析工作區中,或是將 10 個或更少的值加總成單一數目來計算資料。將 10 個值加總所花的時間微不足道,而且如果應用程式設計良好,便能將傳回的資料集數量,限制在分析人員可輕鬆檢視的數量。您可以根據您對層次存取頻率的判斷,修改此比例。
較慢變動的維度會花較長的時間來聚總,因為資料散落在儲存體空間中的各處。如果您要針對資料維護進行最佳化,請將較快變動的維度完全聚總,然後在較慢變動的維度使用略過層次聚總。
版權所有 © 2003,2007,Oracle。保留一切權利。