Güncellemenin Devreye Alınması

Geri yazma kullanıcıların analizlerden verileri güncellemelerini sağlar.

Konular:

Yöneticiler için Geri Yazma Hakkında

Geri yazma, kullanıcıların kumanda tabloları ve analizlerden doğrudan verilerinizi güncellemelerini sağlar.

Veritabanını Güncelle iznine sahip kullanıcılar analizlerdeki güncelleme alanlarını düzenlenebilir alanlar olarak görürler. Girdikleri değerler veritabanına kaydedilir. Veritabanını Güncelle iznine sahip olmayan kullanıcılar analizlerdeki güncelleme alanlarını salt okunur alanlar olarak görürler.

Kullanıcı düzenlenebilir bir alana bir değer girer ve güncelleme düğmesine tıklarsa uygulama güncelleme şablonunda tanımlı insert veya update SQL komutunu çalıştırır. Komut başarılı olursa analiz yeni değer ile güncellenir. Şablon okunurken veya SQL komutu çalıştırılırken bir hata oluşursa bir hata mesajı görüntülenir.

Bir kayıt henüz mevcut olmadığında ve kullanıcı tabloya yeni veri girdiğinde insert komutu çalışır. Bu durumda, kullanıcı ilk değerin null olduğu bir tablo kaydı girdi. Kullanıcı mevcut verileri değiştirdiğinde update komutu çalışır. Henüz fiziksel tabloda mevcut olmayan bir kaydı görüntülemek için başka bir benzeri tablo oluşturabilirsiniz. Kullanıcının değiştirebileceği yer tutucu kayıtlarını görüntülemek için bu benzeri tabloyu kullanın.

Not:

Güncelleme şablonlarını oluşturduğunuzda her ikisi aynı anda kullanılmasa bile hem insert komutunu hem de update komutunu dahil etmelisiniz. Örneğin, sadece bir insert gerçekleştiriyorsanız bu XML kodunda olduğu gibi boş bir update güncelleme komutu <update></update> eklemelisiniz.

İki insert komutu ve iki boş update komutu içeren örnek bir güncelleme XML dosyası burada. Güncelleme XML dosyalarının nasıl oluşturulduğu ve yapılandırıldığına ilişkin daha fazla bilgi bulmak üzere bkz. Güncelleme Şablon Dosyaları Oluşturma.
<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="oracle.bi.presentation/writebackschemas/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuotaUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
            <update></update>
         </writeBack>
      </XML>
   </WebMessage>
<WebMessage name="SetForecastUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypeforecast VALUES(@{c83ebf607f3cb8320},@{cb7e2046a0fba2204},'@{c5a93e65d31f10e0}','@{c5a93e65d31f10e0}',@{c7322jkl93ev92cd8})</insert>
            <update></update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>

Analiz ve Kumanda Tablolarında Geri Yazmayı Etkinleştirme

Yöneticiler, kullanıcıların analiz ve kumanda tablolarında verileri güncellemelerini sağlarlar.

  1. Semantik modelinizi ayarlayın.

    Not:

    Semantik model geliştirmek için Model Yönetim Aracı'nı kullanıyorsanız bu adımlar uygulanır. Semantik Modelleyici kullanıyorsanız, bkz.

    Sütunlara Geri Yazmayı Etkinleştirme .

    1. Model Yönetim Aracı'nda semantik modelinizi (.rpd dosyası) açın.
    2. Fiziksel Katmanda, geri yazmayı etkinleştirmek istediğiniz sütunları içeren fiziksel tabloya çift tıklayın.
    3. Genel sekmesinde (Fiziksel Tablo iletişim kutusundaki), Önbelleğe Alınabilir seçeneğinin belirtilmediğinden emin olun. Bu seçeneğin seçiminin kaldırılması, Sunum Hizmetleri kullanıcılarının güncellemeleri anında görmelerini sağlar.
    4. İş Modeli ve Eşlemesi katmanında, ilgili mantıksal sütuna çift tıklayın.
    5. Mantıksal Sütun iletişim kutusunda Yazılabilir'i seçin, ardından Tamam'a tıklayın.
    6. Sunum katmanında geri yazmayı etkinleştirdiğiniz mantıksal sütuna karşılık gelen sütuna çift tıklayın.
    7. Sunum Sütunu iletişim kutusunda İzinler'e tıklayın.
    8. Uygun kullanıcı ve uygulama rolleri için Okuma/Yazma iznini seçin.
    9. Değişikliklerinizi kaydedin.
  2. Geri yazma şablonunuz (veya şablonlarınız) ile bir XML belgesi oluşturun. Bkz. Güncelleme Şablon Dosyaları Oluşturma.

    XML belgeniz birden çok şablon içerebilir. Bu örnek iki şablonu içeren bir XML dokümanını göstermektedir (SetQuotaUseID ve SetForecastUseID).

    <?xml version="1.0" encoding="utf-8" ?>
    <WebMessageTables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="oracle.bi.presentation/writebackschemas/v1">
    <WebMessageTable lang="en-us" system="WriteBack" table="Messages">
       <WebMessage name="SetQuotaUseID">
          <XML>
             <writeBack connectionPool="Supplier">
                <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
                <update>UPDATE regiontypequota SET Dollars=@{c0432jkl53eb92cd8} WHERE YR=@{c5f6e60e1d6eb1098} AND Quarter=@{c5d7e483445037d9e} AND Region='@{c3a93e65731210ed1}' AND ItemType='@{c6b8735ea60ff3011}'</update>
             </writeBack>
          </XML>
       </WebMessage>
    <WebMessage name="SetForecastUseID">
          <XML>
             <writeBack connectionPool="Supplier">
                <insert>INSERT INTO regiontypeforecast VALUES(@{c83ebf607f3cb8320},@{cb7e2046a0fba2204},'@{c5a93e65d31f10e01}','@{c5a93e65d31f10e0}',@{c7322jkl93ev92cd8})</insert>
                <update>UPDATE regiontypeforecast SET Dollars=@{c7322jkl93ev92cd8} WHERE YR=@{c83ebf607f3cb8320} AND Quarter=@{cb7e2046a0fba2204} AND Region='@{c5a93e65d31f10e01}' AND ItemType='@{c5a93e65d31f10e0}'</update>
             </writeBack>
          </XML>
       </WebMessage>
    </WebMessageTable>
    </WebMessageTables>
    Not: Her ikisi aynı anda kullanılmasa bile <insert> öğesi ve <update> öğesi dahil etmelisiniz. Örneğin, sadece bir insert gerçekleştiriyorsanız boş bir update güncelleme komutu <update></update> eklemelisiniz.
  3. Güncelleme şablonlarınızı içeren XML dokümanını panoya kopyalayın.
  4. Geri yazma şablonunuzu Oracle Analitik'e uygulayın:
    1. Konsol'a tıklayın, ardından Sistem Ayarları'na tıklayın.
    2. Güncelleme Şablonu XML'inde, Adım 3'de kopyaladığınız güncelleme şablonunu yapıştırın.
  5. Geri yazma kodunu kullanma izinlerini verin:
    1. Klasik giriş sayfasına gidin, ardından Yönetim'e tıklayın.
    2. Güvenlik altında, İzinleri Yönet'e tıklayın ve Geri Yaz'a gidin.
    3. Doğrulanan Kullanıcıya Veritabanını Güncelleme yetkisi verin.
    4. İş Zekası Hizmet Yöneticisine Güncellemeyi Yönetme yetkisi verin.
  6. Sütunlarda geri yazmayı etkinleştirmek için:
    1. Analiz düzenleyicisinde, geri yazmayı etkinleştirmek istediğiniz sütunun Sütun Niteliklerini görüntüleyin.
    2. Sütun Nitelikleri iletişim kutusunda Geri Yazma sekmesine tıklayın.
      Sütun geri yazma için semantik modelinde etkinleştirildiyse Geri Yazmayı Etkinleştir kutusu kullanılabilir durumdadır.
    3. Geri Yazmayı Etkinleştir seçeneğini belirleyin.
    4. Öndeğeri değiştirmek istiyorsanız, diğer seçeneklerin değerini belirleyin.
    5. Değişikliklerinizi kaydedin.
    Sütun, bu sütunu içeren analizlerdeki geri yazma için etkindir.
  7. Tablo görünümlerinde geri yazmayı etkinleştirmek için:
    1. Analiz düzenleyicisinde, tablo görünümünü düzenleme için açın.
    2. Nitelikleri Görüntüle'ye tıklayın.
    3. Tablo Nitelikleri iletişim kutusunda Geri Yazma sekmesine tıklayın.
    4. Geri Yazmayı Etkinleştir seçeneğini belirleyin.
    5. Şablon Adı kutusunu seçin, Adım 2'de belirlediğiniz geri yazma şablonundaki "WebMessage name=" değerini belirtin.
      Örneğin, Adım 2'deki örnek şablona yönelik Şablon Adı 'SetQuotaUseID' şeklindedir.
    6. Değişikliklerinizi kaydedin.

Güncelleme Sınırlamaları

Kullanıcılar, Oracle Analitik SQL sorgularının yürütülmesine olanak tanıyan herhangi bir veri kaynağını güncelleyebilir.

Güncelleme için konfigüre ettikçe şu sınırlamalara dikkat edin:

  • Sayısal sütunlar sadece sayı içermelidir. Dolar işareti ($), pound işareti veya tire işareti (#), yüzde işareti (%) vb. gibi herhangi bir veri formatlama karakteri içermemelidir.

  • Metin sütunları sadece dize verilerini içermelidir.

  • Oturum açan kullanıcı, verilerin güncelleme kullanılarak değiştirildiği bir kumanda tablosunu içeren bir kumanda tablosunu zaten görüntülüyorsa veriler kumanda tablosunda otomatik olarak yenilenmez. Güncellenen verileri görmek için kullanıcı kumanda tablosunu manuel olarak yenilemelidir.

  • Tablo mekanizmasını sadece tablo görünümleri ile ve tek değerli veriler için kullanabilirsiniz. Şablon mekanizması özet tablo görünümleri veya herhangi bir diğer tipte görünüm, birden çok değerli veriler veya tek değerli verileri olan aşağı açılan sütunlar için desteklenmez.

  • Güncelleme sütunlarındaki tüm değerler düzenlenebilir. Yazdırılabilir olmayan bağlamda görüntülendiğinde düzenlenebilir alanlar kullanıcı Veritabanı Güncellemesi yetkisine sahip olduğunda gibi görüntülenir. Bununla beraber mantıksal bir sütun değişebilen bir fiziksel sütuna eşlendiğinde mantıksal sütun çok düzeyli kesişimler için değer döndürür. Bu senaryo sorunlara yol açabilir.

  • Analizdeki herhangi bir alan oluşturduğunuz güncelleme tablosundan türetilmemişse bile bir güncelleme alanı olarak işaretlenebilir. Bununla beraber, tablo güncelleme etkin değilse güncelleme işlemini başarıyla çalıştıramazsınız. Alanları doğru biçimde etiketleme sorumluluğu içerik tasarımcısındadır.

  • Bir şablon insert ve update dışında SQL komutlarını içerebilir. Güncelleme fonksiyonu bu komutları veritabanına iletir. Bununla beraber Oracle insert ve update dışında herhangi bir komutun kullanılmasını önermez.

  • Oracle Analitik veri girişinin minimum doğrulamasını gerçekleştirir. Alan sayısal ise ve kullanıcı metin veri girerse Oracle Analitik bunu tespit eder ve geçersiz verilerin veritabanına iletilmesini engeller. Bununla beraber, geçersiz veri girişinin diğer biçimlerini tespit etmez (aralık dışı değerler, karışık metin ve sayı vb.) Kullanıcı güncelleme düğmesine tıkladığında ve bir ekleme veya güncelleme çalıştırıldığında geçersiz veri veritabanından bir hata mesajına yol açar. Kullanıcı hatalı girişi düzeltebilir. İçerik tasarımcıları kullanıcıya yardım etmek için güncelleme analizine metin ekleyebilir, örneğin "Karışık alfasayısal değerlerin sayısal bir veri alanına girilmesine izin verilmez".

  • Şablon mekanizması rastgele seçilmiş yeni kayıtları girmek için uygun değil. Başka bir deyişle bir veri giriş aracı olarak kullanmayın.

  • Güncelleme için bir tablo oluşturulurken en az bir sütunun güncelleme kabiliyetine sahip olmadığına ancak her satır için benzersiz olan ve null olmayan değerler içerdiğine emin olun.

  • Güncelleme analizleri detaya gitmeyi desteklemez. Detaya gitme tablo yapısını değiştirdiği için güncelleme şablonu çalışmıyor.

    Dikkat:

    Şablon mekanizması kullanıcı girdisini alır ve veritabanına doğrudan yazar. Fiziksel veritabanının güvenliği sizin sorumluluğunuzdadır. Optimum güvenlik için güncelleme veritabanı tablolarını benzersiz bir veritabanı anına saklayın.

Güncelleme Şablon Dosyaları Oluşturma

Bir güncelleme şablonu dosyası, bir veya daha fazla güncelleme şablonu içeren XML formatlı bir dosyadır.

Bir güncelleme şablonu şablonun adını belirten WebMessage öğesini, bağlantı havuzunu ve de oluşturduğunuz sütunlar ve güncelleme tablolarındaki kayıtları eklemek ve güncellemek için gereken SQL komutlarını içerir. İçerik tasarımcıları güncelleme için bir tablo görünüm tasarladıklarında tablo görünümündeki kayıtları eklemek ve güncellemek için kullanılacak güncelleme şablonunun adını belirtmelidirler.

Güncelleme Şablonu Gereksinimleri

Bir güncelleme şablonu şu gereksinimleri karşılamalıdır:

  • WebMessage: WebMessage öğesindeki ad özelliğini kullanarak güncelleme şablonu için bir ad belirtmelisiniz.

    Güncelleme için bir tablo görünüm etkinleştirildiğinde güncellemenin doğru çalışması için bir içerik tasarımcısının görünümündeki kayıtları eklemek ve güncellemek için kullanılacak güncelleme şablonunun adını belirtmesi gerekir.

    Bu örnek, SetQuotaUseID adında bir güncelleme şablonunu göstermektedir.

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: Güvenlik gereksinimlerini karşılamak üzere kayıt eklemek ve güncellemeye yönelik SQL komutlarının yanı sıra bağlantı havuzunu da belirtmelisiniz. Bu SQL komutları, veritabanı tablosunu değiştirmek için SQL komutları oluşturmak üzere güncelleme şemasına iletilen değerleri referans alır.

  • VALUES (DEĞERLER): Sütun değerleri sütun No veya sütun konumu ile referans gösterilebilir. Sütun No kullanılması tercih edilir.

    Dize ve tarih değerlerini tek tırnak ile kapsayın. Sayısal değerlerde tek tırnak gerekli değildir.

    • Sütun No - Her sütun No alfasayısaldır ve rastgele oluşturulur. Analiz düzenleyicisinin Gelişmiş sekmesindeki analizin XML tanımında sütun No'ları bulabilirsiniz. Örneğin, @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}' gibi sütun No değerleri

      Sütun No kullandığınızda sütun sırası değişse bile güncelleme çalışmaya devam eder.

      Analiz düzenleyicisinin Gelişmiş sekmesinde XML

    • Sütun konumu - Sütun konumlarının numaralanması 1 ile başlar. Örneğin, @1, @3, '@5' gibi sütun konumu değerleri

      Sütun sırası değişirse güncelleme artık çalışmaz. Bu, sütun No'ların tercih edilme nedenidir.

  • Şablona hem <ekleme> hem de <güncelleme> öğesini eklemelisiniz. Öğelere SQL komutlarını eklemek istemiyorsanız açılış ve kapanış etiketleri arasına boşluk eklemelisiniz. Örneğin, öğeyi şu şekilde girmelisiniz:

    <insert> </insert>
    

    Bunun yerine:

    <insert></insert>
    

    Boşluğu ihmal ederseniz "Sistem 'my_template' Güncelleme Şablonunu okuyamıyor" gibi bir güncelleme hata mesajı görürsünüz.

  • Parametrenin veri tipi bir tam sayı veya gerçek bir sayı değilse etrafına tek tırnak işaretleri ekleyin. Veritabanı Kaydetmeyi otomatik olarak yapmazsa isteğe bağlı postUpdate düğümünü kaydetmeyi zorunlu kılmak üzere ekleme ve güncelleme düğümlerinden sonra ekleyin. postUpdate düğümü genelde şu örneği uygular:

    <postUpdate>COMMIT</postUpdate>
    

Örnek Sütun No Söz Dizimi Kullanılarak Güncelleme Şablonu Dosyası

Sütun No'ya göre değerleri referans alan bir güncelleme şablonu dosyası bu örneği temsil edebilir:

<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuotaUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
            <update>UPDATE regiontypequota SET Dollars=@{c0432jkl53eb92cd8} WHERE YR=@{c5f6e60e1d6eb1098} AND Quarter=@{c5d7e483445037d9e} AND Region='@{c3a93e65731210ed1}' AND ItemType='@{c6b8735ea60ff3011}'</update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>

Örnek Sütun Pozisyonu Söz Dizimi Kullanılarak Güncelleme Şablonu Dosyası

Sütun konumuna göre değerleri referans alan bir güncelleme şablonu dosyası bu örneği temsil edebilir:

<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuota">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@1,@2,'@3','@4',@5)</insert>
            <update>UPDATE regiontypequota SET Dollars=@5 WHERE YR=@1 AND Quarter=@2 AND Region='@3' AND ItemType='@4'</update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>