您可以建立群組或計算的項目,作為在熱力矩陣、表格、樞紐分析表、格子圖或圖表中顯示資料的方式。
群組與計算的項目可讓您新增資料來源中不存在的「成員」至資料欄。這些成員亦稱為「自訂成員」。
群組為您所選取成員的靜態清單,或由選擇步驟產生的靜態或動態清單。群組是由成員所代表。您可以展開為階層式資料欄建立的群組,但無法展開為屬性資料欄建立的群組。
群組會使用顯示它的計量資料欄的現有聚總函數。聚總是從 Oracle BI 伺服器的最低明細層次往上執行,但不會重複計數值。
計算的項目是成員之間的運算,由無法展開的單一成員代表。當建立計算的項目時,便是新增在其中選取如何聚總項目的新成員,例如,「總計」或「平均」或自訂公式。計算是在聚總層次執行,而非在最低明細層次。
建立群組或計算的項目時,若選取所有的檢視選項,群組與計算的項目就都會成為整個分析的選擇步驟。因此,兩者皆套用至該分析的所有檢視。這些群組與計算的項目皆可儲存為內嵌或具名物件。如需相關資訊,請參閱以內嵌或具名方式儲存物件。
如果您透過選取目前的檢視選項建立特定檢視的群組或計算的項目,該群組或計算的項目只適用於特定的作用中檢視。
群組 (在其他產品中亦稱為「儲存的選擇項目」) 指的是使用者定義的資料欄成員。
群組可以為成員清單,或是可執行產生成員清單的一組選擇步驟。所有成員必須來自相同的屬性資料欄或階層式資料欄,在階層式資料欄中,成員可以來自不同的階層層次。群組會依照其新增的順序,永遠顯示在資料欄清單的底部 (如「選擇步驟」窗格中所顯示)。群組可以包含成員或其他群組。您可以建立自訂群組,然後將它加到檢視內的資料欄。
您可以將群組儲存至目錄並重複使用群組。例如,您可以將群組套用至分析與儀表板資料欄提示或變數提示。若在提示套用群組,則提示會在執行時期向使用者顯示群組為選項清單選項,或顯示群組成員為選項清單選項。如需使用者選取群組或資料欄成員時以提示覆寫選擇步驟的相關資訊,請參閱將選擇步驟覆寫為資料欄提示。
計算的項目是成員之間的運算,由單一成員代表。
計算的項目可讓您覆寫 Oracle BI 儲存區域中指定的預設聚總規則,以及針對現有分析由設計工具選擇的聚總規則。您可以使用自訂公式 (此為預設) 或結合選取的成員與函數 (例如,SUM),以定義計算的項目。
計算的項目是為使用者定義的資料欄成員。計算的項目可以包含成員或其他計算的項目。計算的項目依照其新增的順序,永遠顯示在資料欄清單的底部 (如「選擇步驟」窗格中所顯示)。您可以將計算的項目儲存至目錄並重複使用。
當您要以單一實體檢視與操控一組成員時,便可使用計算的項目。例如,您可以為下列項目定義計算的項目:
某個地理區域的主要客戶
高階產品
非標準期間 (例如 9 月的前 3 個禮拜)
您可以在不同位置為資料欄建立計算的項目。計算與套用至計量的預設聚總規則不同,如新增合計至表格和樞紐分析表中所述。計算的項目在內部是由 SQL SELECT 敘述句所處理,指示的函數則在結果集上執行。如需有關 SQL 函數的詳細資訊,請參閱邏輯 SQL 參照。
您可以建立檢視的計算項目或群組。
使用以下程序來建立計算的項目或群組。
建立計算的項目或群組:
註:
當 Oracle OLAP 為分析的資料來源時,使用群組時可能會出現錯誤。若群組包含在檢視中且出現錯誤訊息,則問題可能在於該分析中的計量資料欄使用外部聚總。請洽詢管理員,以實行下列其中一種可能的解決方法:
明確指定儲存區域中計量的聚總規則。
建立適當的值群組作為 Oracle OLAP 分析工作區的維度成員。
群組和計算的項目可進行更新,以呈現對使用者最有用的資訊。
您可以使用各種方式編輯群組和計算的項目:
在「選擇步驟」窗格中,按一下計算的項目或群組的連結,然後按一下編輯以顯示適當的對話方塊。
若已在目錄中儲存物件,請在目錄窗格中選取物件並按一下編輯以顯示適當的對話方塊。
在熱力矩陣、表格、樞紐分析表或格子圖 (外部邊緣上) 中,於群組或計算的項目按一下滑鼠右鍵並選取編輯群組或編輯計算的項目。
群組或計算的項目的值可能受到篩選和選擇步驟的影響,如下列清單所述:
篩選 — 群組或計算的項目僅使用篩選未移除的成員來評估。例如,若有 SUM(EAST + WEST) 的計算的項目,但是 WEST 已被篩選移除,則只有 EAST 總計會包含在計算的項目。若所有成員皆被移除,則會傳回空值,在熱力矩陣、表格、樞紐分析表或格子圖中會顯示為空白儲存格。
選擇步驟 — 當您建立選擇步驟時,可以新增群組或計算的項目至步驟。後續「僅保留」或「移除」步驟可能會參照群組或計算的項目中成員。
群組清單會受到後續步驟中保留或移除之成員的影響,但群組大綱值則維持不變。例如,假設 MyNewYork 群組包含 Albany 和 Buffalo 且其值為 100。假設 Albany 在稍後的步驟中移除。MyNewYork 群組的值仍為 100,但不再列示 Albany。
計算的項目不會受到後續步驟中保留或移除之成員的影響。
如果您移除所有檢視中使用目前的檢視選項按鈕所建立的群組或計算的項目,該群組或計算的項目會繼續存在,但是不會再加到後續新增的任何新檢視。
如果您移除所有檢視中使用所有的檢視選項按鈕所建立的群組或計算的項目,該群組或計算的項目會繼續存在,而且將會加到後續新增的任何新檢視。
使用滑鼠右鍵功能表移除群組或計算的項目時請注意下列事項:
從儀表板頁面內的檢視 — 計算的項目或群組只會從目前的檢視移除。
從檢視編輯器內的檢視 — 計算的項目或群組只會從所有的檢視移除。
您可以新增群組至在其他分析中建立的同一個資料欄。
新增至分析的群組可以是成員清單或一組選擇步驟。如需有關這些群組的資訊,請參閱將選擇步驟儲存為群組物件。
下列程序說明如何使用結果頁籤新增群組,但您也可以在顯示「目錄」窗格的任何位置執行此工作。您也可以使用下列方式新增群組:
在編輯成員步驟對話方塊的動作方塊中,選取從群組或計算的項目開始,然後從「可用」清單的「目錄」窗格中選取群組。
在「選擇步驟」窗格中,按一下適當資料欄的接著, 新建步驟,選取新增群組或計算的項目,選取選取現有群組和計算的項目,然後在產生的對話方塊中選取群組。
使用「目錄」窗格將群組新增至其他分析:
使用群組和計算的項目時,可能需要使用「巢狀」結構;例如在群組內建立群組。
下列清單提供巢狀群組與計算的項目的各種案例:
群組可以使用巢狀結構;亦即,群組可以包含其他群組。巢狀群組為「簡維」。例如,假設 my_favorite_countries 群組包含 my_favorite_cities 群組。當您在表格中顯示及展開 my_favorite_countries 群組時,並不會見到 my_favorite_cities 群組。而是見到 my_favorite_cities 群組的成員值。
計算的項目可以使用巢狀結構;亦即計算的項目可以包含其他計算的項目。
群組不可包含計算的項目,計算的項目也不可包含群組。
使用選擇步驟時:
您可以儲存選擇步驟,這些選擇步驟包含群組或計算的項目為在執行時期產生其結果的一系列步驟,或是作為靜態並每次重新顯示的結果。
您可以使用「目錄」窗格,套用儲存的步驟選擇項目的群組。若是如此,當儲存的選擇項目包含計算的項目步驟時,您只能新增該群組的成員。您無法新增群組本身。
若要瞭解計算的項目,您必須對 SQL 有基本的瞭解。
本節中的範例與說明假設您對於 SQL 敘述句及其語法有基本的瞭解。這些範例中顯示的語法適用於新建計算的項目對話方塊中的「自訂公式」函數。範例為假設性質。並非所有可能的計算的項目皆會顯示。
範例 6-1 顯示取得每個產品 SoftDrinkA、SoftDrinkB 與 SoftDrinkC 目前計量的值 (例如銷售金額) 並加總值所需的程式碼。
如此等同於從「函數」清單中選取「總計」,然後輸入或按一下 'SoftDrinkA','SoftDrinkB','SoftDrinkC',將它們新增至「函數」欄位。
範例 6-2 取得 SoftDrinkA 或 SoftDrinkB 較低者的目前計量最小值 (例如銷售金額)。
在範例 6-1 和範例 6-2 中,會為外層 (例如 Product 層) 中每個成員執行每個功能計算的項目。例如,若 Year 與 Product 置於軸上,而先前計算的項目有一個是在 Product 層上建立,則會每年計算結果。
範例 6-3 取得外層 (例如 Year 與 Product) 中每個項目的值並予以相加。
不需指定屬性資料欄的具名項目 (例如 SoftDrinkA),而是指定 $n 或 $-n,其中的 n 為指示項目資料列位置的整數。若指定 $n,則會從第 n 列取得計量。若指定 $-n,則會從最後一列算起的第 n 列取得計量。
例如,對於銷售金額,$1 會從資料集的第一列取得計量,$-1 會從資料集的最後一列取得計量。
範例 6-4 從第一、第二與第三列取得項目的目前計量 (例如銷售金額) 並予以總計。
範例 6-5 新增 SoftDrinkA、SoftDrinkB 與 SoftDrinkC 的銷售。請注意,範例中顯示的兩個計算的項目是相等的。亦即,Sum 是預設函數;因此可以省略。
範例 6-6 新增 SoftDrinkA 銷售與 diet SoftDrinkA 的銷售,然後新增 SoftDrinkB 的銷售與 diet SoftDrinkB 的銷售,並傳回這兩個總量的最大值。
範例 6-1 取得目前計量的值
sum('SoftDrinkA','SoftDrinkB','SoftDrinkC')
範例 6-2 取得目前計量最小值
min('SoftDrinkA','SoftDrinkB')
範例 6-3 取得外層中每個項目的值
sum(*)
範例 6-4 取得計量值並總計
sum($1,$2,$3)
範例 6-5 新增銷售值
'SoftDrinkA' + 'SoftDrinkB' + 'SoftDrinkC'
sum('SoftDrinkA','SoftDrinkB','SoftDrinkC')
範例 6-6 新增銷售值並傳回最大值
max('SoftDrinkA' + 'diet SoftDrinkA', 'SoftDrinkB' + 'diet SoftDrinkB')