Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Interfejsy API klienta usługi Power BI umożliwiają szybkie tworzenie interaktywnego raportu i zestawu danych na podstawie danych aplikacji bez konieczności opuszczania aplikacji przez użytkowników. Korzystając z tej biblioteki po stronie klienta, podasz informacje o źródle danych, którego usługa Power BI będzie używać do generowania zestawu danych w usłudze Power BI. W tym samym czasie usługa Power BI automatycznie wygeneruje raport ze szczegółowymi informacjami o danych dla użytkowników, aby eksplorować i dostosowywać je do swoich potrzeb.
Z tego samouczka dowiesz się, jak wykonywać następujące działania:
- Konfigurowanie środowiska osadzonego
- Konfigurowanie obiektu w celu przechowywania informacji o źródle danych i dostosowywania raportu
- Przekaż ten obiekt do interfejsu API, aby dodać możliwości eksploracji danych do aplikacji
Aby korzystać z tego środowiska, użytkownicy będą musieli zalogować się do usługi Power BI.
Użyjesz obiektu konfiguracji do przechowywania informacji o źródle danych. Ponadto można również użyć obiektu konfiguracji, aby dostosować wygląd i zachowanie raportu. Na przykład można dostosować motyw i ustawienia lokalizacji w obiekcie konfiguracji. Podczas tworzenia i osadzania zestawu danych przekazujesz ten obiekt do interfejsu API.
Ważny
Jeśli osadzasz zawartość dla chmury krajowej, kilka pierwszych kroków tego samouczka różni się. Aby uzyskać szczegółowe informacje, zobacz Osadzanie zawartości dla chmur krajowych.
Warunki wstępne
Przed rozpoczęciem tego samouczka sprawdź, czy istnieją zarówno zależności usługi Power BI, jak i kodu wymienione poniżej:
- Zależności usługi Power BI
- Twoja własna dzierżawy usługi Azure Active Directory.
- Jedna z następujących licencji na potrzeby testowania:
- Zależności kodu
- Edytor tekstu
- Terminal wiersza polecenia, taki jak program PowerShell
Metoda
W poniższych sekcjach opisano sposób osadzania i konfigurowania zawartości usługi Power BI przy użyciu ulubionego edytora tekstów.
Interfejs IQuickCreateConfiguration wyświetla właściwości, które obiekt konfiguracji może dostarczyć do interfejsów API klienta usługi Power BI dotyczących zestawu danych, który chcesz utworzyć:
Przykład
interface IQuickCreateConfiguration {
type?: "quickCreate";
accessToken: string;
settings?: ISettings;
tokenType?: TokenType;
theme?: IReportTheme;
embedUrl?: string;
datasetCreateConfig: IDatasetCreateConfiguration;
reportCreationMode?: ReportCreationMode;
eventHooks?: EventHooks;
}
Uprawnienie tokenu dostępu do szybkiego tworzenia
QuickCreate obsługuje tylko tokeny usługi AAD . Upewnij się, że aplikacja ma następujące zakresy:
Content.CreateDataset.ReadWrite.AllReport.Read.AllWorkspace.Read.All
Aby uzyskać więcej informacji, zobacz Rejestrowanie aplikacji w celu osadzania zawartości usługi Power BI.
Adres URL osadzania
Unikatowe dla tej formy osadzania to środowisko ma specjalną trasę /quickcreate. Typowy adres URL osadzania dla tego środowiska wygląda następująco: https://app.powerbi.com/quickcreate
Krok 1.1. Tworzenie zestawu danych bez źródła danych
Usługa Power BI umożliwia deweloperom dołączanie danych bezpośrednio do żądania do usługi Power BI, jeśli nie możesz skonfigurować źródła danych. Ograniczamy rozmiar żądania do 16 MB. Należy pamiętać, że ponieważ nie ma źródła danych do nawiązania połączenia z usługą Power BI, nie można odświeżyć zestawu danych po utworzeniu.
IDataTable
IDataTable to zasadniczo otoka tablicy ciągów 2D, w której należy wypełnić dane. Chociaż dane są tablicą, obecnie obsługujemy tylko 1 tabelę danych. Nazwa może być ustawiana przez Ciebie, ale musi być zgodna z nazwą w tabeli ITableSchema.
Aby usługa Power BI analizować dane w poprawnym formacie, wartości danych powinny być sformatowane zgodnie ze specyfikacją wartości języka M. Właściwość ustawień regionalnych zdefiniowana w kodzie IQuickCreateConfiguration ma również wpływ na analizowanie wartości. Aby dowiedzieć się więcej, zobacz wartości języka M — PowerQuery M.
Dane powinny być przekazywane w wierszach. Każdy wiersz powinien zawierać taką samą liczbę kolumn zdefiniowanych w tabeli ITableSchema.
Nuta
Dane i tabelaSchemaList muszą znajdować się w parach.
Przykład
const data: IDataTable = [
{ "name": "MyTableName",
"rows": [
["1", "1", "1991"],
["1", "1", "1991"],
]
}
]
Nuta
Obecnie nie można dostosować właściwości name, więc nie można nazwać tabeli. Domyślną nazwą właściwości jest "Tabela".
ITableSchema
Aby usługa Power BI zrozumiała dane, należy podać schemat dla każdej kolumny tabeli. Każdy schemat kolumny musi mieć nazwę i typ. Nazwa będzie używana jako nazwa listy pól po utworzeniu zestawu danych. Typ jest podzbiorem specyfikacji typu języka M. Obsługiwane typy są wygodnie wyświetlane w obszarze DataType. Zobacz M Language types — PowerQuery M, aby dowiedzieć się więcej.
Podobnie jak właściwość danych, chociaż
tableSchemaListjest zdefiniowana jako tablica, obecnie obsługujemy tylko jedną tabelę.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", }Oprócz nazwy i typu danych użytkownicy mogą określać domyślną agregację kolumn, podając opcjonalną właściwość
aggregateFunctiondla każdej kolumny. Liczba obsługiwanych funkcji agregujących jest oparta na typie AggregateFunction Enum.
Przykład
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
}
Krok 1.2. Tworzenie zestawu danych przy użyciu istniejącego źródła danych
IDatasetCreateConfiguration to konfiguracja umożliwiająca usłudze Power BI poznanie sposobu tworzenia zestawu danych. Obejmuje to dokument Mashup, ustawienia regionalne zestawu danych oraz informacje o połączeniu, które informują usługę Power BI, jak nawiązać połączenie ze źródłem danych.
Dokument mashupu
Dokumenty mashupu lub dokumenty M mają własne specyfikacje języka . Na potrzeby tego środowiska osadzania najprostszym sposobem rozpoczęcia jest nawiązanie połączenia ze źródłem danych wybranego w programie Power BI Desktop, a następnie skopiowanie wynikowego zapytania mashup z widoku edytora zapytań. Aby uzyskać szczegółowe informacje, przeczytaj dokumentację edytora zapytań dla programu Power BI Desktop.
Przykład
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";"
Aby przekształcić powyższy kod źródłowy w dokument mashup, wystarczy dodać sekcję . Sekcja zawiera:
- nazwa-sekcji;
- shared section-member-name = expression;
- gdzie wyrażenie będzie zapytaniem mashup,
- nazwa-składowa sekcji będzie wyświetlana w usłudze Power BI jako nazwa tabeli/jednostki.
W przypadku przykładowego zapytania mashup podanego powyżej poniżej znajduje się odpowiedni przykład dokumentu mashup:
"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";"
Po utworzeniu dokumentu mashup możesz określić, które części będą statyczne i które części będą dynamiczne i mogą być wypełniane programowo. W powyższym przykładzie mamy pewne zmienne regulowane, domenę zawartości internetowej, ogranicznik, styl cudzysłowu i, jeśli chcesz podwyższyć poziom nagłówków lub nie. W związku z tym zapytanie można przekształcić w szablon i wypełnić je odpowiednimi parametrami po stronie aplikacji hostingu, w zależności od danych, które użytkownik zużywa w tym czasie.
Ustawień regionalnych
Usługa PowerBI użyje informacji dotyczących ustawień regionalnych podanych w tej konfiguracji, aby ocenić dokument mashup i przeanalizować wartości, jeśli podano nieprzetworzone dane.
Konfiguracja źródła danych
Autoryzacja do źródła danych
Obecnie obsługujemy tylko anonimowe połączenie ze źródłami danych. Oznacza to, że usługa Power BI musi mieć możliwość nawiązania połączenia ze źródłem danych bez konieczności uwierzytelniania.
Nuta
Jeśli dane są uwzględniane bezpośrednio w żądaniu, należy pominąć właściwość dataSourceConnection.
DataCacheMode
W przypadku większości źródeł danych tryb importu powinien odpowiadać Twoim potrzebom. Jednak w niektórych przypadkach, gdy dane zmieniają się szybko lub gdy źródła danych są bardzo duże, można również użyć trybu DirectQuery. Jeśli uważasz, że może to dotyczyć Ciebie, przeczytaj więcej na temat trybu DirectQuery w usłudze Power BI.
Nuta
W przypadku uwzględnienia danych pierwotnych w żądaniu należy zaimportować moduł DataCacheMode.
Próbka
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
}
}
Krok 2. Tworzenie zestawu danych i automatycznego generowania raportu
Teraz po ustawieniu datasetCreateConfig możesz wygenerować zestaw danych i osadzić raport generowany automatycznie. Jest to podobne do metody createReport, która umożliwia tworzenie w osadzeniu raportu, metodę quickCreate, która przyjmuje kontener iframe, oraz metodę quickCreateConfig, która ułatwia osadzanie raportu.
Przykład
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);