Aracılığıyla paylaş


Gezintiyi işleme

Gezinti Tabloları (veya gezinti tabloları), bağlayıcınız için kullanıcı dostu bir deneyim sağlamanın temel bir parçasıdır. Power Query deneyimi, veri kaynağı işleviniz için gerekli parametreleri girdikten ve veri kaynağıyla kimlik doğrulaması yaptıktan sonra bunları kullanıcıya görüntüler.

TripPin gezinti tablosu.

Arka planda gezinti tablosu, türü üzerinde tanımlanan belirli meta veri alanları içeren normal bir M Tablosu değeridir. Veri kaynağı işleviniz bu alanların tanımlandığı bir tablo döndürdüğünde Power Query gezgin iletişim kutusunu görüntüler. Kök düğüme sağ tıklayıp Düzenle'yi seçerek temel alınan verileri tablo değeri olarak görebilirsiniz.

Table.ToNavigationTable

bir gezinti tablosu oluşturmak için gereken tablo türü meta verilerini eklemek için işlevini kullanabilirsiniz Table.ToNavigationTable .

Not

Şu anda bu işlevi kopyalayıp M uzantınıza yapıştırmanız gerekir. Gelecekte büyük olasılıkla M standart kitaplığına taşınacaktır.

Aşağıdaki tabloda bu işlevin parametreleri açıklanmaktadır:

Parametre Ayrıntılar
table Gezinti tablonuz.
Keycolumns Gezinti tablonuz için birincil anahtar görevi gören sütun adlarının listesi.
Namecolumn Gezginde görünen ad olarak kullanılması gereken sütunun adı.
Datacolumn Görüntülenecek Tablo veya İşlevi içeren sütunun adı.
itemKindColumn Görüntülenecek simge türünü belirlemek için kullanılacak sütunun adı. Sütun için geçerli değerlerin listesi için aşağıya bakın.
itemNameColumn Önizleme davranışını belirlemek için kullanılacak sütunun adı. Bu genellikle itemKind ile aynı değere ayarlanır.
isLeafColumn Bunun yaprak düğüm olup olmadığını veya düğümün başka bir gezinti tablosu içerecek şekilde genişletilip genişletilebileceğini belirlemek için kullanılan sütunun adı.

işlevi aşağıdaki meta verileri tablo türüne ekler:

Alan Parametre
NavigationTable.NameColumn Namecolumn
NavigationTable.DataColumn Datacolumn
NavigationTable.ItemKindColumn itemKindColumn
NavigationTable.IsLeafColumn isLeafColumn
Preview.DelayColumn itemNameColumn

ItemKind değerleri

Aşağıdaki öğe türü değerlerinin her biri gezinti tablosunda farklı bir simge sağlar.

  • Akış
  • Veritabanı
  • DatabaseServer
  • Boyut
  • Tablo
  • Klasör
  • İşlev
  • Görünüm
  • Sayfa
  • DefinedName
  • Kaydet

Örnekler

Düz gezinti tablosu

Aşağıdaki kod örneği, üç tablo ve bir işlev içeren düz bir gezinti tablosu görüntüler.

shared NavigationTable.Simple = () =>
    let
        objects = #table(
            {"Name",       "Key",        "Data",                           "ItemKind", "ItemName", "IsLeaf"},{
            {"Item1",      "item1",      #table({"Column1"}, {{"Item1"}}), "Table",    "Table",    true},
            {"Item2",      "item2",      #table({"Column1"}, {{"Item2"}}), "Table",    "Table",    true},
            {"Item3",      "item3",      FunctionCallThatReturnsATable(),  "Table",    "Table",    true},            
            {"MyFunction", "myfunction", AnotherFunction.Contents,       "Function", "Function", true}
            }),
        NavTable = Table.ToNavigationTable(objects, {"Key"}, "Name", "Data", "ItemKind", "ItemName", "IsLeaf")
    in
        NavTable;

shared FunctionCallThatReturnsATable = () =>
    #table({"DynamicColumn"}, {{"Dynamic Value"}});

Bu kod, Power BI Desktop'ta aşağıdaki Gezgin görüntüsüne neden olur:

Düz gezinti tablosu örneği.

Çok düzeyli gezinti tablosu

Veri kümeniz üzerinde hiyerarşik bir görünüm oluşturmak için iç içe gezinti tablolarını kullanabilirsiniz. Bunu, bu satırın IsLeaf false değerini olarak ayarlayarak (genişletilebilen bir düğüm olarak işaretler) ve sütunu başka bir gezinti tablosu olacak şekilde biçimlendirirsiniz Data .

shared NavigationTable.Nested = () as table =>
    let
        objects = #table(
            {"Name",       "Key",  "Data",                "ItemKind", "ItemName", "IsLeaf"},{
            {"Nested A",   "n1",   CreateNavTable("AAA"), "Table",    "Table",    false},
            {"Nested B",   "n2",   CreateNavTable("BBB"), "Table",    "Table",    false},
            {"Nested C",   "n3",   CreateNavTable("CCC"), "Table",    "Table",    false}
        }),
        NavTable = Table.ToNavigationTable(objects, {"Key"}, "Name", "Data", "ItemKind", "ItemName", "IsLeaf")
    in
        NavTable;

CreateNavTable = (message as text) as table => 
    let
        objects = #table(
            {"Name",  "Key",   "Data",                           "ItemKind", "ItemName", "IsLeaf"},{
            {"Item1", "item1", #table({"Column1"}, {{message}}), "Table",    "Table",    true},
            {"Item2", "item2", #table({"Column1"}, {{message}}), "Table",    "Table",    true}
        }),
        NavTable = Table.ToNavigationTable(objects, {"Key"}, "Name", "Data", "ItemKind", "ItemName", "IsLeaf")
    in
        NavTable;

Bu kod, Power BI Desktop'ta aşağıdaki Gezgin görüntüsüne neden olur:

Hiyerarşik gezinti tablosu örneği.

Dinamik gezinti tabloları

Bu temel bilgilerle daha karmaşık işlevler oluşturulabilir. Yukarıdaki örneklerin tümü gezinti tablosunda sabit kodlanmış varlıklar gösterse de, gezinti tablosunun belirli bir kullanıcının kullanabileceği varlıklara göre dinamik olarak nasıl oluşturulabileceğini görmek kolaydır. Dinamik gezinti tablolarında dikkat edilmesi gereken birkaç önemli nokta şunlardır: