Filtreler, bir küpteki veri değerlerine yönelik güvenlik erişimini kontrol eder. Filtreler en ayrıntılı güvenlik biçimidir.
Bir filtre oluşturduğunuzda, belirli küp hücrelerinde veya bir dizi hücrede bir grup kısıtlama belirlersiniz. Daha sonra filtreyi kullanıcılara veya gruplara atayabilirsiniz.
Filtreleri oluşturma, atama, düzenleme, kopyalama, yeniden adlandırma veya silme kabiliyetinizi kendi güvenlik rolünüz belirler:
Bir küp için birden fazla filtre oluşturabilirsiniz. Bir filtreyi düzenlerseniz, tanımında yapılan değişiklikler o filtrenin tüm kullanıcıları tarafından devralınır.
Bkz. Güvenlik Filtrelerini Kullanarak Veritabanı Hücrelerine Erişimi Kontrol Etme.
Redwood Arayüzünde bir filtreyi düzenlemek için küpü ve ardından Özelleştirme sayfasını seçerek Filtreler sekmesini bulun. Daha sonra filtre ismine tıklayıp filtre düzenleyicide değişikliklerinizi yaparak filtreyi düzenleyin. Mevcut bir satırı düzenlemek için o satıra çift tıklayın.
Klasik Web Arayüzünde bir filtreyi düzenlemek için denetçideki Filtreler sekmesine gidin ve filtre adına tıklayıp filtre düzenleyicide değişikliklerinizi yaparak filtreyi düzenleyin.
Bir filtrenin adının sağındaki Eylemler menüsüne tıklayıp bir seçenek belirleyerek filtreyi kopyalayabilir, yeniden adlandırabilir veya silebilirsiniz.
Filtreleri oluşturduktan sonra bunları kullanıcılara veya gruplara atayın.
Harici kaynak verilere dayalı dinamik filtreler oluşturarak gerekli filtre tanımı sayısını azaltabilirsiniz.
@datasourceLookup
yöntemi ve $LoginUser
ile $LoginGroup
değişkenleri dahil olmak üzere dinamik filtre tanımı sözdizimi kullanılır. Harici kaynak verileriniz bir csv dosyası ya da ilişkisel bir tablodur. İlişkisel kaynak veriler için .csv dosyasını ilişkisel bir tabloya yükleyebilirsiniz.Birden fazla kullanıcıya ve gruba atayabileceğiniz esnek filtreler oluşturmak için dinamik filtre sözdizimini kullanın.
Filtre satırları, üye ifadeleriyle birlikte tanımlarının bir parçası olarak aşağıdaki öğeleri içerebilir.
$loginuser
Bu değişken, çalıştırma zamanında o anda oturum açmış olan kullanıcı değerini depolar. @datasourcelookup
yöntemiyle birlikte kullanılabilir.
$logingroup
Bu değişken, oturum açmış geçerli kullanıcının ait olduğu tüm grupların değerini depolar. Hem doğrudan hem dolaylı grupları içerir. @datasourcelookup
yöntemiyle birlikte kullanıldığında her grup Veri Kaynağına göre ayrı olarak aranır.
@datasourcelookup
Bu yöntem, bir Veri Kaynağından kayıt getirir.
Sözdizimi
@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
Parametre | Açıklama |
---|---|
dataSourceName |
Essbase'te tanımlanmış harici Veri Kaynağının adı. Uygulama düzeyi Veri Kaynakları için adın başına uygulama adını ve bir nokta işareti koyun. |
columnName |
Belirli bir columnValue için aranacak Veri Kaynağı sütununun adı. |
columnValue |
columnName'de aranacak değer. |
returnColumnName |
Bir değer listesi döndürülecek Veri Kaynağı sütununun adı. |
Açıklama
Bir @datasourcelookup çağrısı aşağıdaki SQL sorgusuna denktir:
select returnColumnName from dataSourceName where columnName=columnValue
@datasourcelookup, belirtilen Veri Kaynağında arama yapar ve columnName'in columnValue değerini içerdiği kayıtları bulmaya çalışır. columnValue olarak $loginuser
değerini belirtirseniz bu yöntem columnName'in şu anda oturum açmış kullanıcının adını içerdiği kayıtları arar.
Essbase, liste öğelerini virgülle ayrılmış bir dize şeklinde birleştirerek filtre tanımı satırını oluşturur. Özel karakter, boşluk ya da sadece rakam içeren kayıtlar tırnak işareti içine alınır.
Örnekler
Parametreleri tırnak işareti içine alın.
Aşağıdaki çağrı, genel bir Veri Kaynağında arama yapar ve store manager görevini Mary'nin yaptığı store adlarının listesini döndürür.
@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")
Aşağıdaki çağrı, uygulama düzeyi bir Veri Kaynağında arama yapar ve store manager görevini şu anda oturum açmış olan kullanıcının yaptığı store adlarının listesini döndürür.
@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")
Aşağıdaki çağrı, uygulama düzeyi bir Veri Kaynağında arama yapar ve mağaza departmanının, oturum açmış kullanıcının ait olduğu grupların herhangi biriyle eşleştiği mağaza adlarının listesini döndürür.
@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")
Oturum açmış kullanıcı 3 gruba aitse, yukarıdaki @datasourcelookup
yöntemi her grup için eşleşen sütun değerlerinin hepsini döndürür.
Dinamik filtre oluşturmak için aşağıdaki genel iş akışını kullanın.
Bu dinamik filtreler iş akışında, zaten bir küpünüzün olduğu, kullanıcı ve grupların yetkilendirildiği varsayılmaktadır.
Klasik Web Arayüzünde, veritabanı denetçisinin Filtreler bölümünü kullanın.
$loginuser
değişkenini, $logingroup
değişkenini ve @datasourcelookup
yöntemini kullanarak her bir filtre için gerektiği şekilde filtre satırları tanımlayın.Aşağıdaki dinamik filtre galeride örnek şablon olarak sunulan Efficient.UserFilters adlı küple çalışır.
Bu dinamik filtreyi oluşturma ve uygulama konusunda bilgi edinmek için galerinin Teknik bölümünden çalışma kitabı şablonunu (Efficient_Filters.xlsx
) indirin ve çalışma kitabındaki BENİOKU talimatlarını uygulayın. Galeri, Essbase web arayüzünün Dosyalar bölümündedir.