Kuruluşunuz için Power BI tümleşik analiz uygulamasına hızlı rapor ekleme

Power BI İstemci API'leri, kullanıcılarınızın uygulamanızdan ayrılmasına gerek kalmadan uygulamanızın verilerinden hızlı bir şekilde etkileşimli bir rapor ve veri kümesi oluşturmanıza olanak sağlar. Bu istemci tarafı kitaplığını kullanarak, Power BI'ın Power BI hizmetinde bir veri kümesi oluşturmak için kullanacağı veri kaynağı hakkında bilgi sağlayacaksınız. Aynı zamanda Power BI, kullanıcılarınızın gereksinimlerini karşılayacak şekilde keşfetmesi ve özelleştirmesi için veriler hakkında içgörüler içeren bir raporu otomatik olarak oluşturur.

Bu öğreticide şunları nasıl yapacağınızı öğreneceksiniz:

  • Eklenmiş ortamınızı ayarlama
  • Veri kaynağınızla ilgili bilgileri depolamak ve raporunuzu özelleştirmek için bir nesne yapılandırma
  • Uygulamanıza veri keşfetme özellikleri eklemek için bu nesneyi API'ye geçirin

Bu deneyimi kullanmak için kullanıcılarınızın Power BI'da oturum açması gerekir.

Veri kaynağınızla ilgili bilgileri depolamak için bir yapılandırma nesnesi kullanacaksınız. Ayrıca, raporunuzun görünümünü ve davranışını özelleştirmek için yapılandırma nesnesini de kullanabilirsiniz. Örneğin, yapılandırma nesnesinde temayı ve konum ayarlarını ayarlayabilirsiniz. Veri kümesini oluşturduğunuzda ve eklediğinizde, bu nesneyi API'ye geçirirsiniz.

Önemli

Ulusal bir bulut için içerik ekliiyorsanız, bu öğreticinin ilk birkaç adımı farklıdır. Ayrıntılar için bkz. Ulusal bulutlar için içerik ekleme.

Önkoşullar

Bu öğreticiye başlamadan önce, aşağıda hem Power BI hem de kod bağımlılıklarının listelendiğini doğrulayın:

  • Power BI bağımlılıkları
  • Kod bağımlılıkları
    • Metin düzenleyicisi
    • PowerShell gibi komut satırı terminali

Yöntem

Aşağıdaki bölümlerde, sık kullandığınız metin düzenleyiciyi kullanarak Power BI içeriğini ekleme ve yapılandırma açıklanmaktadır.

IQuickCreateConfiguration arabirimi, bir yapılandırma nesnesinin oluşturmak istediğiniz veri kümesi hakkında Power BI İstemci API'lerine sağlayabildiği özellikleri görüntüler:

Örnek

interface IQuickCreateConfiguration { 
    type?: "quickCreate"; 
    accessToken: string; 
    settings?: ISettings; 
    tokenType?: TokenType; 
    theme?: IReportTheme; 
    embedUrl?: string; 
    datasetCreateConfig: IDatasetCreateConfiguration; 
    reportCreationMode?: ReportCreationMode; 
    eventHooks?: EventHooks; 
}

QuickCreate için erişim belirteci izni

yalnızcaAAD belirteçlerini destekler. Uygulamanızın aşağıdaki kapsamlara sahip olduğundan emin olun:

  • Content.Create
  • Dataset.ReadWrite.All
  • Report.Read.All
  • Workspace.Read.All

Daha fazla bilgi için bkz. Power BI içeriği eklemek için uygulama kaydetme.

Ekleme Url'si

Bu ekleme biçimine özgü olan bu deneyimin /quickcreateözel bir yolu vardır. Bu deneyim için tipik bir ekleme Url'si şöyle görünür: https://app.powerbi.com/quickcreate

Adım 1.1 - Veri kaynağı olmadan veri kümesi oluşturma

PowerBI, veri kaynağı ayarlayamıyorsanız geliştiricilerin doğrudan Power BI isteğine veri eklemesine izin vermek için basit bir yol sağlar. İsteğin boyutunu 16 MB ile sınırlandırıyoruz. Power BI'ın bağlanabileceği bir veri kaynağı olmadığından veri kümesini oluşturulduktan sonra yenileyemezsiniz.

  1. IDataTable

    IDataTable temelde verilerinizi doldurmanız gereken bir 2B dize dizisi sarmalayıcısıdır. Veriler bir dizi olsa da şimdilik yalnızca 1 veri tablosunu destekliyoruz. Ad sizin tarafınızdan ayarlanabilir, ancak ITableSchema'daki adla eşleşmesi gerekir.

    Power BI'ın verilerinizi doğru biçimde ayrıştırabilmesi için, veri değerleriniz M dil değeri belirtimine göre biçimlendirilmelidir. IQuickCreateConfiguration içinde tanımlanan locale özelliği de değerlerin ayrıştırılması etkiler. Daha fazla bilgi edinmek için bkz. M Dili değerleri - PowerQuery M.

    Verileriniz satırlar halinde geçirilmelidir. Her satır, ITableSchema'da tanımlanan aynı sayıda sütun içermelidir.  

    Not

    Data ve tableSchemaList çiftler halinde gelmelidir.

Örnek

const data: IDataTable = [
    { "name": "MyTableName", 
      "rows": [ 
              ["1", "1", "1991"], 
              ["1", "1", "1991"], 
        ]
    } 
] 

Not

Şu anda name özelliği özelleştirilemiyor, bu nedenle tabloyu adlandıramazsınız. Özelliğin varsayılan adı "Tablo" şeklindedir.

  1. ITableSchema

    Power BI'ın verilerinizi anlaması için tablonun her sütunu için şemayı sağlamanız gerekir. Her sütun şemasının bir adı ve türü olması gerekir. Ad, veri kümesi oluşturulduktan sonra alan listesi adı olarak kullanılır. Tür, M Dili türü belirtiminin bir alt kümesidir. Desteklenen türler DataType'da rahatça listelenmiştir. Daha fazla bilgi edinmek için bkz. M Dil türleri - PowerQuery M.

    Data özelliğine benzer şekilde, tableSchemaList bir dizi olarak tanımlansa da şimdilik yalnızca tek tabloyu destekliyoruz.

    export const enum DataType { 
        Number = "Number", 
        Currency = "Currency", 
        Int32 = "Int32", 
        Percentage = "Percentage", 
        DateTime = "DateTime", 
        DateTimeZone = "DateTimeZone", 
        Date = "Date", 
        Time = "Time", 
        Duration = "Duration", 
        Text = "Text", 
        Logical = "Logical", 
        Binary = "Binary",  
        }
    

    Ad ve dataType'a ek olarak, kullanıcılar her sütun için isteğe bağlı bir özellik aggregateFunction sağlayarak sütunlarda varsayılan toplamayı belirtebilir. Desteklenen toplama işlevlerinin sayısı, AggregateFunction Enum türüne bağlıdır.

Örnek

const tableSchemaList: ITableSchema = [{ 
    name: "MyTableName",  
    columns: [ 
        { 
            name: "createdby", 
            dataType: DataType.Text
             aggregateFunction: 6 // Count 
        }, 
        { 
            name: "createdon", 
            dataType: DataType.DateTime 
        }, 
        { 
            name: "size", 
            dataType: DataType.Number 
        } 
    ]     
}];   
const data: IDataTable = [
    { 
        "name": "MyTableName", 
        "rows": [ 
                ["1", "1", "1991"],
                ["1", "1", "1991"],
        ]
    }
] 
const datasetCreateConfig: IDatasetCreateConfiguration = {
    "modelName": "my model", 
    "locale": "en_US", 
    "tableSchemaList": tableSchemaList,
    "data": data
} 

1.2. Adım - Mevcut veri kaynağınızla veri kümesi oluşturma

IDatasetCreateConfiguration, Power BI'ın veri kümesini nasıl oluşturacağını bilmesini sağlayan bir yapılandırmadır. Buna Mashup belgesi, veri kümesinin yerel ayarı ve Power BI'a veri kaynağınıza nasıl bağlanıldığını bildiren bağlantı bilgileri dahildir.

Karma belge

Karma belgeleri veya M belgeleri,kendi dil belirtimlerine sahiptir. Bu ekleme deneyiminin amaçları doğrultusunda, başlangıç yapmanın en kolay yolu Power BI Desktop'ta seçtiğiniz veri kaynağına bağlanmak ve ardından elde edilen karma sorgusunu sorgu düzenleyicisi görünümünden kopyalamaktır. Ayrıntılar için Power BI Desktop Sorgu Düzenleyicisi belgelerini okuyun.

Örnek

Let Source = Csv.Document(Web.Contents("https://yourdomain.com/sample.csv"), [Delimiter=",", QuoteStyle=QuoteStyle.None]), #"Promoted Headers" = Table.PromoteHeader(Source, [PromoteAllScalars=true]) in #"Promoted Headers";" 

Yukarıdaki kaynak kodu karma belgesine dönüştürmek içinbir bölümü eklemeniz yeterlidir. Bir bölüm şunları içerir:

  • bölüm adı;
  • shared section-member-name = expression;
  • burada ifade karma sorgunuz olur,
  • ve bölüm-üye-adı Power BI'da tablo/varlık adı olarak gösterilir.

Yukarıda sağlanan örnek karma sorgusu için ilgili karma belgesi örneği aşağıda verilmiştir:

"section Section1; shared #"Table" = let Source = Csv.Document(Web.Contents("https://yourdomain.com/sample.csv"), [Delimiter=",", QuoteStyle=QuoteStyle.None]), #"Promoted Headers" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]) in #"Promoted Headers";" 

  Karma belgenizi aldıktan sonra hangi parçaların statik olacağını, hangi parçaların dinamik olacağını ve program aracılığıyla doldurulabileceğini belirleyebilirsiniz. Yukarıdaki örnekte, bazı ayarlanabilir değişkenler, web içeriği etki alanı, sınırlayıcı, tırnak stili ve üst bilgileri yükseltmek isteyip istemediğinize ilişkin bilgiler vardır. Bu nedenle sorgu bir şablona dönüştürülebilir ve kullanıcının o sırada kullandığı verilere bağlı olarak barındırma uygulaması tarafında uygun parametrelerle doldurulabilir.

Yerel ayar

PowerBI, karma belgesini değerlendirmek ve ham veriler sağlandığında değerleri ayrıştırmak için bu yapılandırmada sağlanan yerel ayar bilgilerini kullanır.

Veri kaynağı yapılandırması

Veri kaynağına yetkilendirme

Şu anda yalnızca veri kaynaklarına anonim bağlantıyı destekliyoruz. Bu, Power BI'ın kimlik doğrulaması gerektirmeden veri kaynağınıza bağlanabilmesi gerektiği anlamına gelir.

Not

Verileri doğrudan isteğe eklerseniz dataSourceConnection özelliğini atlamalısınız.

DataCacheMode

Çoğu veri kaynağı için İçeri aktarma modu gereksinimlerinize uygun olmalıdır. Ancak, verilerin hızla değiştiği veya veri kaynaklarının çok büyük olduğu bazı durumlarda DirectQuery modunu da kullanabilirsiniz. Bunun sizin için geçerli olabileceğini düşünüyorsanız Power BIDirectQuery hakkında daha fazla bilgi edinin.

Not

İsteğe ham veri eklerseniz DataCacheMode içeri aktarılmalıdır.

Örnek

const datasetCreateConfig: IDatasetCreateConfiguration = { 
    "modelName": "temp model", 
    "locale": "en_US", 
    "mashupDocument": "section Section1; shared Table = let Source = Csv.Document(Web.Contents(\"https://yourdomain.com/sample.csv\"),[Delimiter=\",\", QuoteStyle=QuoteStyle.None]), #\"Promoted Headers\" = Table.PromoteHeaders(Source, [PromoteAllScalars=true]) in #\"Promoted Headers\";", 
    "dataSourceConnection": { 
        "credentialType": CredentialType.Anonymous, // =1 
        "dataCacheMode": DataCacheMode.Import // =1 
    } 
} 

2. Adım : Veri kümesi oluşturma ve raporu otomatik olarak oluşturma

Artık datasetCreateConfig kümesiyle veri kümesini oluşturmaya ve otomatik olarak oluşturulan bir rapor eklemeye hazırsınız. Bu, rapor eklemede oluşturmanızı sağlayan createReport yöntemine, iframe kapsayıcısında alan quickCreate yöntemine ve raporu eklemenize yardımcı olan quickCreateConfig yöntemine benzer.

Örnek

const powerbi = window.powerbi; 
const iframeContainer = document.getElementById("myIframeContainer"); 
const quickCreateConfig: IQuickCreateConfiguration = { 
    type: "quickCreate", 
    accessToken: "ey.....",  
    tokenType: TokenType.Aad, // Aad token only 
    embedUrl: "https://app.powerbi.com/quickcreate", // see below for generating the embed url 
    datasetCreateConfig: datasetCreateConfig, 
    reportCreationMode: ReportCreationMode.QuickExplore, // QuickExplore for auto-generated visual,    
    settings: { 
        localeSettings: { 
            language: "en_US" // this should match the current locale of your window/product. It will be used to localize the UI. 
        } 
    } 
}; 
const quickCreateReport = powerbi.quickCreate(iframeContainer, quickCreateConfig);