篩選主要控制立方體中資料值的安全性存取。篩選是可用的最細微安全性形式。
當您建立篩選時,可以在特定立方體儲存格或儲存格範圍上指定一組限制。接著可以將篩選指定給使用者或群組。
您擁有的安全角色會決定您是否可以建立、指定、編輯、複製、重新命名,或刪除篩選:
您可以為立方體建立多個篩選。如果編輯篩選,對其定義所做的修改會由該篩選的所有使用者繼承。
若要在偵測器的「篩選條件」頁籤中編輯篩選條件,請按一下篩選條件名稱,然後在「篩選條件編輯器」中做變更。
若要複製、重新命名或刪除篩選,請按一下篩選名稱右邊的「動作」功能表,然後選擇選項。
建立篩選之後,請將它們指定給使用者或群組。
您可以根據外部來源資料建立動態篩選,以減少所需的篩選定義數目。
@datasourceLookup
方法和 $LoginUser
與 $LoginGroup
變數。您的外部來源資料會是 csv 檔案或關聯式表格。就關聯式來源資料而言,您可以將 .csv 載入關聯式表格。使用動態篩選語法建立彈性篩選,供您指定給多個使用者和群組。
篩選資料列定義除了成員表示式外也可包含以下元素。
$loginuser
此變數可在程式實際執行時儲存目前登入的使用者值。它可以與 @datasourcelookup
方法搭配使用。
$logingroup
此變數儲存目前登入使用者所屬的所有群組值。其中包括直接和間接群組。與 @datasourcelookup
方法搭配使用時,可針對資料來源個別查尋每一個群組。
@datasourcelookup
此方法會從資料來源擷取記錄。
語法
@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
參數 | 描述 |
---|---|
dataSourceName |
Essbase 中定義的外部資料來源名稱。若為應用程式層級資料來源,會在名稱的前面加上應用程式名稱和點。 |
columnName |
用於搜尋所指定 columnValue 的資料來源資料欄名稱。 |
columnValue |
要在 columnName 中搜尋的值。 |
returnColumnName |
供傳回值清單的資料來源資料欄名稱。 |
描述
@datasourcelookup 呼叫等同於下列 SQL 查詢:
select returnColumnName from dataSourceName where columnName=columnValue
@datasourcelookup 會查尋指定的資料來源,並且搜尋 columnName 包含 columnValue 的記錄。若指定的 columnValue 為 $loginuser
,此方法將會搜尋 columnName 包含目前登入使用者名稱的記錄。
Essbase 會將清單元素合併成以逗號區隔的字串,以構成篩選定義資料列。若有任何記錄包含特殊字元、空格或只有數字,系統會將它們以引號括住。
範例
將參數括在引號內。
下列呼叫會查尋全域資料來源,並且傳回店經理名字為 Mary 的商店名稱清單。
@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")
下列呼叫會查尋應用程式層級資料來源,並且傳回目前登入使用者為店經理的商店名稱清單。
@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")
下列呼叫會查尋應用程式層級資料來源,並且傳回商店部門符合目前登入使用者所屬任一群組的商店名稱清單。
@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")
登入的使用者若屬於 3 個群組,上述的 @datasourcelookup
方法則會針對每個群組傳回所有相符的資料欄值。