Aracılığıyla paylaş


Özel işlevleri kullanma

Kendinizi farklı sorgulara veya değerlere aynı dönüşüm kümesini uygulamanız gereken bir durumda bulursanız, ihtiyacınız olduğu kadar çok kez yeniden kullanılabilecek bir Power Query özel işlevi oluşturmak yararlı olabilir. Power Query özel işlevi, giriş değerleri kümesinden tek bir çıkış değerine eşlemedir ve yerel M işlevlerinden ve işleçlerinden oluşturulur.

Power Query M işlevlerini anlama bölümünde açıklandığı gibi kodu kullanarak kendi Power Query özel işlevinizi el ile oluşturabilirsiniz ancak Power Query kullanıcı arabirimi size özel işlev oluşturma ve yönetme sürecini hızlandırmaya, basitleştirmeye ve iyileştirmeye yönelik özellikler sunar.

Bu makale, yalnızca Power Query kullanıcı arabirimi aracılığıyla sağlanan bu deneyime ve bundan en iyi şekilde nasıl yararlanmak istediğinize odaklanır.

Önemli

Bu makalede, Power Query kullanıcı arabiriminde erişilebilen yaygın dönüşümleri kullanarak Power Query ile özel bir işlevin nasıl oluşturulacağı özetlenmiştir. Özel işlevler oluşturmak için temel kavramlara odaklanır ve bu makalede başvuruda bulunan belirli dönüşümler hakkında daha fazla bilgi için Power Query belgelerindeki ek makalelere bağlantılar sağlar.

Tablo başvurusundan özel işlev oluşturma

Not

Aşağıdaki örnek, Power BI Desktop'ta bulunan masaüstü deneyimi kullanılarak oluşturulmuştur ve Windows için Excel'de bulunan Power Query deneyimi kullanılarak da takip edilebilir.

Aşağıdaki indirme bağlantısından bu makalede kullanılan örnek dosyaları indirerek bu örnekle birlikte izleyebilirsiniz. Kolaylık olması için bu makalede Klasör bağlayıcısı kullanılır. Klasör bağlayıcısı hakkında daha fazla bilgi edinmek için Klasör'e gidin. Bu örneğin amacı, tüm dosyalardaki tüm verileri tek bir tabloda birleştirmeden önce bu klasördeki tüm dosyalara uygulanabilecek özel bir işlev oluşturmaktır.

Dosyalarınızın bulunduğu klasöre gitmek için Klasör bağlayıcısı deneyimini kullanarak başlayın ve Verileri Dönüştür veya Düzenle'yi seçin. Bu adımlar sizi Power Query deneyimine götürür. İçerik alanında istediğiniz İkili değere sağ tıklayın ve Yeni Sorgu Olarak Ekle seçeneğini belirleyin. Bu örnekte, listeden ilk dosya için seçim yapılmıştır ve bu, Nisan 2019.csv dosyasıdır.

Örnek dosyanız olacak bir dosyanın nasıl seçileceğine ait ekran görüntüsü.

Bu seçenek, gezinti adımıyla doğrudan bu dosyaya İkili olarak yeni bir sorgu oluşturur ve bu yeni sorgunun adı seçili dosyanın dosya yoludur. Bu sorguyu Örnek Dosya olarak yeniden adlandırın.

Yeni Örnek Dosya sorgusunu gösteren ekran görüntüsü.

Dosya Parametresi adı ve İkili türüyle yeni bir parametre oluşturun. Örnek Dosya sorgusunu Varsayılan Değer ve Geçerli Değer olarak kullanın.

Dosya parametresi değerlerinin doldurulduğu ekran görüntüsü.

Not

Power Query'de parametre oluşturmayı ve yönetmeyi daha iyi anlamak için Parametreler makalesini okumanızı öneririz.

Özel işlevler herhangi bir parametre türü kullanılarak oluşturulabilir. Herhangi bir özel işlevin parametre olarak ikili dosyaya sahip olması gerekmez.

İkili parametre türü yalnızca, ikili olarak değerlendirilen bir sorgunuz olduğunda Parametreler iletişim kutusu Türü açılan menüsünde görüntülenir.

Parametresiz özel bir işlev oluşturmak mümkündür. Bu durum genellikle bir girişin işlevin çağrıldığı ortamdan çıkarılabildiği senaryolarda görülür. Örneğin, ortamın geçerli tarih ve saatini alan ve bu değerlerden belirli bir metin dizesi oluşturan bir işlev.

Sorgular bölmesinde Dosya Parametresi'ne sağ tıklayın. Başvuru seçeneğini belirleyin.

Dosya Parametresi için Başvuru seçeneğinin seçili olduğu ekran görüntüsü.

Yeni oluşturulan sorguyu Dosya Parametresi 'nden (2) Örnek Dosyayı Dönüştür olarak yeniden adlandırın.

Yeniden adlandırılmış Dönüşüm Örneği dosya sorgusunun ekran görüntüsü.

Bu yeni Örnek Dosyayı Dönüştür sorgusuna sağ tıklayın ve İşlev Oluştur seçeneğini belirleyin.

Dönüştürme Örneği dosya sorgusu için kullanılan İşlev oluştur seçeneğinin ekran görüntüsü.

Bu işlem, Dönüşüm Örneği dosya sorgusuyla bağlantılı yeni bir işlevi etkili bir şekilde oluşturur. Dönüştürme Örneği dosya sorgusunda yaptığınız tüm değişiklikler otomatik olarak özel işlevinize çoğaltılır. Bu yeni işlevin oluşturulması sırasında İşlev adı olarak Transform dosyasını kullanın.

Dönüştür dosyasının İşlev oluştur penceresinin ekran görüntüsü.

İşlevi oluşturduktan sonra, işlevinizin adıyla sizin için yeni bir grup oluşturulduğuna dikkat edin. Bu yeni grup şunu içerir:

  • Dönüştürme Örneği dosya sorgunuzda başvuruda bulunılan tüm parametreler.
  • Örnek sorgu olarak bilinen Dönüşüm Örneği dosya sorgunuz.
  • Yeni oluşturduğunuz işlev, bu örnekte Dönüştür dosyası.

Sorgular bölmesindeki işlev grubunun ekran görüntüsü.

Örnek sorguya dönüştürme uygulama

Yeni işleviniz oluşturulduktan sonra Örnek Dosyasını Dönüştür adlı sorguyu seçin. Bu sorgu artık Transform dosyası işleviyle bağlantılı olduğundan, bu sorguda yapılan tüm değişiklikler işleve yansıtılır. Bu bağlantı, bir işleve bağlı örnek sorgu kavramı olarak bilinir.

Bu sorguya gerçekleşmesi gereken ilk dönüştürme, ikiliyi yorumlayan dönüştürmedir. Önizleme bölmesinde ikili dosyaya sağ tıklayıp CSV seçeneğini belirleyerek ikili dosyayı CSV dosyası olarak yorumlayabilirsiniz.

CSV vurgulanmış ikili açılan menüsünün ekran görüntüsü.

Klasördeki tüm CSV dosyalarının biçimi aynıdır. Hepsinin ilk dört satırı kapsayan bir üst bilgisi vardır. Sütun başlıkları 5. satırda bulunur ve veriler sonraki görüntüde gösterildiği gibi 6. satırdan aşağı doğru başlar.

İşlemeden önce örnek CSV verilerinin ekran görüntüsü.

Dönüşüm Örneği dosyasına uygulanması gereken sonraki dönüştürme adımları kümesi şunlardır:

  1. İlk dört satırı kaldırın— Bu eylem, dosyanın üst bilgi bölümünün parçası olarak kabul edilen satırlardan kurtulur.

    Dönüşüm Örneği dosyasından üst satırlar kaldırıldıktan sonra ekran görüntüsü.

    Not

    Satırları kaldırma veya tabloyu satır konumuna göre filtreleme hakkında daha fazla bilgi edinmek için Satır konumuna göre filtreleme bölümüne gidin.

  2. Üst bilgileri yükselt— Son tablonuzun üst bilgileri artık tablonun ilk satırındadır. Bunları bir sonraki görüntüde gösterildiği gibi yükseltebilirsiniz.

    üst bilgi olarak ilk satırın kullanılmasının ardından ekran görüntüsü.

Power Query, sütun başlıklarınızı tanıtdıktan sonra varsayılan olarak her sütun için veri türlerini otomatik olarak algılayan yeni bir Değiştirilmiş Tür adımı ekler. Dönüşüm Örneği dosya sorgunuz sonraki görüntüye benzer.

Not

Üst bilgileri yükseltme ve indirgeme hakkında daha fazla bilgi edinmek için Sütun üst bilgilerini yükseltme veya indirgeme bölümüne gidin.

Son dönüşüm örnek sorgusunun ekran görüntüsü.

Dikkat

Dönüştürme dosyası işleviniz, Dönüştürme Örneği dosya sorgusunda gerçekleştirilen adımlara dayanır. Ancak, Transform dosyası işlevinin kodunu el ile değiştirmeye çalışırsanız, şu uyarıyla karşılanırsınız:The definition of the function 'Transform file' is updated whenever query 'Transform Sample file' is updated. However, updates will stop if you directly modify function 'Transform file'.

Özel işlevi yeni sütun olarak çağırma

Özel işlevin oluşturulması ve tüm dönüştürme adımlarının birleştirilmiş olmasıyla, klasöründeki dosyaların listesinin bulunduğu özgün sorguya geri dönebilirsiniz (bu örnekte CSV Dosyaları ). Şeritteki Sütun Ekle sekmesinin içinde Genel grubundan Özel İşlev Çağır'ı seçin. Özel İşlev Çağır penceresinin içine Çıkış Tablosu'nuYeni sütun adı olarak girin. İşlev sorgusu açılan listesinden işlevinizin adını (Dönüştür dosyası) seçin. Açılan menüden işlevi seçtikten sonra, işlevin parametresi görüntülenir ve tablodan bu işlev için bağımsız değişken olarak kullanılacak sütunu seçebilirsiniz. Dosya Parametresi için geçirilecek değer / bağımsız değişken olarak İçerik sütununu seçin.

Özel İşlev çağır iletişim kutusundaki ayarlarla vurgulanmış Özel İşlevi Çağır düğmesinin vurgulandığı ekran görüntüsü.

Tamam'ı seçtikten sonra Çıkış Tablosu adlı yeni bir sütun oluşturulur. Sonraki görüntüde gösterildiği gibi, bu sütunun hücrelerinde Tablo değerleri vardır. Kolaylık olması için, Ad ve Çıkış Tablosu dışındaki tüm sütunları bu tablodan kaldırın.

Özel işlevin çağrılmış ve yalnızca Ad ve Çıkış Tablosu sütunlarının kaldığı ekran görüntüsü.

Not

Tablodaki sütunları seçme veya kaldırma hakkında daha fazla bilgi edinmek için Sütunları seçme veya kaldırma bölümüne gidin.

İşleviniz, işlevinizin bağımsız değişkeni olarak İçerik sütunundaki değerler kullanılarak tablodaki her bir satıra uygulandı. Veriler artık aradığınız şekle dönüştürüldüğüne göre, Genişlet simgesini seçerek Çıkış Tablosu sütununu genişletebilirsiniz. Genişletilmiş sütunlar için herhangi bir ön ek kullanmayın.

Tüm tablo sütunlarının seçili olduğu genişletilmiş çıktı tablosu iletişim kutusunun ekran görüntüsü.

Ad veya Tarih sütunundaki değerleri denetleyerek klasördeki tüm dosyalardan veri sahibi olduğunuzu doğrulayabilirsiniz. Bu durumda, her dosya yalnızca belirli bir yılın tek bir ayına ait verileri içerdiğinden Tarih sütunundaki değerleri de kontrol edebilirsiniz. Birden fazla dosya görüyorsanız, birden çok dosyadaki verileri tek bir tabloda başarıyla birleştirdiğiniz anlamına gelir.

Son tablonun tüm dosyalardan veri içerdiğini doğrulayan tarih açılan listesini içeren ekran görüntüsü.

Not

Şu ana kadar okuduğunuz, Dosyaları birleştir deneyimi sırasında gerçekleşen ama el ile yapılan işlemle temel olarak aynıdır.

Dosyaları birleştirme deneyiminin Power Query'de nasıl çalıştığını ve özel işlevlerin oynadığı rolü daha fazla anlamak için Dosyaları birleştirmeye genel bakış ve CSV dosyalarını birleştirme makalesini de okumanızı öneririz.

Mevcut özel işleve yeni parametre ekleme

Şu anda derlediğiniz şeye göre yeni bir gereksinim olduğunu düşünün. Yeni gereksinim, dosyaları birleştirmeden önce yalnızca Ülke'nin Panama'ya eşit olduğu satırları almak için içindeki verileri filtrelemenizi gerektirir.

Bu gereksinimi gerçekleştirmek için metin veri türüyle Market adlı yeni bir parametre oluşturun. Geçerli Değer için Panama değerini girin.

Gerekli değerleri içeren yeni parametrenin ekran görüntüsü.

Bu yeni parametreyle, Örnek Dosyasını Dönüştür sorgusunu seçin ve Market parametresindeki değeri kullanarak Ülke alanını filtreleyin.

Yeni Market parametresini kullanarak Ülkeyi Filtrele sütununu içeren satırları filtrele iletişim kutusunun ekran görüntüsü.

Not

Sütunları değerlere göre filtreleme hakkında daha fazla bilgi edinmek için Değerleri filtreleme bölümüne gidin.

Bu yeni adımı sorgunuza uygulamak, Dönüştürme dosyası işlevini otomatik olarak güncelleştirir. Bu işlev artık Dönüşüm Örneği dosyanızın kullandığı iki parametreye göre iki parametre gerektirir.

İşlevin iki parametreyle güncelleştirilmiş durumdaki ekran görüntüsü.

Ancak CSV dosyaları sorgusunun yanında bir uyarı işareti vardır. İşleviniz güncelleştirildiğinden iki parametre gerektirir. Bu nedenle işlevi çağırdığınız adım hata değerleriyle sonuçlanır, çünkü bağımsız değişkenlerden yalnızca biri Çağrılan Özel İşlev adımı sırasında Dönüştürme dosyası işlevine geçirilir.

İşlev güncelleştirmesinin ardından görüntülenen hata iletisinin ekran görüntüsü.

Hataları düzeltmek için, Uygulanan Adımlar'da Çağrılan Özel İşlev'e çift tıklayarak Özel İşlev Çağır penceresini açın. Market parametresinde Panama değerini el ile girin.

Güncelleştirilmiş çağrılan özel işlev bağımsız değişkenlerinin ekran görüntüsü.

Artık Uygulanan Adımlar'da Genişletilmiş Çıkış Tablosu'na dönebilirsiniz. Csv Dosyaları sorgusunun son sonuç kümesinde yalnızca Country'nin Panama'ya eşit olduğu satırların gösterildiğini doğrulamak için sorgunuzu denetleyin.

Güncelleştirilmiş bağımsız değişkenlerden sonraki son çıkış tablosunun ekran görüntüsü.

Yeniden kullanılabilir bir mantık parçasından özel işlev oluşturma

Aynı dönüştürme kümesini gerektiren birden çok sorgunuz veya değeriniz varsa, yeniden kullanılabilir bir mantık parçası işlevi gören özel bir işlev oluşturabilirsiniz. Daha sonra bu özel işlev, seçtiğiniz sorgulara veya değerlere karşı çağrılabilir. Bu özel işlev size zaman kazandırabilir ve istediğiniz zaman değiştirebileceğiniz merkezi bir konumdaki dönüşüm kümenizi yönetmenize yardımcı olabilir.

Örneğin, metin dizesi olarak birkaç kodu olan ve aşağıdaki örnek tabloda olduğu gibi bu değerlerin kodunu çözen bir işlev oluşturmak istediğiniz bir sorgu düşünün:

kod
PTY-CM1090-LAX
LAX-CM701-PTY
PTY-CM4441-MIA
MIA-UA1257-LAX
LAX-XY2842-MIA

Özgün kod listesinin ekran görüntüsü.

Örnek olarak hizmet veren bir değere sahip bir parametreye sahip olarak başlarsınız. Bu durumda PTY-CM1090-LAX değeridir.

Örnek parametre kodu değerlerinin girilmiş olduğu Parametreleri Yönet iletişim kutusunun ekran görüntüsü.

Bu parametreden, ihtiyacınız olan dönüştürmeleri uyguladığınız yeni bir sorgu oluşturursunuz. Bu durumda PTY-CM1090-LAX kodunu birden çok bileşene bölmek istiyorsunuz:

  • Origin = PTY
  • Hedef = LAX
  • Havayolu = CM
  • FlightID = 1090

Her bölümü kendi sütununda olan örnek dönüştürme sorgusunun ekran görüntüsü.

Aşağıdaki M kodu, bu dönüştürme kümesini gösterir.

let
    Source = code,
    SplitValues = Text.Split( Source, "-"),
    CreateRow = [Origin= SplitValues{0}, Destination= SplitValues{2}, Airline=Text.Start( SplitValues{1},2), FlightID= Text.End( SplitValues{1}, Text.Length( SplitValues{1} ) - 2) ],
    RowToTable = Table.FromRecords( {  CreateRow } ),
    #"Changed Type" = Table.TransformColumnTypes(RowToTable,{{"Origin", type text}, {"Destination", type text}, {"Airline", type text}, {"FlightID", type text}})
in
    #"Changed Type"

Not

Power Query M formül dili hakkında daha fazla bilgi edinmek için Power Query M formül dili'ne gidin.

Ardından sorguya sağ tıklayıp İşlev Oluştur'u seçerek bu sorguyu işleve dönüştürebilirsiniz. Son olarak, bir sonraki görüntüde gösterildiği gibi özel işlevinizi sorgularınıza veya değerlerinize çağırabilirsiniz.

Özel İşlev Çağır değerlerinin doldurulduğu kod listesinin ekran görüntüsü.

Birkaç dönüşüm daha yaptıktan sonra, istediğiniz çıkışa ulaştığınızı ve özel bir işlevden böyle bir dönüşüm için mantığı uyguladığınızı görebilirsiniz.

Özel bir işlev çağrıldıktan sonra son çıkış sorgusunu gösteren ekran görüntüsü.