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.
$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.