A szűrők szabályozzák a kockában lévő adatértékekhez való biztonsági hozzáférést. A szűrők képviselik a szolgáltatásban elérhető legrészletesebb biztonsági funkciót.
Amikor a felhasználó létrehoz egy szűrőt, a kocka konkrét celláira vagy cellatartományaira vonatkozó korlátozásokat is meg kell határoznia. Ezt követően felhasználókhoz vagy csoportokhoz rendelheti a szűrőt.
Az Ön biztonsági szerepköre határozza meg, hogy Ön jogosult-e szűrőket létrehozni, kiosztani, módosítani, másolni, átnevezni és törölni:
A kockákhoz több szűrőt is létre lehet létrehozni. A szűrők módosítása esetén a definícióban eszközölt változásokat a szűrőt alkalmazó összes felhasználó örökli.
Lásd: Az adatbáziscellák elérésének szabályozása biztonsági szűrők segítségével.
Ha a Redwood felületen szeretne szerkeszteni egy szűrőt, keresse meg a Szűrők lapot (ehhez válassza ki a kockát, majd a Testreszabás oldalt). Ezután szerkessze a szűrőt. Ehhez kattintson a szűrő nevére, és végezze el a módosításokat a szűrőszerkesztőben. Meglévő sor hozzáadásához kattintson duplán az adott sorra.
Ha a Klasszikus webes felületen szeretne szerkeszteni egy szűrőt, lépjen a vizsgálóban a Szűrők lapra, majd szerkessze a szűrőt. Ehhez kattintson a szűrő nevére, és végezze el a módosításokat a szűrőszerkesztőben.
Egy adott szűrő másolható, átnevezhető vagy törölhető, ha rákattint a szűrő neve melletti Műveletek menüre, és kiválasztja a kívánt műveletet.
A szűrőket létrehozás után hozzárendelheti őket felhasználókhoz vagy csoportokhoz.
A szükséges szűrődefiníciók számának csökkentése érdekében létrehozhat dimanikus szűrőket külső forrásadatok alapján.
@datasourceLookup
metódus és a $LoginUser
, illetve a $LoginGroup
változó használatát is. A külső forrásadat egy CSV-fájl vagy egy relációs tábla. Relációs forrásadathoz a .CSV fájl betölthető relációs táblába.A dinamikus szűrő szintaxisával hozzon létre rugalmas szűrőket, amelyeket több felhasználóhoz és csoporthoz is hozzárendelhet.
A szűrősorok a következő elemeket tartalmazhatják definiálásuk részeként a tagkifejezésük mellett.
$loginuser
Ez a változó tárolja futásidőben az aktuálisan bejelentkezett felhasználó értékét. Együtt használható a @datasourcelookup
metódussal.
$logingroup
Ez a változó az aktuálisan bejelentkezett felhasználóhoz tartozó összes csoport értékét tárolja. Közvetlen és közvetett csoportokat egyaránt tartalmaz. Ha a @datasourcelookup
metódussal együtt van használva, minden egyes csoportot külön meg kell nézni az adatbázisban.
@datasourcelookup
Ez a metódus rekordokat olvas be az adatforrásból.
Szintaxis
@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
Paraméter | Leírás |
---|---|
dataSourceName |
Az Essbase szolgáltatásban definiált külső adatforrás neve. Alkalmazásszintű adatforrás esetén a név előtagja az alkalmazás neve és pont. |
columnName |
Annak az adatforrás-oszlopnak a neve, amely egy adott columnValue keresésére szolgál. |
columnValue |
A columnName oszlopban keresendő érték. |
returnColumnName |
Annak az adatforrás-oszlopnak a neve, amely visszaadja az értéklistát. |
Leírás
Az @datasourcelookup hívás egyenlő az alábbi SQL lekérdezéssel:
select returnColumnName from dataSourceName where columnName=columnValue
Az @datasourcelookup az adott adatforrásban végez keresést, és olyan rekordokat keres, ahol a columnName tartalmazza a columnValue értéket. Ha a columnValue értéke $loginuser
, ez a metódus olyan rekordokat keres, amelyeknél a columnName tartalmazza az aktuálisan bejelentkezett felhasználó nevét.
Az Essbase úgy alakítja ki a szűrődefiníció-sort, hogy a listaelemeket veszővel elválasztott sztingként kombinálja egyesíti. Ha bármely rekord különleges karaktereket/szóközöket, illetve csak számokat tartalmaz, akkor a rendszer automatikusan idézőjelbe teszi azokat.
Példák
Tegye a paramétereket idézőjelbe.
A következő hívás a globális adatforrásban keres, és visszaadja azokat az üzletneveket, ahol az üzletvezető neve Mary.
@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")
A következő hívás az alkalmazásszintű adatforrásban keres, és visszaadja azokat az üzletneveket, ahol az aktuálisan bejelentkezett felhasználó az üzletvezető.
@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")
A következő hívás egy alkalmazásszintű adatforrásban keres, és azoknak az üzletneveknek a listáját adja vissza, ahol az üzlet részlege megegyezik azon csoportok egyikével, amelyekhez a bejelentkezett felhasználó tartozik.
@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")
Ha a bejelentkezett felhasználó 3 csoporthoz tartozik, akkor a fenti @datasourcelookup
metódus minden egyes csoportnál visszaadja az összes megegyező oszlopértéket.
A következő általános munkafolyamattal hozhat létre dinamikus szűrőket.
Ehhez a dinamikus szűrőket tartalmazó munkafolyamathoz már rendelkeznie kell kockával, valamint előkészített felhasználókkal és csoportokkal.
A Klasszikus webes felületen használja az adatbázisvizsgáló Szűrők szakaszát.
$loginuser
változót, a $logingroup
változót és a @datasourcelookup
metódust szükség szerint használja.A következő dinamikus szűrő a galériában mintasablonként elérhető Efficient.UserFilters nevű kockát használja.
Ha szeretné megismerni, hogyan kell létrehozni és alkalmazni ezt a dinamikus szűrőt, töltse le az Efficient_Filters.xlsx
nevű munkafüzetsablont a galéria Műszaki részéből, és kövesse a munkafüzetben található README utasításokat. A galéria az Essbase webes felületének Fájlok részén érhető el.