Share via


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

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

Adım düzeyi hatası.

  • 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.

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. Hatanın oluştuğu ilk adımı görüntülemek için Hataya git düğmesini (varsa) seçebilirsiniz.

Hata düğmesine gidin.

Kaynak bulunamıyor - DataSource.Error

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.

Veri kaynağı hatası, geçerli ortamda D sürücüsü olmadığından dosya bulunamadı.

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.

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.

İfade hatası, sütun adı el ile değiştirildiğinden tablonun sütunu bulunamadı.

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.

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.

Formül Güvenlik Duvarı hatası, sorgu diğer sorgulara veya adımlara başvurur, bu nedenle bir veri kaynağına doğrudan erişmeyebilir.

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ı

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 iletisini görüntüleme.

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

Veri biçimi hatası görüntüler, hata bölmesinde veri türü hatasına dönüştürülemedi.

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üğmesi.

Bu işlemin sonucu size aradığınız tabloyu verir.

Daha önce beş satır içeren tabloda 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üğmesi.

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

Hataları değiştir iletişim kutusu.

Bu işlemin sonucu size aradığınız tabloyu verir.

Üçüncü satırın Sales sütununda hata içerdiği tabloda artık hata 10 değeriyle değiştirilmiştir.

Hataları koruma

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.

Giriş sekmesindeki Hataları koru düğmesi.

Bu işlemin sonucu size aradığınız tabloyu verir.

Yalnızca hata içeren satırları tutan son tablo.

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ürmesi hataları

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.

Veri türü hata ayrıntılarına dönüştürülemedi.

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.

Hata bölmesindeki ifade hatası, Sales sütunundaki metne ve sayıya And işleci uygulanmaya çalışılıyor.

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 Sayı veri türünden Metin veri türüne dönüştürüldüğü tablo ve sonuçta her iki ifadeyi de içeren yeni bir sütun elde edilir.

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 hata oluştu.

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 olmayanAny 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.