Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
API клиента Power BI позволяют быстро создавать интерактивный отчет и набор данных из данных приложения без необходимости покидать приложение. Используя эту клиентскую библиотеку, вы предоставите сведения об источнике данных, который Power BI будет использовать для создания набора данных в службе Power BI. В то же время Power BI автоматически создает отчет с аналитическими сведениями о данных, которые пользователи могут изучать и настраивать в соответствии с потребностями.
В этом руководстве описано, как:
- Настройка внедренной среды
- Настройка объекта для хранения сведений о источнике данных и настройка отчета
- Передайте этот объект в API для добавления возможностей изучения данных в приложение.
Чтобы использовать этот интерфейс, пользователям потребуется войти в Power BI.
Вы будете использовать объект конфигурации для хранения сведений о источнике данных. Кроме того, можно также использовать объект конфигурации для настройки внешнего вида и поведения отчета. Например, можно настроить тему и параметры расположения в объекте конфигурации. При создании и внедрении набора данных этот объект передается в API.
Важный
Если вы внедряете содержимое для национального облака, первые несколько шагов этого руководства отличаются. Дополнительные сведения см. в статье Внедрение содержимого для национальных облаков.
Необходимые условия
Прежде чем приступить к работе с этим руководством, убедитесь, что у вас есть зависимости Power BI и код, перечисленные ниже:
- Зависимости Power BI
- Собственный клиента Azure Active Directory.
- Одна из следующих лицензий для тестирования:
- Power BI Free
- Power BI Pro
- Premium на пользователя (PPU)
- Зависимости кода
- Текстовый редактор
- Терминал командной строки, например PowerShell
Метод
В следующих разделах объясняется, как внедрить и настроить содержимое Power BI с помощью избранного текстового редактора.
Интерфейс IQuickCreateConfiguration отображает свойства, которые объект конфигурации может предоставить API клиента Power BI для набора данных, который требуется создать:
Пример
interface IQuickCreateConfiguration {
type?: "quickCreate";
accessToken: string;
settings?: ISettings;
tokenType?: TokenType;
theme?: IReportTheme;
embedUrl?: string;
datasetCreateConfig: IDatasetCreateConfiguration;
reportCreationMode?: ReportCreationMode;
eventHooks?: EventHooks;
}
Разрешение маркера доступа для QuickCreate
QuickCreate поддерживает только маркеры AAD. Убедитесь, что приложение имеет следующие области:
Content.CreateDataset.ReadWrite.AllReport.Read.AllWorkspace.Read.All
Дополнительные сведения см. в статье Регистрация приложения для внедрения содержимого Power BI.
URL-адрес внедрения
Уникальный для этой формы внедрения, этот интерфейс имеет специальный маршрут /quickcreate. Типичный URL-адрес внедрения для этого интерфейса выглядит следующим образом: https://app.powerbi.com/quickcreate
Шаг 1.1. Создание набора данных без источника данных
PowerBI позволяет разработчикам включать данные непосредственно в запрос к Power BI, если вы не можете настроить источник данных. Мы ограничиваем размер запроса до 16 МБ. Обратите внимание, что из-за отсутствия источника данных для подключения к Power BI невозможно обновить набор данных после создания.
IDataTable
IDataTable — это по сути оболочка массива строк 2D, в котором необходимо заполнить данные. Хотя данные являются массивом, мы поддерживаем только 1 таблицу данных. Имя может быть задано вами, но оно должно соответствовать имени в ITableSchema.
Чтобы Power BI анализировать данные в правильном формате, значения данных должны быть отформатированы после спецификации значения языка M. Свойство языкового стандарта, определенное в IQuickCreateConfiguration, также влияет на анализ значений. Дополнительные сведения см. в разделе значения языка M — PowerQuery M.
Данные должны передаваться в строках. Каждая строка должна содержать одинаковое количество столбцов, определенных в ITableSchema.
Заметка
Данные и таблицаSchemaList должны находиться в парах.
Пример
const data: IDataTable = [
{ "name": "MyTableName",
"rows": [
["1", "1", "1991"],
["1", "1", "1991"],
]
}
]
Заметка
В настоящее время невозможно настроить свойство name, поэтому нельзя назвать таблицу. Имя свойства по умолчанию — Table.
ITableSchema
Для понимания данных Power BI необходимо указать схему для каждого столбца таблицы. Каждая схема столбцов должна иметь имя и тип. Имя будет использоваться в качестве имени списка полей после создания набора данных. Тип — это подмножество спецификации типа языка M. Поддерживаемые типы удобно перечислены в DataType. Дополнительные сведения см. в разделе Типы языков M — PowerQuery M.
Как и свойство данных, хотя
tableSchemaListопределен как массив, мы поддерживаем только одну таблицу.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", }Помимо имени и dataType пользователи могут указывать агрегирование по умолчанию для столбцов, предоставляя необязательное свойство
aggregateFunctionдля каждого столбца. Число поддерживаемых агрегатных функций основано на типе AggregateFunction Enum.
Пример
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. Создание набора данных с существующим источником данных
IDatasetCreateConfiguration — это конфигурация, которая позволяет Power BI знать, как создать набор данных. К ним относятся документ Mashup, языковой стандарт набора данных и сведения о подключении, которые сообщают Power BI, как подключиться к источнику данных.
Документ Mashup
Документы Mashup или документы M имеют собственные языковые спецификации. В целях этого интерфейса внедрения самый простой способ начать — подключиться к источнику данных в Power BI Desktop, а затем скопировать полученный запрос mashup из представления редактора запросов. Дополнительные сведения см. в документации по редактору запросов
Пример
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";"
Чтобы превратить исходный код выше в документ mashup, просто необходимо добавить раздел . В разделе содержится следующее:
- имя раздела;
- shared section-member-name = expression;
- где выражение будет вашим запросом на mashup,
- и имя-член раздела будет отображаться в Power BI в виде имени таблицы или сущности.
Для примера запроса mashup, указанного выше, ниже приведен соответствующий пример документа 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";"
После создания документа mashup можно определить, какие части будут статическими и какие части будут динамическими и могут быть заполнены программным способом. В приведенном выше примере у нас есть некоторые настраиваемые переменные, домен веб-содержимого, разделитель, стиль кавычки и, если вы хотите повысить уровень заголовков или нет. Таким образом, запрос можно превратить в шаблон и заполнить соответствующими параметрами на стороне приложения размещения в зависимости от данных, которые пользователь использует в то время.
Место действия
PowerBI будет использовать сведения о языковом стандарте, предоставленные в этой конфигурации, для оценки документа mashup и синтаксического анализа значений, если предоставляются необработанные данные.
Конфигурация источника данных
Авторизация в источнике данных
В настоящее время мы поддерживаем только анонимное подключение к источникам данных. Это означает, что Power BI должна иметь возможность подключаться к источнику данных без необходимости проверки подлинности.
Заметка
Если вы включаете данные непосредственно в запрос, следует опустить свойство dataSourceConnection.
DataCacheMode
Для большинства источников данных режим импорта должен соответствовать вашим потребностям. Однако в некоторых случаях, когда данные изменяются быстро или когда источники данных очень большие, можно также использовать режим DirectQuery. Если вы думаете, что это может применяться к вам, ознакомьтесь с дополнительными сведениями о DirectQuery в Power BI.
Заметка
Если в запрос включены необработанные данные, необходимо импортировать DataCacheMode.
Образец
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. Создание набора данных и автоматического создания отчета
Теперь с набором datasetCreateConfig вы готовы создать набор данных и внедрить автоматически созданный отчет. Это аналогично методу createReport, который позволяет создавать в отчете внедрение, метод quickCreate, который принимается в контейнере iframe, и метод quickCreateConfig, который помогает внедрить отчет.
Пример
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);
Связанное содержимое
- Понимание различных решений внедрения
- Внедрение отчета в встроенной аналитики Power BI