上述範例示範了即使是簡單 UDM 也可大幅簡化基本資料瀏覽。然而,提供使用者的資料存取權時,仍有其他挑戰需要考量。例如:
-
支援不同使用者執行之許多不同類型查詢的 UDM,本身的大小可能會變得很大。如何確保只需要進行特定工作的使用者,不會淹沒在不相關的資訊中?
-
如何支援全球的使用者,以自己的母語查看報表的需求?
-
如何簡化所有常見時間問題的詢問?例如,使用者可能會想要顯示與去年同時期比較的銷售。
此章節會探討上述部分問題,以顯示 UDM 如何擴充基本模型來支援更進階的資料瀏覽。
階層
雖然將實體的所有屬性都合併到某個維度中,可大幅簡化使用者的模型,但是屬性之間還是有一些其他關聯性無法以簡單清單予以表現。在上述情況下,Category、SubCategory 和 SKU 會定義一個用來組織產品的階層。因為使用者常常會想要根據這類階層來執行分析,所以 UDM 可讓您定義這類階層。例如,依據 Category 檢視總值後,使用者可能會向下鑽研至 SubCategory,然後再向下鑽研至最低的 SKU 層級。每個階層都是一連串可在查詢中使用的屬性,用以簡化這類向下鑽研/向上鑽研狀況。
下圖是使用者在介面中所看到之階層的範例。此模型包含許多不同的階層,可用來組織產品。此處所顯示的查詢回答了下列問題:「顯示依產品類別目錄分組的銷售和配額,然後細分子類別目錄」。將 "Products By Category" 階層拖曳至方格中,即可定義此查詢。若要檢視詳細資料,則使用者只要按兩下 "Bike" 類別目錄,即可展開子類別目錄。
UDM 會處理如何在階層層級之間移動的詳細資料。因為 Quotas 並不會出現在 SubCategory 層級,而只會出現在 Category 層級,所以 UDM 也會處理這類詳細資料。
父子式階層是一種特殊的階層,涵蓋與本身有複雜關聯性的許多實體。在下圖中,員工維度有一個 "Employees By Organization Structure" 階層。使用這個階層可輕易地導覽父子式關聯性,以及分析每個組織層級的積存值。例如,銷售副總裁 Charles Marshall 的銷售額包含其所有下屬職員的總銷售額,加上與其直接相關的任何銷售額。
分類
使用者通常會將分類套用至他們的資料中。例如,使用者可能會說「這些屬性都是員工個人詳細資料」或「這個屬性是電子郵件地址」。UDM 提供兩種機制,特別用來根據這類分類以提供其他值:
-
可以在具有語意意義的類別目錄中加入維度、屬性和其他物件,讓用戶端工具更有智慧地使用物件。例如,可以將屬性標示為 URL。然後,包含這個屬性的報表即可根據 URL 的值來啟用導覽。另一個屬性則可能標示為電子郵件地址。在此情況下,報表用戶端可能會在某個使用者動作時自動開啟新的電子郵件。
-
量值、階層和其他物件都可分組成對使用者有意義的資料夾。這個分組可讓報表工具以較易管理的方式顯示大量屬性。例如,可能會有一組標示為 'Customer Demographics' 的屬性。
時間
時間資訊通常是使用 DateTime 或 Date 資料類型,記錄在基礎資料來源中。雖然熟悉 SQL 或 XPath 的使用者可擷取依年度加總資料所需的日期資訊,但他們會發現很難根據其他形式的時間來撰寫問題的查詢 (例如「依每週的星期幾顯示銷售」或「從 7 月 1 日開始,依會計年度細分」)。
然而,UDM 具有內建的時間知識,其包含下列日曆:
-
自然
-
會計
-
報表 ('445' 等)
-
製造 (13 期)
-
ISO8601
因此,此模型所包含的時間維度可提供一組用來定義每天之詳細資料的豐富屬性集。下圖顯示的是使用者選擇查看 2001 會計年度的銷售量和銷售額時所顯示的結果。而使用者只要將相關項目從樹狀結構中拖曳至篩選區域即可做到。UDM 知道如何將該使用者項目翻譯成日期的範圍,也了解查詢中必須包含在那些日期出貨之訂單的商務規則,而非包含在那些日期到期或已訂購的訂單。UDM 會隱含地產生正確的聯結。
此外,UDM 還提供回答一般時間相關問題 (包含不同週期的比較,例如「比較本月與去年同月」) 的特定支援。
翻譯
在上述範例中,模型內容和資料都是以單一語言顯示。但是,國際使用者經常會需要檢視其當地語言的中繼資料。
為了解決這個問題,UDM 允許以任何語言提供中繼資料的翻譯。使用特定地區設定連接的用戶端應用程式,會收到以適當語言顯示的所有中繼資料。
此模型也提供資料的翻譯。屬性可以對應到資料來源中的不同元素,並提供那些元素之不同語言的翻譯。例如,如果使用者利用用於之前範例的相同工具來進行連接,但是使用具有法文地區設定的用戶端電腦,則 UDM 和查詢結果都會以法文顯示 (如下圖所示)。
檢視方塊
雖然此處使用的範例模型大小不大,但是實際使用之模型的範圍可能會大很多,可能包含數十個量值和維度,而每個維度都包含數十或數百個屬性。從事特定工作的使用者通常不需要看到整個模型。為了避免使用者無法忍受整個模型大小,則需要可定義用來顯示模型之子集的檢視。
UDM 提供這類檢視 (稱為檢視方塊)。UDM 可以有許多檢視方塊,每個檢視方塊都只代表模型中與特定使用者群組相關的特定子集 (量值、維度、屬性等等)。然後,每個檢視方塊都可以與使用者安全性角色產生關聯,而這些角色定義的是應看到該檢視方塊的使用者。
例如,可定義名為 Seattle Inventory 的檢視方塊,其中只包含 Inventory 量值群組中的量值、隱藏 "Warehouse By Location" 階層,並將預設 City 設定為 "Seattle"。
屬性語意
UDM 提供屬性的其他語意。這些語意的目標是要讓資訊更容易使用。下列是一些可套用至屬性之語意的範例:
-
名稱與索引鍵:查看關聯式資料庫時,可能不是很容易發現 EmployeeID 是無意義、唯一且由系統產生的索引鍵。而讓 Employee 屬性同時擁有索引鍵 (唯一的 EmployeeID) 和名稱 (例如,FirstName 和 LastName 的串連),UDM 即可解決此問題。查詢 (例如「顯示員工」) 使用唯一識別碼來正確區別姓名相同的員工,但是會向使用者顯示有意義的名稱。
-
順序:通常必須以非簡單字母或數字順序的某種固定順序,來顯示屬性的值。UDM 可讓您定義用來管理這項需求的預設順序。例如:
-
每週的星期幾會顯示為「星期日」、「星期一」、「星期二」等等。
-
屬性是以「高」、「中」和「低」順序來顯示。
-
分隔方法:若為數值屬性,則顯示屬性的每個相異值時,它有時不是很有用。例如,查看產品之所有不同價格的銷售 ($9.97、$10.05、$10.10 等等) 就不如依價格範圍查看銷售 (<$10、$10 - $15 等等) 來得有用。UDM 可讓您使用各種準則,將屬性分隔為這樣的範圍。
關鍵效能指標 (KPI)
企業通常會定義關鍵效能指標 (KPI),這是用來測量企業健全狀況的重要標準。UDM 允許建立這類 KPI,因此該企業可用較易了解的方式來分組和呈現資料。KPI 也可以使用圖形來顯示狀態和趨勢 (例如號誌燈,用以指出「好」、「平均」或「差」)。
針對每個效能標準,UDM 中的每個 KPI 最多會定義四個運算式:
-
實際值
-
目標值
-
狀態:介於 -1 與 1 之間的正規化值,代表實際與目標的比例 ( -1 是「非常差」、1 是「非常好」)。
-
趨勢:介於 -1 與 1 之間的正規化值,代表經過一段時間的趨勢 (-1 是「變得更差」、1 是「變得更好」)。
使用 KPI 可讓用戶端工具以使用者較容易立即了解的方式,來呈現相關的量值。下圖顯示用戶端工具會如何顯示組織到顯示資料夾中之三個 KPI 的範例。