Hesaplamaları İzleme

Üye formül işleme konusunda bilgi edinmek için Essbase hesaplama izleme özelliğini kullanın. Bu, blok depolama hesaplama komut dosyalarınızın hatalarını ayıklamanıza ve bunları iyileştirmenize yardımcı olur. Bağlama duyarlı Smart View hesaplama izlemesi için CALCTRACE'i etkinleştirin veya izlenecek veri kesişme noktalarını seçmek için SET TRACE komutunu kullanın.

Hesaplama izleme, hesaplama komut listesi bir küpte başarıyla yürütüldükten sonra hesaplama hakkındaki günlüğe kaydedilmiş bilgilere erişmenizi sağlar.

Bir hesaplamanın izlenmesi hesaplamanın davranışıyla ilgili hiçbir şeyi değiştirmez. Bir hesaplama Smart View'den başlatılırsa ve bağlanılan sunucuda bir yönetici tarafından hesaplama izleme etkinleştirildiyse, hesaplama çalıştıktan sonra Smart View detayları içeren bir açılan iletişim kutusu görüntüler. Hesaplama izleme bilgileri açılan iletişim kutusundan bir metin düzenleyicisine yapıştırılabilir. Ya da Essbase içindeki veritabanı dosyalarında yer alan calc_trace.txt dosyasında aynı bilgileri bulabilirsiniz.

Hesaplama izleme bilgileri, hesaplamanın sonuçlarının beklediğiniz gibi olmaması durumunda hesaplama komut listesi yürütmesinin sorunlarını gidermenize yardımcı olabilir.

Hesaplama izleme senaryo idaresinin etkin olduğu uygulamalarda desteklenmez.

Hesaplama izlemeyi etkinleştirmek için yöneticinin önce CALCTRACE uygulama konfigürasyonu parametresini açması gereklidir. Uygulamanızda hesaplama izleme özelliği etkinleştirildikten sonra bundan iki şekilde yararlanabilirsiniz.

  • Smart View'de tek bir hücre değeri için bağlama duyarlı izleme kullanabilirsiniz.
    1. Smart View'de bir sorgu sayfasını, hesaplama izlemeyi etkinleştirdiğiniz uygulamaya bağlayın.
    2. Hesaplanan değerini izlemek istediğiniz bir veri hücresini vurgulayın.
    3. Essbase sekmesinin Veri panelinde Hesapla düğmesine tıklayıp yürütülecek bir hesaplama komut listesi seçin. İzleme üyesi çalıştırma zamanı bilgi istemlerinde vurguladığınız veri hücresinden bakış açısını görürsünüz.
    4. Başlat'a tıklayarak hesaplama komut listesini yürütün.

      Komut listesindeki hesaplama tüm kapsamıyla gerçekleştirilir, ancak hesaplama sırasında yalnızca vurgulanan veri hücresinin bağlamı izlenir.

    5. Hesaplama komut listesi tamamlandığında Hesaplama Sonucu iletişim kutusunu inceleyin. Burada vurgulanan veri hücrenizin hesaplama öncesi ve sonrası sonuçları gösterilir.

      Vurgulanan veri hücresi hesaplama sırasında değişmezse hücrenin değişmediğini belirten bir mesaj görürsünüz.

  • İzlenecek veri kesişme noktalarını seçmek için hesaplama komut listelerinde SET TRACE hesaplama komutunu kullanabilirsiniz. SET TRACE birden çok veri hücresini izlemenizi sağlar. Ayrıca, SET TRACE mbrList (bir üye listesi üzerinde hesaplama izlemeyi açmak için) ve SET TRACE OFF (komut listesinde yeni bir SET TRACE komutuyla karşılaşana dek hesaplama izlemeyi devre dışı bırakmak için) komutlarının bir kombinasyonunu kullanarak hesaplama komut listelerinin belirli bölümlerini izleyebilirsiniz. SET TRACE komutunu kullanmak için Küp Tasarımcısı'nı, komut satırı arayüzü (CLI) calc komutunu, Essbase web arayüzündeki bir Hesaplama Çalıştırma işini veya MaxL'i (hesaplamayı yürüt komutunu) kullanarak hesaplama komut dosyasını Smart View dışında yürütmeniz gerekir.

Aşağıdaki hesaplama komut listesi Örnek Temel'de çalıştırılır. Komut dosyası bir SET TRACE komutu içerir ve 100-10 ürün stok tutma birimi (SKU) numarası için Kaliforniya pazarındaki bütçelenen Ocak satışlarını temsil eden veri ara kesiti (hücre) için detaylı bilgilerin günlüğe kaydedilmesini ister.

SET TRACEID "id042"
SET TRACE ("100-10", "California", "Jan", "Sales", "Budget");
FIX("California", "Budget")
   "Sales" (
      "100-10" = @MEMBER(@CONCATENATE(@NAME(@PARENT("Product")), "-20")) / 10;
   );
ENDFIX;

Not:

Hesaplama izleme dosyanızın üzerine yazılmasını önlemek için SET TRACEID komutu da önerilir.

Örnek Temel'de iki ayrık boyut vardır: Ürün ve Pazar. Üye formülü, yoğun bir boyut olan Ölçülerin üyesi Satıştadır. FIX deyiminin üye listesi sadece Pazar boyutuna ait olan bir ayrık üye (Kaliforniya) içerir.

FIX kapsamındaki mevcut blok sayısı, izlenen hücrenin kaç defa hesaplanacağını belirler. Bu örnekte, hesaplama Kaliforniya'nın tüm mevcut ayrık üye birleşimlerinde dolaşır. Bu birleşimlerin her biri bir bloğu temsil eder.

Hesaplama tamamlandıktan sonra şu izleme bilgileri günlüğe kaydedilir ve calc_trace_id042.txt dosyasında görüntülenir:

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 1)
Previous value: 840.00
Dependent values: 
        [100-20][California][Jan][Sales][Budget] = 140.00
New value: [100-10][California][Jan][Sales][Budget] = 14.00

Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 2)
Block from FIX scope: [100-30][California]
Actual block used in calculation: [100-10][California]
Previous value: 14.00
Dependent values: 
        [100-20][California][Jan][Sales][Budget] = 140.00
New value: [100-10][California][Jan][Sales][Budget] = 14.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 3)
Block from FIX scope: [200-10][California]
Actual block used in calculation: [100-10][California]
Previous value: 14.00
Dependent values: 
        [200-20][California][Jan][Sales][Budget] = 520.00
New value: [100-10][California][Jan][Sales][Budget] = 52.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

[...calc iterations 4-7 are omitted from example...]

Tracing cell: [100-10][California][Jan][Sales][Budget]  (Cell update count: 8)
Block from FIX scope: [400-30][California]
Actual block used in calculation: [100-10][California]
Previous value: 9.00
Dependent values: 
        [400-20][California][Jan][Sales][Budget] = 90.00
New value: [100-10][California][Jan][Sales][Budget] = 9.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)

Hesaplama izleme günlüğü, izlendiği hücrede hesaplamanın nasıl çalıştığı hakkında aşağıdaki kapsamlı bilgileri sağlar:

  • İzlenen hücre birkaç defa hesaplandı ve yeni değer her seferinde hücredeki eski değerin üzerine yazıldı (raporlanan hücre güncelleme sayısı 8'de durdu).

  • Hesaplamadan önce hücrenin değeri 840,00 idi.

  • Her hesaplama için bağımlı değerler ve yeni değerler gösterilir. Bağımlı değerler FIX deyimindeki üye formülünden gelir.

  • Tüm hesaplamalar tamamlandığında, izlenen hücrenin son değeri 9 ama bu değer "400-20"->California ürününün değerinin 10 ile bölünmüş halini temsil ediyor.

  • Hesaplama komut listesinin Satışlar'da bir üye formülü içeren 91-93 numaralı satırları güncellenen değerlerden sorumludur.

Dolaşan her blok için Satışlar şu formül kullanılarak hesaplanır:

"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10

Formül sol kısımda ayrık bir üye içerir ve bu fiili hesaplama bloğunun ilk FIX bloğundan farklı olmasına yol açabilir. Örneğin, hesaplama "Kaliforniya"->"100-20" üzerinde dolaşırken hesaplamalar aslında "Kaliforniya"->"100-10" üzerinde yapılır.

FIX kapsamındaki blok ve Hesaplamada kullanılan asıl blok başlıklı izleme günlüğü girişleri sadece FIX deyimindeki bloklarla üye formülünde temsil edilen blok arasında bir uyuşmazlık olması durumunda yazdırılır. Bu günlük girişleri tekrarlanan hesaplamaların nedeni hakkında fikirler vererek hesaplama komut listenizin hatalarını ayıklamanıza yardımcı olabilir.