В современном мире, управляемом данными, предприятия все чаще полагаются на мощные инструменты визуализации данных для принятия обоснованных решений и получения ценной информации. Power BI, ведущая платформа бизнес-аналитики, разработанная Microsoft, предлагает комплексный набор инструментов для анализа данных. В сочетании с Angular, популярной инфраструктурой JavaScript для создания динамических веб-приложений, он создает простой и эффективный способ отображения данных и взаимодействия с ними в режиме реального времени. В этом сообщении блога мы рассмотрим процесс интеграции Power BI с Angular, чтобы раскрыть истинный потенциал визуализации и анализа данных.

Предпосылки:

  1. Учетная запись Power BI: зарегистрируйте учетную запись Power BI, если вы еще этого не сделали, чтобы получить доступ к службе Power BI и получить необходимые учетные данные для интеграции с Angular.
  2. Node.js и npm: установите Node.js и npm (диспетчер пакетов Node) для управления зависимостями и создания приложений Angular.

Шаг 1: Создайте проект Angular Для начала создайте новый проект Angular с помощью интерфейса командной строки Angular. Откройте терминал или командную строку и выполните следующие команды:

# Install Angular CLI globally (if not already installed)
npm install -g @angular/cli

# Create a new Angular project
ng new power-bi-angular-integration
cd power-bi-angular-integration

Шаг 2. Установите API JavaScript для Power BI

Затем нам нужно установить API JavaScript Power BI, который позволяет нам взаимодействовать с отчетами и панелями мониторинга Power BI. Установите клиентскую библиотеку Power BI с помощью npm.
Примечание. Я работал с версией 3.0.5 powerbi-client-angular

npm install powerbi-client-angular

Шаг 3. Импортируйте PowerBIEmbedModule. Для этого откройте файл app.module.ts и добавьте следующий код:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { PowerBIEmbedModule } from 'powerbi-client-angular';

@NgModule({
  imports: [
    BrowserModule,
    PowerBIEmbedModule
 ],
  exports:[],
  bootstrap: []
})
export class AppModule { }

Шаг 4. Встраивание отчета Power BI На этом шаге предположим, что у вас есть отчет Power BI, опубликованный в службе Power BI, который вы хотите внедрить в свое приложение Angular. Мы создадим новый компонент в Angular для встраивания отчета Power BI. Для этого откройте файл app.component.ts и добавьте следующий код:

Примечание. Возможно, вам потребуется вызвать один API, чтобы получить «ваш токен», «ваш reportId» и «ваш embedUrl»

import { Component, OnInit, ViewChild } from '@angular/core';
import { PowerBIReportEmbedComponent } from 'powerbi-client-angular';
import { IReportEmbedConfiguration, models, service, Embed } from 'powerbi-client';

@Component({
  selector: 'app-component',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent implements OnInit {
  reportConfig: IReportEmbedConfiguration = {
    type: 'report',
    embedUrl: '',
    tokenType: models.TokenType.Embed,
    accessToken: '',
    settings: undefined,
  };
  @ViewChild(PowerBIReportEmbedComponent)
  reportObj!: PowerBIReportEmbedComponent;
  eventHandlersMap = new Map([
    [
      'loaded',
      () => {
        const report = this.reportObj.getReport();
        report.setComponentTitle('Embedded report');
      },
    ],
    ['rendered', () => console.log('Report has rendered')],
    [
      'error',
      (event?: service.ICustomEvent<any>) => {
        if (event) {
          console.error(event.detail);
        }
      },
    ],
    ['visualClicked', () => console.log('visual clicked')],
    ['pageChanged', (event) => ''],
  ]) as Map<
    string,
    (event?: service.ICustomEvent<any>, embeddedEntity?: Embed) => void | null
  >;

  constructor() {}

  ngOnInit() {
    this.embedReport();
  }

  embedReport(){
     this.reportConfig = {
        ...this.reportConfig,
         accessToken: 'your token',
         id: 'your reportId',
         embedUrl: 'your embedUrl',
      };
  }

}

Шаг 5. Добавьте компонент отчета Power BI в приложение

На этом этапе мы добавим селектор PowerBiReport в HTML-код компонента приложения. Откройте app.component.html и добавьте следующее:

<powerbi-report [embedConfig]="reportConfig" [cssClassName]="'report-container'"
[phaseEmbedding]="false" [eventHandlers]="eventHandlersMap"></powerbi-report>

Шаг 6: Тестирование интеграции Наконец, пришло время протестировать интеграцию. Запустите сервер разработки Angular:

ng serve

Откройте http://localhost:4200 в своем браузере, и вы должны увидеть встроенный отчет Power BI в своем приложении Angular.

Вывод: интеграция Power BI с Angular предлагает мощный способ отображения и взаимодействия с данными в веб-приложении. В этом сообщении блога мы рассмотрели основные шаги по интеграции отчетов Power BI с компонентами Angular.

Спасибо за прочтение!!!!!!