Aracılığıyla paylaş


Power Query'deki hataları ele alma

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üzeyi hatası

Adım düzeyinde hata, sorgunun yüklenmesini engeller ve hata bileşenlerini sarı bir bölmede görüntüler.

Bir sütunun bulunamadığı adım düzeyi hatasının ekran görüntüsü.

  • Hata nedeni: İki noktadan önceki ilk kısım. Önceki örnekte, hatanın nedeni Expression.Error'dır.
  • Hata iletisi: Nedenden hemen sonra gelen bölüm. Önceki örnekte hata iletisi tablonun 'Sütun' sütunu bulunamadı şeklindedir.
  • Hata ayrıntısı: Ayrıntılar: dizeden hemen sonraki bölüm. Önceki örnekte hata ayrıntısı Sütun'dur.

Power Query Online biraz farklı ayrıntılar görüntüler. Hata ayrıntısı hala Sütun'dur, ancak çevrimiçi hata iletisi hata nedenini (Expression.Error) ve hata kodunu (10224) da içerir.

Bir sütunun bulunamadığını gösteren çevrimiçi Adım düzeyi hatasının ekran görüntüsü.

Yaygın adım düzeyi hataları

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. Varsa Ayrıntıları göster düğmesini seçerek hata hakkında daha fazla ayrıntı gösterebilirsiniz.

Ayrıntıları göster düğmesinin vurgulanmış olduğu bir hata iletisinin ekran görüntüsü.

Kaynak bulunamıyor - VeriKaynağı.Bulunamadı

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.NotFound alır.

Geçerli ortamda D sürücüsü olmadığından dosyayı bulamayan veri kaynağı hatasının ekran görüntüsü.

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.

Tablonun sütunu bulunamadı

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.

Sütun adı el ile değiştirildiğinden tablonun sütununun bulunamadığını gösteren ifade hatasının ekran görüntüsü.

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 değişiklik sorgunuzun bu hata olmadan çalışmasını sağlar.

Diğer yaygın adım düzeyi hataları

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.

Sorgunun diğer sorgulara veya adımlara başvurduğunu, dolayısıyla bir veri kaynağına doğrudan erişmeyebileceğini belirten güvenlik duvarı hatası formülünün ekran görüntüsü.

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 nedenlerle oluşur. Bu sorunu tanılama hakkında daha fazla bilgi için Veri gizliliği güvenlik duvarı'na gidin.

Hücre düzeyi hatası

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.

Hata içeren bir tablo hücresinde boşluk seçerek hata iletisinin görüntülendiğini gösteren ekran görüntüsü.

Uyarı

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 için Veri profili oluşturma araçları'na gidin.

Hücre düzeyinde hataları işleme

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 kullanı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.

Hata bölmesinde veri tipine dönüştürülememesi hatasını içeren veri biçimi hatasını gösteren ekran görüntüsü.

Hataları kaldırma

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.

Giriş sekmesindeki Hataları kaldır düğmesinin ekran görüntüsü.

Bu işlemin sonucu size aşağıdaki tabloyu verir.

Daha önce beş satır içeren tablonun ekran görüntüsünde artık hata içeren satır kaldırılmış ve tabloda dört satır bırakılmıştır.

Hataları değiştirme

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.

Dönüştür sekmesindeki hataları değiştir düğmesinin ekran görüntüsü.

Hataları değiştir iletişim kutusunda, tüm hataları 10 değeriyle değiştirmek istediğiniz için 10 değerini girin.

Değeri 10'a ayarlanmış hata değiştirme iletişim kutusunun ekran görüntüsü.

Bu işlemin sonucu size aşağıdaki tabloyu verir.

Üçüncü satırın Sales sütununda hata içerdiği tablonun ekran görüntüsünde artık hata 10 değeriyle değiştirilmiştir.

Hataları sakla

Power Query, hataları düzeltmeseniz bile hata içeren satırları belirlemek için iyi bir denetim aracı görevi görebilir. Bu, Hataları tutmanın yararlı olabileceği bir durumdur. 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.

Giriş sekmesindeki Hataları koru düğmesinin ekran görüntüsü.

Bu işlemin sonucu size aşağıdaki tabloyu verir.

Yalnızca hata içeren satırları tutan son tablonun ekran görüntüsü.

Yaygın hücre düzeyi hataları

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.

Veri türü dönüştürme hataları

Tablodaki bir sütunun veri türü değiştirilirken sık tetiklenen bir durumdur. Sütunda bulunan bazı değerler istenilen 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 NA iken, diğerlerinde 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.

Veri türüne dönüştürülemedi hatasının ayrıntılarını gösteren ekran görüntüsü.

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.

İşlem hataları

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.

Sales sütunundaki metne ve sayıya And işleci uygulama denemesinin neden olduğu hata bölmesindeki ifade hatasının ekran görüntüsü.

Olası çözümler: Bu özel sütunu oluşturmadan önce Sales sütununun veri türünü metin olarak değiştirin.

Satış sütununun bir sayıdan metin türüne dönüştürüldüğü ve her iki ifadeyi de içeren yeni sütunun bulunduğu tablonun ekran görüntüsü.

Hata olarak gösterilen iç içe değerler

İç 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:

Formül güvenlik duvarı tarafından tetiklenen iç içe değerler için bir hatanın ekran görüntüsü.

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 geçmiş ölçümsel olmayan değerler otomatik olarak hatalara dönüştürülür.
  • Veri türüyle Any tanımlanan bir sütunda nonscalar değerler bulunduğunda, bu tür değerler yükleme sırasında hata olarak bildirilir (örneğin, Excel'deki bir Ç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 "Any" olmayan bir veri türü ayarlayın.
  • İlgili veri kaynaklarının gizlilik düzeylerini, arabelleğe alınmadan doğrudan birleştirmeye izin veren bir düzeye 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.