Bagikan melalui


Menangani kesalahan di Power Query

Di Power Query, Anda bisa mengalami dua jenis kesalahan:

  • Kesalahan per langkah
  • Kesalahan tingkat sel

Artikel ini memberikan saran tentang cara memperbaiki kesalahan paling umum yang mungkin Anda temukan di setiap tingkat, dan menjelaskan alasan kesalahan, pesan kesalahan, dan detail kesalahan untuk masing-masing.

Kesalahan per langkah

Kesalahan tingkat langkah mencegah kueri memuat dan menampilkan komponen kesalahan di panel kuning.

Cuplikan layar kesalahan Tingkat langkah di mana kolom tidak ditemukan.

  • Alasan kesalahan: Bagian pertama sebelum tanda titik dua. Dalam contoh sebelumnya, alasan kesalahannya adalah Expression.Error.
  • Pesan kesalahan: Bagian langsung setelah alasannya. Dalam contoh sebelumnya, pesan kesalahan adalah Kolom 'Kolom' tabel tidak ditemukan.
  • Detail kesalahan: Bagian langsung setelah Detail: string. Dalam contoh sebelumnya, detail kesalahannya adalah Kolom.

Power Query Online menampilkan detail yang sedikit berbeda. Detail kesalahan masih Kolom, tetapi pesan kesalahan online juga berisi alasan kesalahan (Expression.Error) dan kode kesalahan (10224).

Cuplikan layar kesalahan Tingkat langkah online di mana kolom tidak ditemukan.

Kesalahan tingkat langkah umum

Dalam semua kasus, kami sarankan Anda melihat lebih dekat alasan kesalahan, pesan kesalahan, dan detail kesalahan untuk memahami apa yang menyebabkan kesalahan. Anda dapat memilih tombol Tampilkan detail , jika tersedia, untuk menampilkan detail selengkapnya tentang kesalahan tersebut.

Cuplikan layar pesan kesalahan dengan tombol Tampilkan detail yang ditekankan.

Tidak dapat menemukan sumber data - DataSource.NotFound

Kesalahan ini biasanya terjadi ketika sumber data tidak dapat diakses oleh pengguna, pengguna tidak memiliki kredensial yang benar untuk mengakses sumber data, atau sumber dipindahkan ke tempat lain.

Contoh: Anda memiliki kueri dari ubin teks yang terletak di drive D dan dibuat oleh pengguna A. Pengguna A berbagi kueri dengan pengguna B, yang tidak memiliki akses ke drive D. Ketika orang ini mencoba menjalankan kueri, mereka mendapatkan DataSource.NotFound karena tidak ada drive D di lingkungan mereka.

Cuplikan layar kesalahan sumber data yang tidak dapat menemukan file karena tidak ada drive D di lingkungan saat ini.

Solusi yang mungkin: Anda dapat mengubah jalur file teks ke jalur yang dapat diakses oleh kedua pengguna. Sebagai pengguna B, Anda dapat mengubah jalur file menjadi salinan lokal dari file teks yang sama.

Kolom tabel tidak ditemukan

Kesalahan ini biasanya dipicu ketika langkah membuat referensi langsung ke nama kolom yang tidak ada dalam kueri.

Contoh: Anda memiliki kueri dari file teks di mana salah satu nama kolom adalah Kolom. Dalam kueri, Anda memiliki langkah yang mengganti nama kolom tersebut menjadi Tanggal. Tetapi ada perubahan dalam file teks asli, dan tidak lagi memiliki judul kolom dengan nama Kolom karena diubah secara manual menjadi Tanggal. Power Query tidak dapat menemukan judul kolom bernama Kolom, sehingga tidak dapat mengganti nama kolom apa pun. Ini menampilkan kesalahan yang ditunjukkan pada gambar berikut.

Cuplikan layar kesalahan ekspresi di mana kolom tabel tidak ditemukan karena nama kolom diubah secara manual.

Solusi yang mungkin: Ada beberapa solusi untuk kasus ini, tetapi semuanya bergantung pada apa yang ingin Anda lakukan. Untuk contoh ini, karena header kolom Tanggal yang benar sudah berasal dari file teks Anda, Anda cukup menghapus langkah yang mengganti nama kolom. Perubahan ini memungkinkan kueri Anda berjalan tanpa kesalahan ini.

Kesalahan umum pada tingkat langkah-langkah lainnya

Saat menggabungkan atau menyatukan data di antara beberapa sumber data, Anda mungkin mendapatkan pesan kesalahan Formula.Firewall seperti yang diperlihatkan dalam gambar berikut.

Cuplikan layar kesalahan Firewall rumus yang menyatakan bahwa kueri mereferensikan kueri atau langkah lain, sehingga mungkin tidak langsung mengakses sumber data.

Kesalahan ini terjadi karena berbagai alasan, seperti tingkat privasi data antara sumber data atau cara sumber data ini digabungkan atau digabungkan. Untuk informasi selengkapnya tentang cara mendiagnosis masalah ini, buka Firewall privasi data.

Kesalahan tingkat sel

Kesalahan pada tingkat sel tidak mencegah kueri dimuat, tetapi menampilkan nilai kesalahan sebagai 'Error' di sel. Memilih spasi kosong dalam sel menampilkan panel kesalahan di bawah pratinjau data.

Cuplikan layar yang menunjukkan menampilkan pesan kesalahan dengan memilih spasi kosong dalam sel tabel yang berisi kesalahan.

Nota

Alat pembuatan profil data dapat membantu Anda lebih mudah mengidentifikasi kesalahan tingkat sel dengan fitur kualitas kolom. Untuk informasi selengkapnya, buka Alat pembuatan profil data.

Menangani kesalahan di tingkat sel

Saat Anda mengalami kesalahan tingkat sel, Power Query menyediakan sekumpulan fungsi untuk menanganinya baik dengan menghapus, mengganti, atau menyimpan kesalahan.

Untuk bagian berikutnya, contoh yang disediakan menggunakan kueri sampel yang sama dengan titik awal. Dalam kueri ini, Anda memiliki kolom Penjualan yang memiliki satu sel dengan kesalahan yang disebabkan oleh kesalahan konversi. Nilai di dalam sel itu adalah NA, tetapi ketika Anda mengubah kolom tersebut menjadi bilangan buletik Power Query tidak dapat mengonversi NA menjadi angka, sehingga menampilkan kesalahan berikut.

Cuplikan layar yang menampilkan kesalahan format data, berisi kesalahan konversi ke tipe data pada panel kesalahan.

Menghapus kesalahan

Untuk menghapus baris dengan kesalahan di Power Query, pertama-tama pilih kolom yang berisi kesalahan. Pada tab Beranda , di grup Kurangi baris , pilih Hapus baris. Dari menu drop-down, pilih Hapus kesalahan.

Cuplikan layar tombol hapus kesalahan pada tab Beranda.

Hasil operasi tersebut memberi Anda tabel berikut.

Cuplikan layar tabel yang sebelumnya berisi lima baris sekarang memiliki baris yang berisi kesalahan dihapus, meninggalkan empat baris dalam tabel.

Ganti kesalahan

Jika alih-alih menghapus baris dengan kesalahan, Anda ingin mengganti kesalahan dengan nilai tetap, Anda juga dapat melakukannya. Untuk mengganti baris yang memiliki kesalahan, pertama-tama pilih kolom yang berisi kesalahan. Pada tab Transformasi , di grup Kolom apa pun , pilih Ganti nilai. Dari menu drop-down, pilih Ganti kesalahan.

Cuplikan layar tombol ganti kesalahan pada tab Transformasi.

Dalam dialog Ganti kesalahan , masukkan nilai 10 karena Anda ingin mengganti semua kesalahan dengan nilai 10.

Cuplikan layar dialog ganti kesalahan dengan nilai diatur ke 10.

Hasil operasi tersebut memberi Anda tabel berikut.

Cuplikan layar dari tabel di mana baris ketiga berisi kesalahan di kolom Penjualan yang sekarang diganti dengan nilai 10.

Pertahankan kesalahan

Power Query dapat berfungsi sebagai alat audit yang baik untuk mengidentifikasi baris apa pun dengan kesalahan meskipun Anda tidak memperbaiki kesalahan. Situasi ini adalah ketika Mempertahankan kesalahan dapat membantu. Untuk mempertahankan baris yang memiliki kesalahan, pertama-tama pilih kolom yang berisi kesalahan. Pada tab Beranda , di grup Kurangi baris , pilih Pertahankan baris. Dari menu tarik-turun, pilih opsi Pertahankan kesalahan.

Cuplikan layar tombol simpan kesalahan pada tab Beranda.

Hasil operasi tersebut memberi Anda tabel berikut.

Cuplikan layar tabel akhir yang hanya menyimpan baris yang berisi kesalahan.

Kesalahan umum tingkat sel

Seperti halnya kesalahan tingkat langkah apa pun, kami sarankan Anda melihat dari dekat alasan kesalahan, pesan kesalahan, dan detail kesalahan yang disediakan di tingkat sel untuk memahami apa yang menyebabkan kesalahan. Bagian berikut membahas beberapa kesalahan tingkat sel yang paling sering terjadi di Power Query.

Kesalahan konversi jenis data

Umumnya dipicu saat mengubah jenis data kolom dalam tabel. Beberapa nilai yang ditemukan di kolom tidak dapat dikonversi ke jenis data yang diinginkan.

Contoh: Anda memiliki kueri yang menyertakan kolom bernama Sales. Satu sel dalam kolom tersebut memiliki NA sebagai nilai sel, sementara sel lainnya memiliki seluruh angka sebagai nilai. Anda memutuskan untuk mengonversi tipe data kolom dari teks ke bilangan bujur, tetapi sel dengan nilai NA menyebabkan kesalahan.

Cuplikan layar menunjukkan detail kesalahan 'Tidak dapat mengonversi ke jenis data'.

Solusi yang mungkin: Setelah mengidentifikasi baris dengan kesalahan, Anda dapat memodifikasi sumber data untuk mencerminkan nilai yang benar daripada NA, atau Anda dapat menerapkan operasi Ganti kesalahan untuk memberikan nilai untuk nilai NA apa pun yang menyebabkan kesalahan.

Kesalahan operasi

Saat mencoba menerapkan operasi yang tidak didukung, seperti mengalikan nilai teks dengan nilai numerik, kesalahan terjadi.

Contoh: Anda ingin membuat kolom kustom untuk kueri Anda dengan membuat string teks yang berisi frasa "Total Penjualan: " yang digabungkan dengan nilai dari kolom Penjualan . Kesalahan terjadi karena operasi perangkaian hanya mendukung kolom teks dan bukan kolom numerik.

Cuplikan layar kesalahan ekspresi di panel kesalahan yang disebabkan oleh mencoba menerapkan operator Dan ke teks dan angka dari kolom Penjualan.

Solusi yang mungkin: Sebelum membuat kolom kustom ini, ubah tipe data kolom Penjualan menjadi teks.

Cuplikan layar tabel dengan kolom penjualan dikonversi dari angka ke jenis teks, dan kolom baru yang berisi kedua ekspresi.

Nilai berlapis ditampilkan sebagai kesalahan

Saat bekerja dengan data yang berisi nilai terstruktur berlapis (seperti tabel, daftar, atau rekaman), Terkadang Anda mungkin mengalami kesalahan berikut:

Cuplikan layar kesalahan untuk nilai berlapis yang dipicu oleh firewall rumus yang terjadi.

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.

Kesalahan ini biasanya terjadi karena dua alasan:

  • Ketika Firewall Privasi Data menyangga sumber data, nilai nonscalar berlapis secara otomatis dikonversi menjadi kesalahan.
  • Saat kolom yang ditentukan dengan Any tipe data berisi nilai nonscalar, nilai tersebut dilaporkan sebagai kesalahan selama pemuatan (seperti dalam Buku Kerja di Excel atau model data di Power BI Desktop).

Solusi yang mungkin:

  • Hapus kolom yang berisi kesalahan, atau atur jenis non-dataAny untuk kolom tersebut.
  • Ubah tingkat privasi sumber data yang terlibat menjadi sumber data yang memungkinkan mereka digabungkan tanpa di-buffer.
  • Meratakan tabel sebelum melakukan penggabungan untuk menghilangkan kolom yang berisi nilai terstruktur berlapis (seperti tabel, rekaman, atau daftar).