Power Query'deki hatalarla ilgilenme
Power Query'de iki tür hatayla karşılaşabilirsiniz:
- Adım düzeyi hataları
- Hücre düzeyi hataları
Bu makale, her düzeyde bulabileceğiniz en yaygın hataları düzeltmeye yönelik öneriler sağlar ve her birinin hata nedenini, hata iletisini ve hata ayrıntılarını açıklar.
Adım düzeyinde hata, sorgunun yüklenmesini engeller ve hata bileşenlerini sarı bir bölmede görüntüler.
- Hata nedeni: İki nokta üst üsteden önceki ilk bölüm. Yukarıdaki örnekte, hatanın nedeni Expression.Error'dır.
- Hata iletisi: Nedenden hemen sonra gelen bölüm. Yukarıdaki örnekte hata iletisi tablonun 'Sütun' sütunu bulunamadı şeklindedir.
- Hata ayrıntısı: Ayrıntılar: dizeden hemen sonraki bölüm. Yukarıdaki örnekte hata ayrıntısı Sütun'dur.
Her durumda, hataya neyin neden olduğunu anlamak için hatanın nedenini, hata iletisini ve hata ayrıntılarını yakından incelemenizi öneririz. Hatanın oluştuğu ilk adımı görüntülemek için Hataya git düğmesini (varsa) seçebilirsiniz.
Bu hata genellikle veri kaynağına kullanıcı tarafından erişilememesi, kullanıcının veri kaynağına erişmek için doğru kimlik bilgilerine sahip olmaması veya kaynağın farklı bir yere taşınması durumunda oluşur.
Örnek: D sürücüsünde bulunan ve A kullanıcısı tarafından oluşturulan bir metin kutucuğundan sorgunuz var. A kullanıcısı sorguyu, D sürücüsüne erişimi olmayan B kullanıcısıyla paylaşır. Bu kişi sorguyu yürütmeye çalıştığında, ortamında D sürücüsü olmadığından DataSource.Error alır.
Olası çözümler: Metin dosyasının dosya yolunu her iki kullanıcının da erişebileceği bir yol olarak değiştirebilirsiniz. B kullanıcısı olarak, dosya yolunu aynı metin dosyasının yerel bir kopyası olacak şekilde değiştirebilirsiniz. Ayarları düzenle düğmesi hata bölmesinde kullanılabiliyorsa, bu düğmeyi seçip dosya yolunu değiştirebilirsiniz.
Bu hata genellikle, bir adım sorguda mevcut olmayan bir sütun adına doğrudan başvuru yaptığında tetikler.
Örnek: Bir metin dosyasından sütun adlarından birinin Sütun olduğu bir sorgunuz var. Sorgunuzda, bu sütunu Tarih olarak yeniden adlandıran bir adımınız vardır. Ancak özgün metin dosyasında bir değişiklik yapıldı ve el ile Tarih olarak değiştirildiği için artık Sütun adlı bir sütun başlığı yok. Power Query, Sütun adlı bir sütun başlığı bulamadığından sütunları yeniden adlandıramaz. Aşağıdaki görüntüde gösterilen hatayı görüntüler.
Olası çözümler: Bu durum için birden çok çözüm vardır, ancak bunların tümü ne yapmak istediğinize bağlıdır. Bu örnekte, doğru Tarih sütun başlığı zaten metin dosyanızdan geldiğinden sütunu yeniden adlandıran adımı kaldırabilirsiniz. Bu, sorgunuzun bu hata olmadan çalışmasını sağlar.
Verileri birden çok veri kaynağı arasında birleştirirken veya birleştirirken, aşağıdaki görüntüde gösterilen gibi bir Formula.Firewall hatası alabilirsiniz.
Bu hata, veri kaynakları arasındaki veri gizliliği düzeyleri veya bu veri kaynaklarının birleştirilme veya birleştirilme şekli gibi çeşitli nedenlerden kaynaklanabilir. Bu sorunu tanılama hakkında daha fazla bilgi için Veri gizliliği güvenlik duvarı'na gidin.
Hücre düzeyi hatası sorgunun yüklenmesini engellemez, ancak hata değerlerini hücrede Hata olarak görüntüler. Hücredeki boşluk seçildiğinde veri önizlemesinin altında hata bölmesi görüntülenir.
Not
Veri profili oluşturma araçları, sütun kalitesi özelliğiyle hücre düzeyi hatalarını daha kolay belirlemenize yardımcı olabilir. Daha fazla bilgi: Veri profili oluşturma araçları
Hücre düzeyinde hatalarla karşılaştığınızda Power Query, hataları kaldırarak, değiştirerek veya tutarak bunları işlemek için bir dizi işlev sağlar.
Sonraki bölümlerde, sağlanan örnekler başlangıç noktasıyla aynı örnek sorguyu kullanacaktır. Bu sorguda, dönüştürme hatasının neden olduğu bir hata içeren bir hücreye sahip bir Sales sütununa sahipsiniz. Bu hücrenin içindeki değer NA'ydı, ancak bu sütunu tamsayıya dönüştürdüğünüzde Power Query NA'yı sayıya dönüştüremediğinden aşağıdaki hatayı görüntüler.
Power Query'de hata içeren satırları kaldırmak için önce hata içeren sütunu seçin. Giriş sekmesindeki Satırları azalt grubunda Satırları kaldır'ı seçin. Açılan menüden Hataları kaldır'ı seçin.
Bu işlemin sonucu size aradığınız tabloyu verir.
Hata içeren satırları kaldırmak yerine hataları sabit bir değerle değiştirmek isterseniz, bunu da yapabilirsiniz. Hataları olan satırları değiştirmek için önce hata içeren sütunu seçin. Dönüştür sekmesinin Herhangi bir sütun grubunda Değerleri değiştir'i seçin. Açılan menüden Hataları değiştir'i seçin.
Hataları değiştir iletişim kutusunda, tüm hataları 10 değeriyle değiştirmek istediğiniz için 10 değerini girin.
Bu işlemin sonucu size aradığınız tabloyu verir.
Power Query, hataları düzeltmeseniz bile hata içeren satırları belirlemek için iyi bir denetim aracı görevi görebilir. Burada Keep hataları yararlı olabilir. Hataları olan satırları tutmak için önce hata içeren sütunu seçin. Giriş sekmesindeki Satırları azalt grubunda Satırları koru'ya tıklayın. Açılan menüden Hataları koru'ya tıklayın.
Bu işlemin sonucu size aradığınız tabloyu verir.
Tüm adım düzeyindeki hatalarda olduğu gibi, hatalara neyin neden olduğunu anlamak için hücre düzeyinde sağlanan hata nedenlerine, hata iletilerine ve hata ayrıntılarına yakından bakmanızı öneririz. Aşağıdaki bölümlerde Power Query'deki en sık karşılaşılan hücre düzeyi hatalarından bazıları açıklanmıştır.
Tablodaki bir sütunun veri türü değiştirilirken sık tetiklenen bir durumdur. Sütunda bulunan bazı değerler istenen veri türüne dönüştürülemedi.
Örnek: Sales adlı bir sütun içeren bir sorgunuz var. Bu sütundaki bir hücrede hücre değeri olarak NA, kalan hücrelerde ise değer olarak tamsayılar bulunur. Sütunun veri türünü metinden tam sayıya dönüştürmeye karar verirsiniz, ancak NA değerini içeren hücre hataya neden olur.
Olası çözümler: Satırı hatayla tanımladıktan sonra, veri kaynağını NA yerine doğru değeri yansıtacak şekilde değiştirebilir veya hataya neden olan herhangi bir NA değeri için değer sağlamak üzere Bir Değiştirme hatası işlemi uygulayabilirsiniz.
Metin değerini sayısal bir değerle çarpma gibi desteklenmeyen bir işlemi uygulamaya çalışırken hata oluşur.
Örnek: "Toplam Satış: " tümceciği sales sütunundaki değerle birleştirilmiş bir metin dizesi oluşturarak sorgunuz için özel bir sütun oluşturmak istiyorsunuz. Birleştirme işlemi yalnızca metin sütunlarını desteklediğinden ve sayısal sütunları desteklemediğinden bir hata oluşur.
Olası çözümler: Bu özel sütunu oluşturmadan önce Sales sütununun veri türünü metin olarak değiştirin.
İç içe yapılandırılmış değerler (tablolar, listeler veya kayıtlar gibi) içeren verilerle çalışırken bazen aşağıdaki hatayla karşılaşabilirsiniz:
Expression.Error: We cannot return a value of type {value} in this context
Details: In the past we would have returned a text value of {value}, but we now return this error. Please see https://go.microsoft.com/fwlink/?linkid=2099726 for more information.
Bu hatalar genellikle iki nedenden dolayı oluşur:
- Veri Gizliliği Güvenlik Duvarı bir veri kaynağını arabelleğe alırsa, iç içe yerleştirilmiş skaler olmayan değerler otomatik olarak hatalara dönüştürülür.
- Veri türüyle
Any
tanımlanan bir sütun skaler olmayan değerler içerdiğinde, bu tür değerler yükleme sırasında hata olarak bildirilir (örneğin, Excel'deki çalışma kitabında veya Power BI Desktop'taki veri modelinde).
Olası çözümler:
- Hatayı içeren sütunu kaldırın veya böyle bir sütun için veri olmayan
Any
bir tür ayarlayın. - İlgili veri kaynaklarının gizlilik düzeylerini, arabelleğe alınmadan birleştirilmeye izin veren bir veri kaynağıyla değiştirin.
- İç içe yapılandırılmış değerler (tablo, kayıt veya liste gibi) içeren sütunları ortadan kaldırmak için birleştirme yapmadan önce tabloları düzleştirme.