Verimli Dinamik Filtreler Oluşturma

Harici kaynak verilere dayalı dinamik filtreler oluşturarak gerekli filtre tanımı sayısını azaltabilirsiniz.

Birçok kullanıcı için bir dizi sabit kodlu veri erişimi filtresini yönetmek yerine, üye ve kullanıcı adlarına göre harici kaynak verilerden küp hücrelerine erişimi filtreleyebilirsiniz.
Bunun için @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.

Dinamik Filtre Sözdizimi

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şturma İş Akışı

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.

  1. Dosya şeklinde veya ilişkisel bir veri kaynağı belirleyin.
  2. Essbase'te genel olarak veya uygulama düzeyinde bağlantıyı ve Veri Kaynağını tanımlayın.
  3. Veritabanı denetleyicisinin Filtreler bölümünü kullanarak küp düzeyinde filtreler oluşturun.
  4. Dinamik filtre sözdizimiyle $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.
  5. Filtreleri kullanıcılara veya gruplara atayın.
  6. Filtreyi bir gruba atadıysanız, uygulama denetleyicisinin İzinler bölümünü kullanarak grubu filtrelenecek uygulamaya atayın.

Dinamik Filtre Örneği

Aşağıdaki dinamik filtre galeride örnek şablon olarak sunulan Efficient.UserFilters adlı küple çalışır.


Oturum açmış kullanıcıya meta okuma erişim hakkı veren üç satırlı dinamik filtre.

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.