Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 formül dilini kullanarak kendi Power Query özel işlevinizi kendiniz oluşturabilirsiniz veya Power Query kullanıcı arabirimi size özel işlev oluşturma ve yönetme sürecini hızlandırmanıza, basitleştirmenize ve geliştirmenize yönelik özellikler sunar.
İlk olarak kullanıcı arabirimi koduyla özel işlev oluşturmatemel adımlarını ele alacağız, ardından karmaşık eylemleri yeniden kullanılabilir bir işleve dönüştürmekiçin arabirimi kullanmaya odaklanacağız.
Ö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 diğer makalelere bağlantılar sağlar.
Kullanıcı arabirimindeki koddan özel işlev oluşturma
Not
Aşağıdaki adımlar Power BI Desktop'ta veya Windows için Excel'de bulunan Power Query deneyimi kullanılarak izlenebilir.
- Verilerinizin barındırıldığı yere bağlanmak için bağlayıcı deneyimini kullanın. Verilerinizi seçtiğinizde, Veri Dönüştürme veya Düzenle düğmesine basın. Bu sizi Power Query deneyimine götürür.
- Soldaki Sorgular bölmesinde boş bir noktaya sağ tıklayın.
- Boş sorguseçin.
- Yeni boş sorgu penceresinde Giriş menüsünü seçin, ardından Gelişmiş düzenleyici.
- Şablonu özel işlevinizle değiştirin. Mesela:
let HelloWorld = () => ("Hello World") in HelloWorld - seçinBitti.
Power Query M formül diliyle özel işlevler geliştirme hakkında daha fazla bilgi için şu makaleye bakın: Power Query M İşlevlerini Anlama. Aşağıdaki bölümlerde, kod yazmadan özel işlevler geliştirmek için Power Query kullanıcı arabirimini nasıl kullanabileceğinizi açıklayan öğreticiler ve sorgunuzda özel işlevinizi nasıl çağırabileceğinize ilişkin yönergeler yer almaktadır.
Tablo referansı eğitimi kullanarak ö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.
Örnek dosyaları bu makalede kullanılan aşağıdaki indirme bağlantısı'dan indirerek bu örneği takip edebilirsiniz. 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örgidin. 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.
Klasöre gitmek için Klasör bağlayıcısını kullanarak başlayın ve ardından Veri Dönüştürme veya Düzenleseçeneklerini seçin. Bu adımlar sizi Power Query deneyimine götürür. İçerik alanında istediğiniz İkili değerine 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.csvdosyasıdır.
Bu seçenek, doğrudan bu dosyaya ikili olarak bir gezinti adımı ile yeni bir sorgu oluşturur ve bu yeni sorgunun adı, seçilen dosyanın dosya yoludur. Bu sorguyu Örnek Dosya olarak yeniden adlandırın.
adında ve İkilitüründe Dosya Parametresi adlı yeni bir parametre oluşturun. Örnek Dosya sorgusunu Varsayılan Değer ve Geçerli Değerolarak kullanın.
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ü, ikili olarak değerlendirilen bir sorgunuz olduğunda yalnızca Tür açılan menüsünüParametreler iletişim kutusunun içinde 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 türetilebildiğ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ölmesinden Dosya Parametresi üzerine sağ tıklayın. Referans seçeneğini belirleyin.
Yeni oluşturulan sorguyu Dosya Parametresi (2)'den Örnek dosya dönüştürolarak yeniden adlandırın.
Bu yeni Dönüştür Örnek dosya sorgusuna sağ tıklayın ve İşlev Oluştur seçeneğini belirleyin.
Bu işlem, Dönüştürme Örneği dosyası sorgusuyla bağlantı oluşturan yeni bir işlevi etkili bir şekilde oluşturur. Dönüştürme Örnek dosyası 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 Transform dosyasınıİşlev adı olarakkullanın.
Dönüştürme dosyası için Oluştur işlevi 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 dosyanızdaki sorgusunda referans verilen tüm parametreler.
- Dönüştürme Örneği dosyanız sorgusu, yaygın olarak örnek sorguolarak bilinir.
- Yeni oluşturduğunuz işlev, bu örnekte Dönüştürme dosyası.
Örnek bir sorguya dönüşümler uygulamak
Yeni işleviniz oluşturulduktan sonra, Örnek Dosyasını Dönüştüradlı sorguyu seçin. Bu sorgu artık Dönüştürme dosyası işleviyle ilişkilendirildiğinden, 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ölmesinden ikili dosyaya sağ tıklayabilir ve ikiliyi CSV dosyası olarak yorumlamak için CSV seçeneğini belirleyebilirsiniz.
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.
Dönüştürme Örneği dosyası uygulanması gereken sonraki dönüştürme adımları kümesi şunlardır:
ilk dört satırı kaldır — Bu eylem, dosyanın üst bilgi bölümünün parçası olarak kabul edilen satırlardan kurtulur.
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 filtrelemegidin.
Ü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.
Power Query, sütun üst bilgilerinizi tanıtdıktan sonra varsayılan olarak her sütun için veri türlerini otomatik olarak algılayan yeni bir Değiştirilen Tür adımı ekler. Çevrim Örneği dosyası sorgunuz, sonraki görüntü olarak görünmektedir.
Not
Başlıkları yükseltme ve indirgeme hakkında daha fazla bilgi edinmek için sütun başlıklarını yükseltme veya indirgemegidin.
Dikkat
Dönüştürme dosyanızın işlevi, Dönüştürme Örneği dosyasının sorgusunda gerçekleştirilen adımlara dayanır. Ancak, Dönüştürme dosyası işlevinin kodunu el ile değiştirmeye çalışırsanı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'. yazan bir uyarıyla karşılanırsınız
Ö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 sekmesinde, Genel grubundan Özel İşlevi Çağır'ı seçin. Özel İşlev Çağır penceresinin içine Yeni sütun adı olarak Çıkış Tablosu girin. İşlevinizin adını, Dönüştür dosyası, İşlev sorgusu açılan listesinden 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 Parametresigeçirilecek değer / bağımsız değişken olarak İçerik sütununu seçin.
Tamamseçtikten sonra, Çıktı Tablosu adlı yeni bir sütun oluşturulur. Bu sütun, sonraki görüntüde gösterildiği gibi hücrelerinde Tablo değerlerine sahiptir. Kolaylık olması için, Ad ve Çıktı Tablosudışındaki tüm sütunları bu tablodan kaldırın.
Not
Tablodaki sütunları seçme veya kaldırma hakkında daha fazla bilgi edinmek için sütun seçme veya kaldırma bölümüne gidin.
İşleviniz, işlevinizin bağımsız değişkeni olarak content sütunundaki değerler kullanılarak tablodaki her satıra uygulandı. Veriler artık aradığınız şekle dönüştürüldüğüne göre, Genişlet simgesini seçerek Çıktı Tablosu sütununu genişletebilirsiniz. Genişletilmiş sütunlar için herhangi bir ön ek kullanmayın.
Adı veya Tarih sütunundaki değerleri denetleyerek klasördeki tüm dosyalardan veri sahibi olduğunuzu doğrulayabilirsiniz. Bu durumda, Tarih sütunundaki değerleri de kontrol edebilirsiniz; her dosya yalnızca belirli bir yılın tek bir ayına ait verileri içerir. Birden fazla dosya görüyorsanız, birden çok dosyadaki verileri tek bir tabloda başarıyla birleştirdiğiniz anlamına gelir.
Not
Şu ana kadar okuduğunuz, Dosyaları birleştirme 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
Hayal edin ki, şu anda inşa ettiklerinizin üzerine yeni bir gereksinim var. Yeni gereksinim, dosyaları birleştirmeden önce içindeki verileri yalnızca ÜlkePanamaeşit olduğu satırları almak için filtrelemenizi gerektirir.
Bu gereksinimi gerçekleştirmek için metin veri türüyle Market adlı yeni bir parametre oluşturun. Geçerli Değeriçin, değer Panamagirin.
Bu yeni parametreyle, Dönüştürme Örnek dosyası sorgusunu seçin ve Market parametresindeki değeri kullanarak Ülke alanını filtreleyin.
Not
Sütunları değerlere göre filtreleme hakkında daha fazla bilgi edinmek için değerleri filtrelemegidin.
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.
Ancak CSV dosyaları sorgunun 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ıyor, çünkü bağımsız değişkenlerden yalnızca biri Dönüştürme dosyası işlevine Çağrılan Özel İşlev adımı sırasında geçirildi.
Hataları düzeltmek için, Uygulanan Adımlar içinde Çağrılan Özel İşlev'e çift tıklayarak Özel İşlev Çağırma penceresini açın. Market parametresinde Panama değerini el ile girin.
Artık Uygulanan Adımlariçindeki Genişletilmiş Çıktı Tablosu'e dönebilirsiniz. Yalnızca ÜlkePanama eşit olduğu satırların CSV Dosyaları sorgunun son sonuç kümesinde gösterildiğini doğrulamak için sorgunuzu denetleyin.
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 |
Örnek olarak hizmet veren bir değere sahip bir parametreye sahip olarak başlarsınız. Bu durumda, PTY-CM1090-LAX değeridir.
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:
- Kaynak = PTY
- Hedef = LAX
- Havayolu = CM
- FlightID = 1090
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 diligidin.
Ardından sorguya sağ tıklayıp İşlev Oluştur 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.
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.