Aracılığıyla paylaş


TripPin bölüm 1 - OData hizmeti için veri bağlayıcısı

Bu çok bölümlü öğretici, Power Query için yeni bir veri kaynağı uzantısı oluşturmayı kapsar. Öğreticinin sırayla yapılması amaçlanır; her ders önceki derslerde oluşturulan bağlayıcı üzerinde oluşturulur ve bağlayıcınıza artımlı olarak yeni özellikler ekler.

Bu derste şunları yapacaksınız:

  • Power Query SDK'sını kullanarak yeni bir Data Bağlan or projesi oluşturma
  • Kaynaktan veri çekmek için temel işlev yazma
  • Bağlayıcınızı Power Query SDK'sında test edin
  • Bağlayıcınızı Power BI Desktop'a kaydetme

Temel bir OData bağlayıcısı oluşturma

Bu bölümde yeni bir Data Bağlan or projesi oluşturacak, bazı temel bilgileri sağlayacak ve Power Query SDK'sında test edebilirsiniz.

Visual Studio Code'u açın. Yeni bir çalışma alanı oluşturmanızı ve ardından yeni bir uzantı projesi oluşturmanızı öneririz. Yeni uzantı projesini oluşturmak için gezgini açın ve Power Query SDK'sı bölümünde Uzantı projesi oluştur düğmesini seçin.

Power Query SDK uzantısı projesi oluşturma seçeneğini vurgulayan ekran görüntüsü.

Bu düğmeyi seçtikten sonra yeni projenin adını girmeniz istenir. Bu yeni projeye adını verin TripPin.

Power Query SDK'sı kullanılarak TripPin adlı yeni uzantı projesinin ekran görüntüsü.

TripPin.pq dosyasını açın ve aşağıdaki bağlayıcı tanımına yapıştırın.

section TripPin;

[DataSource.Kind="TripPin", Publish="TripPin.Publish"]
shared TripPin.Feed = Value.ReplaceType(TripPinImpl, type function (url as Uri.Type) as any);

TripPinImpl = (url as text) =>
    let
        source = OData.Feed(url)
    in
        source;

// Data Source Kind description
TripPin = [
    Authentication = [
        Anonymous = []
    ],
    Label = "TripPin Part 1 - OData"
];

// Data Source UI publishing description
TripPin.Publish = [
    Beta = true,
    Category = "Other",
    ButtonText = { "TripPin OData", "TripPin OData" }
];

Bu bağlayıcı tanımı şunu içerir:

  • TripPin bağlayıcısı için Veri Kaynağı tanım kaydı
  • Bu kaynak için tek kimlik doğrulama türünün Örtük (Anonim) olduğunu belirten bir bildirim
  • OData.Feed'i çağıran bir uygulamaya sahip bir işlev (TripPinImpl)
  • Parametre türünü olarak ayarlayan paylaşılan işlev (TripPin.Feed) Uri.Type
  • Bağlayıcının Power Query Veri Al iletişim kutusunda görünmesini sağlayan veri kaynağı yayımlama kaydı

TripPin.query.pq dosyasını açın. Geçerli içeriği dışarı aktarılan işlevinize yapılan bir çağrıyla değiştirin.

TripPin.Feed("https://services.odata.org/v4/TripPinService/")

Bağlayıcınızı test etmeden önce oluşturmanız gerekir. Bunu yapmak için Terminal'e gidin ve Derleme Görevini Çalıştır... seçeneğini belirleyin (Klavye kısayolu Ctrl + Shift + B). MakePQX seçeneğinin seçilmesini öneririz, ancak derleme için kullanılabilir seçeneklerden biri işe yaramalıdır.

Bağlayıcıyı test etmeden önce derleme görevini çalıştırmayı gösteren ekran görüntüsü.

Bu işlemin sonucu, yerleşik bağlayıcınızın TripPin.mez olarak depolandığı yeni bir Bin klasörü oluşturur.

Mez uzantılı ve TripPin.mez adlı bağlayıcı dosyasının bulunduğu yeni bin klasörünün ekran görüntüsü.

<project.query.pq> dosyası, uzantınızı Power BI Desktop'ın bin klasörüne dağıtmak zorunda kalmadan test etmek için kullanılır. Power Query SDK'sının içinde bulunan araçları kullanma:

  1. Kimlik bilgilerini ayarla seçeneğini belirleyin.
  2. Veri kaynağı olarak TripPin'i seçin.
  3. TripPin.query.pq dosyasını sorgu/test dosyası olarak seçin.
  4. Kimlik doğrulama türü olarak anonim'i seçin.

Çıkış iletişim kutusunda, veri kaynağı için bir kimlik bilgisi ayarladığınızı ve oluşturulan her kimlik bilgisi için ayrıntıları onaylayan bir ileti görüntülenir.

.query.pq dosyasında geçirilen URL'yi kullanarak TripPin connectur için yeni oluşturulan kimlik doğrulamasının ayrıntılarını gösteren çıkış iletişim kutusunun ekran görüntüsü.

Not

Tüm kimlik bilgilerini temizle komutunu kullanarak istediğiniz zaman kimlik bilgilerini temizleyebilir veya Power Query SDK araçlarındaki Kimlik bilgilerini listele komutunu kullanarak kullanılabilir kimlik bilgilerini de kontrol edebilirsiniz.

Kimlik bilgileri artık mevcut olduğunda TripPin.query.pq dosyasını seçin ve geçerli power query dosyasını değerlendirmek için belgeyi sağ seçin veya Power Query SDK araçlarından Geçerli dosyayı değerlendir seçeneğini kullanın.

Geçerli Power Query dosyasını değerlendirmek için birden çok alternatifin ekran görüntüsü.

Çıkış iletişim kutusunda, değerlendirmenizden elde edilen sonuçların iletisinin yanı sıra PQTest sonucu adlı yeni bir pencere görüntülenir.

Yürütülen değerlendirmenin sonuçlarını gösteren PQTest sonuç penceresinin ekran görüntüsü.

PQTest sonuç penceresi üç sekmeden oluşur:

  • Çıkış: Verilerinizin önizlemesini kılavuzda görüntüler.
  • Özet: StartTime, EndTime, Duration, değerlendirme için kullanılan dosya, durum ve daha fazlası gibi genel değerlendirme ayrıntıları.
  • DataSource: Tür, İşlev Adı ve yoldan kullanılan Veri Kaynağı hakkında bilgi sağlar.

Farklı sonuçların nasıl döndürüldiğini görmek için test dosyasında birkaç farklı OData URL'sini deneyebilirsiniz. Örneğin:

  • https://services.odata.org/v4/TripPinService/Me
  • https://services.odata.org/v4/TripPinService/GetPersonWithMostFriends()
  • https://services.odata.org/v4/TripPinService/People

TripPin.query.pq dosyası tek deyimler, let deyimleri veya tam bölüm belgeleri içerebilir.

let
    Source = TripPin.Feed("https://services.odata.org/v4/TripPinService/"),
    People = Source{[Name="People"]}[Data],
    SelectColumns = Table.SelectColumns(People, {"UserName", "FirstName", "LastName"})
in
    SelectColumns

Önemli

Çalışırken dosyalarınızı her zaman kaydettiğinizden emin olun. TripPin.pq dosyanızda değişiklik yaparsanız, bağlayıcınızın en son sürümünde test yaptığınızdan emin olmak için her zaman bir sonraki derleme görevini tetiklemeniz gerekir.

HTTP trafiğini yakalamak için Fiddler'ı açın ve sorguyu çalıştırın. Karma kapsayıcı işlemi tarafından oluşturulan services.odata.org için birkaç farklı istek görmeniz gerekir. Hizmetin kök URL'sine erişmenin 302 durumuyla ve URL'nin daha uzun sürümüne yeniden yönlendirmeyle sonuçlandığını görebilirsiniz. Aşağıdaki yeniden yönlendirmeler, temel kitaplık işlevlerinden "ücretsiz" olarak elde ettiğiniz başka bir davranıştır.

URL'lere baktığınızda dikkate alınabilecek bir nokta, deyiminde gerçekleşen sorguyu kaynağa döndürmeyi SelectColumns görebilmenizdir. https://services.odata.org/v4/TripPinService/People?$select=UserName%2CFirstName%2CLastName

Sorgunuza daha fazla dönüşüm eklerseniz, bunların oluşturulan URL'yi nasıl etkilediğini görebilirsiniz.

Bu davranışa dikkat edilmesi önemlidir. Açık katlama mantığı uygulamamış olsanız bile bağlayıcınız bu özellikleri OData.Feed işlevinden devralır. M deyimleri oluşturabilendir; filtre bağlamları mümkün olduğunda bir işlevden diğerine akar. Bu, kavram olarak bağlayıcınızda kullanılan veri kaynağı işlevlerinin kimlik doğrulama bağlamını ve kimlik bilgilerini devralma yöntemine benzer. Sonraki derslerde, yerel katlama özelliklerine sahip olan OData.Feed'in kullanımını Web.Contents ile değiştireceksiniz. Aynı özellik düzeyini elde etmek için arabirimini kullanmanız Table.View ve kendi açık katlama mantığınızı uygulamanız gerekir.

Uzantınızı Power BI Desktop'a yükleme

Uzantınızı Power BI Desktop'ta kullanmak için bağlayıcı projenizin çıkış dosyasını (TripPin.mez) Özel Bağlan ors dizininize kopyalamanız gerekir.

  1. [Belgelerim]\Power BI Desktop\Özel Bağlan ors dizini oluşturun.
  2. Uzantı dosyasını (TripPin.mez) bu dizine kopyalayın.
  3. (Önerilmez) Power BI Desktop'ta herhangi bir uzantının doğrulama veya uyarı olmadan yüklenmesine izin ver seçeneğini işaretleyin (Dosya>Seçenekleri ve ayarları>Seçenekleri>Güvenlik>Veri Uzantıları altında).
  4. Power BI Desktop'i yeniden başlatın.
  5. Veri > Al iletişim kutusunu açmak için Daha Fazla Veri Al'ı seçin.

Uzantınızın adını arama kutusuna yazarak uzantınızı bulabilirsiniz.

Veri Al İletişim Kutusu.

İşlev adını seçin ve Bağlan'ı seçin. Üçüncü taraf bir ileti görüntülenir; devam etmek için Devam'ı seçin. İşlev çağırma iletişim kutusu artık görüntülenir. Hizmetin kök URL'sini ()https://services.odata.org/v4/TripPinService/ girin ve Tamam'ı seçin.

İşlevi Çağır'ı seçin.

Bu veri kaynağına ilk kez eriştiğiniz için kimlik bilgileri istemi alırsınız. En kısa URL'nin seçili olup olmadığını denetleyin ve Bağlan seçin.

Kimlik bilgisi isteminin Anonim olarak ayarlandığı ve düzey ayarının en kısa URL'ye ayarlandığı görüntü.

Basit bir veri tablosu almak yerine gezgin göründüğüne dikkat edin. Bunun nedeni, OData.Feed işlevinin, Power Query deneyiminin gezinti tablosu olarak görüntüleneceğini bildiği, üzerinde özel meta veriler bulunan bir tablo döndürmesidir. Bu kılavuzda, gelecekteki bir derste kendi gezinti tablonuzu nasıl oluşturabileceğiniz ve özelleştirebileceğiniz ele alınacaktır.

Gezinti Tablosu.

Ben tablosunu ve ardından Verileri Dönüştür'ü seçin. Sütunların zaten atanmış türleri olduğuna dikkat edin (çoğu). Bu, temel alınan OData.Feed işlevinin başka bir özelliğidir . İstekleri Fiddler'da izlerseniz hizmetin $metadata belgesini getirmiş olduğunuzu görürsünüz. Altyapının OData uygulaması, hizmetin şemasını, veri türlerini ve ilişkilerini belirlemek için bunu otomatik olarak yapar.

Ben Kaydım.

Sonuç

Bu ders, OData.Feed kitaplık işlevini temel alan basit bir bağlayıcı oluşturma işleminde size yol gösterir. Gördüğünüz gibi, temel işlev üzerinde OData tam işlevsel bir bağlayıcıyı etkinleştirmek için çok az mantık gerekir. ODBC gibi diğer genişletilebilirlik özellikli işlevler. DataSource, benzer özellikler sağlar.

Sonraki derste, OData.Feed kullanımını daha az özellikli bir işlevle (Web.Contents) değiştireceksiniz. Her ders, özel bağlayıcınız OData.Feed ile aynı özellik aralığını destekleyene kadar sayfalama, meta veri/şema algılama ve sorguyu OData sorgu söz dizimine katlama gibi daha fazla bağlayıcı özelliği uygular.

Sonraki adımlar

TripPin Bölüm 2 - REST Hizmeti için veri Bağlan veya