Artımlı yenileme ve gerçek zamanlı verileri yapılandırma
Bu makalede, anlam modelleri için artımlı yenileme ve gerçek zamanlı verilerin nasıl yapılandırıldığı açıklanmaktadır. Veri akışları için artımlı yenilemeyi yapılandırma hakkında bilgi edinmek için bkz . Veri akışlarının premium özellikleri - Artımlı yenileme.
Artımlı yenilemenin yapılandırılması RangeStart ve RangeEnd parametreleri oluşturmayı, filtreleri uygulamayı ve artımlı yenileme ilkesi tanımlamayı içerir. Power BI hizmeti yayımladıktan sonra modelde ilk yenileme işlemini gerçekleştireceksiniz. İlk yenileme işlemi ve sonraki yenileme işlemleri, tanımladığınız artımlı yenileme ilkesini uygular. Bu adımları tamamlamadan önce, Artımlı yenileme ve anlam modelleri için gerçek zamanlı veriler bölümünde açıklanan işlevleri tam olarak anladığınızdan emin olun.
Parametre oluşturma
Bu görevde, varsayılan değerlerle RangeStart ve RangeEnd parametreleri oluşturmak için Power Query Düzenleyicisi kullanacaksınız. Varsayılan değerler yalnızca Power BI Desktop'ta modele yüklenecek verileri filtrelerken geçerlidir. Girdiğiniz değerler, veri kaynağınızdan yalnızca az miktarda en son veriyi içermelidir. Hizmette yayımlandığında, artımlı yenileme ilkesi bu zaman aralığı değerlerini geçersiz kılar. Diğer bir ifadeyle, ilke gelen verilerin pencerelerini birbiri ardına oluşturur.
Power BI Desktop'ta Giriş şeridinde Verileri dönüştür'ü seçerek Power Query Düzenleyicisi açın.
Parametreleri Yönet açılan listesini ve ardından Yeni Parametre'yi seçin.
Ad alanına RangeStart (büyük/küçük harfe duyarlı) girin. Tür alanında, açılan listeden Tarih/Saat'i seçin. Geçerli Değer alanına bir başlangıç tarihi ve saat değeri girin.
RangeEnd adlı ikinci bir parametre oluşturmak için Yeni'yi seçin. Tür alanında Tarih/Saat'i seçin ve Geçerli Değer alanına bir bitiş tarihi ve saat değeri girin. Tamam'ı seçin.
RangeStart ve RangeEnd parametrelerini tanımladığınıza göre, modele yüklenecek verileri bu parametrelere göre filtreleyeceksiniz.
Veri filtreleme
Not
Bu göreve devam etmeden önce kaynak tablonuzda Tarih/Saat veri türünde bir tarih sütunu olduğunu doğrulayın. Tarih/Saat sütunu yoksa ancak biçiminde yyyymmdd
tamsayı vekil anahtarlarından oluşan bir tarih sütunu varsa, kaynak tablonun tamsayı vekil anahtarıyla eşleşecek şekilde parametrelerdeki tarih/saat değerini dönüştüren bir işlev oluşturmak için bu makalenin devamında DateTime'ı tamsayıya dönüştürme başlığındaki adımları izleyin.
Şimdi RangeStart ve RangeEnd parametrelerindeki koşullara göre bir filtre uygulayacaksınız.
Power Query Düzenleyicisi filtrelemek istediğiniz tarih sütununu seçin ve ardından Tarih Filtreleri>Özel Filtresi açılan okunu >seçin.
Satırları Filtrele'de, ilk koşulu belirtmek için sonraki veya sonraki veya eşittir'i seçin, ardından Parametre'yi ve ardından Aralık Başlangıcı'nı seçin.
İkinci koşulu belirtmek için, ilk koşulda sonrasını seçtiyseniz, önce veya eşittir'i seçin ya da ilk koşulda eşittir veya sonrasını seçtiyseniz, ikinci koşul için önceyi seçin, ardından Parametre'yi ve ardından Aralık Ucu'nı seçin.
Önemli: Sorguların RangeStart veya RangeEnd'de (=) değerine eşit olduğunu, ancak ikisini birden sahip olmadığını doğrulayın. Her iki parametrede de eşittir (=) varsa, bir satır iki bölüm için koşulları karşılayabilir ve bu da modelde yinelenen verilere yol açabilir. Örneğin,
= Table.SelectRows(#"Changed Type", each [OrderDate] >= RangeStart and [OrderDate] <= RangeEnd)
hem RangeStart hem de RangeEnd değerine eşit bir OrderDate varsa yinelenen verilere neden olabilir.Kapatmak için Tamam'ı seçin.
Power Query Düzenleyicisi Giriş şeridinde Kapat ve Uygula'yı seçin. Power Query, RangeStart ve RangeEnd parametreleri tarafından tanımlanan filtrelere ve tanımladığınız diğer filtrelere göre verileri yükler.
Power Query yalnızca RangeStart ve RangeEnd parametreleri arasında belirtilen verileri yükler. Bu dönemdeki veri miktarına bağlı olarak, tablonun hızla yüklenmesi gerekir. Yavaş ve işlem yoğunluklu görünüyorsa, büyük olasılıkla sorgu katlanmıyor olabilir.
İlke tanımlama
RangeStart ve RangeEnd parametrelerini tanımladıktan ve verileri bu parametrelere göre filtreledikten sonra artımlı yenileme ilkesi tanımlayacaksınız. Bu ilke yalnızca model hizmette yayımlandıktan ve el ile veya zamanlanmış yenileme işlemi gerçekleştirildikten sonra uygulanır.
Tablo görünümünde, Veri bölmesinde bir tabloya sağ tıklayın ve Artımlı yenilemeseçin.
Artımlı yenilemenin seçili olduğu Tablo bağlam menüsünü gösteren Tablo görünümünü
Artımlı yenileme ve gerçek zamanlı veriler>Tablo seçin bölümünde tabloyu doğrulayın veya seçin. Tablo seç liste kutusunun varsayılan değeri, Tablo görünümünde seçtiğiniz tablo
. Gerekli ayarları belirtin:
İçeri aktarma ve yenileme aralıklarını>Bu tabloyu artımlı olarak yenileyin bölümünde kaydırıcıyı Açık konumuna getirin. Kaydırıcı devre dışı bırakılırsa, tablonun Power Query ifadesi RangeStart ve RangeEnd parametrelerini temel alan bir filtre içermediği anlamına gelir.
Arşiv verileri başlatılıyor bölümünde, modele eklemek istediğiniz geçmiş depo dönemini belirtin. Bu dönemde tarih içeren tüm satırlar, diğer filtreler uygulanmadığı sürece hizmetteki modele yüklenir.
Verileri artımlı olarak yenilemeye başlarken yenileme süresini belirtin. Bu dönemde tarih içeren tüm satırlar, Power BI hizmeti tarafından el ile veya zamanlanmış yenileme işlemi her gerçekleştirildiğinde modelde yenilenir.
İsteğe bağlı ayarları belirtin:
İsteğe bağlı ayarları seçin bölümünde DirectQuery ile en son verileri gerçek zamanlı olarak al (Yalnızca Premium) seçeneğini belirleyerek son yenileme döneminden sonra veri kaynağında gerçekleşen en son veri değişikliklerini ekleyin. Bu ayar artımlı yenileme ilkesinin tabloya bir DirectQuery bölümü eklemesine neden olur.
Yalnızca tam günleri yenilemek için Yalnızca tam günleri yenile'yi seçin. Yenileme işlemi bir günün tamamlanmadığını algılarsa, o günün satırları yenilenmez. DirectQuery ile en son verileri gerçek zamanlı olarak al 'ı seçtiğinizde bu seçenek otomatik olarak etkinleştirilir (yalnızca Premium).
Yalnızca verilerin değiştiği günleri tanımlamak ve yenilemek için kullanılan tarih/saat sütununu belirtmek için Veri değişikliklerini algıla'ya tıklayın. Veri kaynağında genellikle denetim amacıyla bir tarih/saat sütunu bulunmalıdır. Bu sütun , RangeStart ve RangeEnd parametreleriyle verileri bölümlemede kullanılan sütunla aynı olmamalıdır. Bu sütunun maksimum değeri, artımlı aralıktaki dönemlerin her biri için değerlendirilir. Son yenilemeden sonra değişmediyse geçerli dönem yenilenmez. Premium kapasitelerde yayımlanan modeller için özel bir sorgu da belirtebilirsiniz. Daha fazla bilgi edinmek için bkz . Gelişmiş artımlı yenileme - Veri değişikliklerini algılamak için özel sorgular.
Ayarlarınıza bağlı olarak, ilkeniz aşağıdakine benzer olmalıdır:
Ayarlarınızı gözden geçirin ve ardından Uygula'yı seçerek yenileme ilkesini tamamlayın. Bu adım veri yüklemez.
Hizmette kaydetme ve yayımlama
RangeStart ve RangeEnd parametreleriniz, filtreleme ve yenileme ilke ayarlarınız tamamlandıktan sonra modelinizi kaydedin ve ardından hizmette yayımlayın. Modeliniz büyürse, hizmetteki ilk yenilemeyi çağırmadan önce
Modeli yenileme
Hizmette modeli yenileyin. İlk yenileme, yenileme dönemindeki hem yeni hem de güncelleştirilmiş verilerin yanı sıra depo döneminin tamamına ait geçmiş verileri yükler. Veri miktarına bağlı olarak, bu yenileme işlemi uzun sürebilir. Artımlı yenileme ilkesi uygulandığından ve yalnızca yenileme ilkesi ayarında belirtilen süreye ait veriler yenilendiğinden, el ile veya zamanlanmış sonraki yenilemeler genellikle çok daha hızlı olur.
DateTime'ı tamsayıya dönüştürme
Bu görev yalnızca tablonuzda RangeStart ve RangeEnd filtre tanımı için kullandığınız tarih sütununda Tarih/Saat değerleri yerine tamsayı vekil anahtarları kullanılıyorsa gereklidir.
RangeStart ve RangeEnd parametrelerinin veri türü, tarih sütununun veri türünden bağımsız olarak tarih/saat veri türünde olmalıdır. Ancak, birçok veri kaynağı için tabloların tarih/saat veri türünde bir sütunu yoktur, bunun yerine biçiminde tamsayı vekil anahtarlarından oluşan bir tarih sütunu vardır yyyymmdd
. Sonuç katlanabilir olmayan bir sorgu ifadesi olacağından bu tamsayı vekil anahtarlarını Genellikle Tarih/Saat veri türüne dönüştüremezsiniz, ancak katlanabilirliği kaybetmeden veri kaynağı tablosunun tamsayı vekil anahtarıyla eşleşecek şekilde parametrelerdeki tarih/saat değerini dönüştüren bir işlev oluşturabilirsiniz. İşlev daha sonra bir filtre adımında çağrılır. Veri kaynağı tablosunda tamsayı veri türü olarak yalnızca bir vekil anahtar varsa bu dönüştürme adımı gereklidir.
Power Query Düzenleyicisi Giriş şeridinde Yeni Kaynak açılan listesini ve ardından Boş Sorgu'yu seçin.
Sorgu Ayarları'nda datekey gibi bir ad girin ve formül düzenleyicisine aşağıdaki formülü girin:
= (x as datetime) => Date.Year(x)*10000 + Date.Month(x)*100 + Date.Day(x)
Formülü test etmek için Parametre Girin alanına bir tarih/saat değeri girin ve ardından Çağır'ı seçin. Formül doğruysa, tarih için bir tamsayı değeri döndürülür. Doğruladıktan sonra bu yeni Çağrılan İşlev sorgusunu silin.
Sorgular'da tabloyu seçin ve sorgu formülünü düzenleyerek RangeStart ve RangeEnd parametreleriyle işlevi çağırın.
= Table.SelectRows(#"Reordered Column OrderDateKey", each [OrderDateKey] > DateKey(RangeStart) and [OrderDateKey] <= DateKey(RangeEnd))
RangeStart ve RangeEnd paramaeter'lerini kullanacak şekilde değiştirilmiş bir sorgu formülünü gösteren Power BI tablosu