您可以在 Essbase Web 介面,使用 MDX 報表儲存及呈現查詢。您至少必須具備「資料庫管理者」權限,才能建立報表。
使用「臨機操作分析」頁籤定義版面配置,不見得是建立複雜報表的最有效率方式。如果您確實知道想要查詢的項目,那麼就可以使用 MDX 建立查詢,在方格中填入資料。
若要進一步瞭解 MDX,請參閱 MDX 和 Writing MDX Queries。
報表的使用方式依立方體存取權而定。
使用者至少必須具備應用程式層級的「資料庫存取」角色,才能呈現其他使用者建立的已儲存 MDX 報表。使用者在報表中見到的顯示資料,會因該使用者的篩選條件存取權而有所不同。
除了呈現已儲存的報表之外,「資料庫存取」使用者還可以多種格式匯出結果集:HTML、CSV、Excel 以及 JSON。
「資料庫存取」使用者也可以按報表名稱旁的動作功能表並選取檢視,以檢視定義報表的 MDX 查詢。
如果您至少具備「資料庫管理者」角色,就可以像「資料庫存取」使用者一樣使用報表。此外,還可以使用動作功能表編輯及刪除報表。
若您是服務管理員,那麼您還可以使用執行身分按鈕,模擬其他使用者並檢查他們的資料存取權。這對於測試指定給多位使用者的篩選條件而言相當實用。
本節中的 MDX 範例展示可使用 MDX 報表執行的特殊類型分析,這類分析通常難以在「臨機操作分析」檢視中完成。
以下是針對在「基本範例」立方體上運作所設計的範例。
中繼資料報表
下列範例只會傳回中繼資料 (成員名稱,但沒有資料):
SELECT {[Product].Levels(1).Members} ON ROWS, {} ON COLUMNS
傳回以下方格:
屬性報表
下列範例使用屬性維度的成員 (列在資料欄中):
SELECT [Product].Children ON ROWS, [Ounces].Children ON COLUMNS WHERE {Sales}
傳回以下方格:
已篩選報表
下列範例使用截塊器 (WHERE 子句) 限制對 Cola 的查詢。此外,使用 Filter 函數將查詢中層級 0 的市場限制為利潤為負值的市場。
SELECT { Profit } ON COLUMNS, Filter( [Market].levels(0).members, Profit < 0) ON ROWS WHERE {Cola}
傳回以下方格:
UDA 報表
下列範例顯示含有使用者定義屬性 (UDA) "Major Market" 之 Market 維度成員的 Product 資料。此外,也使用截塊器 (WHERE 子句) 限制讓查詢只包含 Sales 資料。
SELECT [Product].Children ON ROWS, {Intersect(UDA([Market], "Major Market"), [Market].Children)} ON COLUMNS WHERE {Sales}
傳回以下方格: