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.
M motoru, tür ve yol kombinasyonunu kullanarak bir veri kaynağını tanımlar. Sorgu değerlendirmesi sırasında bir veri kaynağıyla karşılaşıldığında, M altyapısı eşleşen kimlik bilgilerini bulmaya çalışır. Hiçbir kimlik bilgisi bulunmazsa altyapı, Power Query'de kimlik bilgisi istemiyle sonuçlanabilecek özel bir hata döndürür.
Tür değeri Veri Kaynağı Türü tanımından gelir.
Path değeri, veri kaynağı işlevinizingerekli parametrelerinden türetilir. İsteğe bağlı parametreler veri kaynağı yol tanımlayıcısına dahil değildir. Sonuç olarak, bir veri kaynağı türüyle ilişkili tüm veri kaynağı işlevleri aynı parametrelere sahip olmalıdır. türünde Uri.Typetek bir parametresi olan işlevler için özel işleme vardır. Ayrıntılar için Uri parametresiyle İşlevler'e gidin.
Power BI Desktop'taki Veri kaynağı ayarları iletişim kutusunda kimlik bilgilerinin nasıl depolandığını gösteren bir örnek görebilirsiniz. Bu iletişim kutusunda, Tür bir simgeyle gösterilir ve Yol değeri metin olarak görüntülenir.
Uyarı
Geliştirme sırasında veri kaynağı işlevinizin gerekli parametrelerini değiştirirseniz, önceden depolanan kimlik bilgileri artık çalışmaz (yol değerleri artık eşleşmediğinden). Veri kaynağı işlev parametrelerinizi her değiştirdiğinizde depolanan kimlik bilgilerini silmeniz gerekir. Uyumsuz kimlik bilgileri bulunursa çalışma zamanında bir hata alabilirsiniz.
Veri kaynağı yol biçimi
Veri kaynağının Path değeri, veri kaynağı işlevinin gerekli parametrelerinden türetilir. Gerekli parametreler, işlevin meta verilerine eklenerek DataSource.Path = false yolun dışında tutulabilir. Daha fazla bilgi için Gerekli parametreleri veri kaynağı yolunuzdan dışlama bölümüne gidin.
Varsayılan olarak, gerçek dize değerini Power BI Desktop'taki Veri kaynağı ayarları iletişim kutusunda ve kimlik bilgisi isteminde görebilirsiniz. Veri Kaynağı Türü tanımı bir Label değer eklemişse, bunun yerine etiket değerini görürsünüz.
Örneğin, HelloWorldWithDocs örneğindeki veri kaynağı işlevi aşağıdaki imzaya sahiptir:
HelloWorldWithDocs.Contents = (message as text, optional count as number) as table => ...
İşlev, text türünde message tek bir gerekli parametreye sahiptir ve veri kaynağı yolunu hesaplamak için kullanılır. İsteğe bağlı parametre (count) yoksayılır. Yol aşağıdaki gibi görüntülenir:
Kimlik bilgisi istemi
Veri kaynağı ayarları kullanıcı arabirimi
Etiket değeri tanımlandığında veri kaynağı yolu değeri gösterilmez:
Uyarı
İşlevinizde gerekli parametreler varsa veri kaynağınız için etiket eklememenizi öneririz çünkü kullanıcılar girdikleri farklı kimlik bilgilerini ayırt edemeyecektir. Gelecekte bunu geliştirmeyi umuyoruz (yani veri bağlayıcılarının kendi özel veri kaynağı yollarını görüntülemesine izin verir).
Gerekli parametreleri veri kaynağı yolunuz dışında tutarak
Bir işlev parametresinin gerekli olmasını, ancak veri kaynağı yolunuzun bir parçası olarak dahil edilmemesini istiyorsanız, işlev belgeleri meta verilerine ekleyebilirsiniz DataSource.Path = false . Bu özellik, işlevinizin bir veya daha fazla parametresine eklenebilir. Bu alan, veri kaynağı yolunuzdan değeri kaldırır (işlevinize TestConnection artık geçirilmemesi anlamına gelir), bu nedenle yalnızca veri kaynağınızı tanımlamak veya kullanıcı kimlik bilgilerini ayırt etmek için gerekli olmayan parametreler için kullanılmalıdır.
Örneğin HelloWorldWithDocs örneğindeki bağlayıcı, farklı değerler için farklı message kimlik bilgileri gerektirir.
DataSource.Path = false öğesini message parametresine eklemek, onu veri kaynağı yolu hesaplamasından kaldırır ve bağlayıcıyı etkili bir şekilde "tekli" hale getirir. tüm çağrıları HelloWorldWithDocs.Contents aynı veri kaynağı olarak kabul edilir ve kullanıcı kimlik bilgilerini yalnızca bir kez sağlar.
HelloWorldType = type function (
message as (type text meta [
DataSource.Path = false,
Documentation.FieldCaption = "Message",
Documentation.FieldDescription = "Text to display",
Documentation.SampleValues = {"Hello world", "Hola mundo"}
]),
optional count as (type number meta [
Documentation.FieldCaption = "Count",
Documentation.FieldDescription = "Number of times to repeat the message",
Documentation.AllowedValues = { 1, 2, 3 }
]))
as table meta [
Documentation.Name = "Hello - Name",
Documentation.LongDescription = "Hello - Long Description",
Documentation.Examples = {[
Description = "Returns a table with 'Hello world' repeated 2 times",
Code = "HelloWorldWithDocs.Contents(""Hello world"", 2)",
Result = "#table({""Column1""}, {{""Hello world""}, {""Hello world""}})"
],[
Description = "Another example, new message, new count!",
Code = "HelloWorldWithDocs.Contents(""Goodbye"", 1)",
Result = "#table({""Column1""}, {{""Goodbye""}})"
]}
];
Uri parametresine sahip işlevler
Uri tabanlı tanımlayıcıya sahip veri kaynakları çok yaygın olduğundan, Uri tabanlı veri kaynağı yollarıyla ilgilenirken Power Query kullanıcı arabiriminde özel işleme vardır. Uri tabanlı bir veri kaynağıyla karşılaşıldığında, kimlik bilgisi iletişim kutusu kullanıcının tam yol (ve aradaki tüm yollar) yerine temel yolu seçmesine olanak tanıyan bir açılan menü sağlar.
M dilinde
shared GithubSample.Contents = Value.ReplaceType(Github.Contents, type function (url as Uri.type) as any);