Skip to main content
Version: 1.1.0

PowerBI Report Server

Incubating

Important Capabilities​

CapabilityStatusNotes
Detect Deleted Entities✅Optionally enabled via stateful_ingestion.remove_stale_metadata
Extract Ownership✅Enabled by default

Use this plugin to connect to PowerBI Report Server. It extracts the following:

Metadata that can be ingested:

  • report name
  • report description
  • ownership(can add existing users in DataHub as owners)
  • transfer folders structure to DataHub as it is in Report Server
  • webUrl to report in Report Server

Due to limits of PBIRS REST API, it's impossible to ingest next data for now:

  • tiles info
  • datasource of report
  • dataset of report

Next types of report can be ingested:

  • PowerBI report(.pbix)
  • Paginated report(.rdl)
  • Linked report

Configuration Notes​

See the

  1. Microsoft Grant user access to a Report Server doc
  2. Use your user credentials from previous step in yaml file

Concept mapping​

Power BI Report ServerDatahub
Paginated ReportDashboard
Power BI ReportDashboard
Mobile ReportDashboard
Linked ReportDashboard
Dataset, DatasourceN/A

CLI based Ingestion​

Starter Recipe​

Check out the following recipe to get started with ingestion! See below for full configuration options.

For general pointers on writing and running a recipe, see our main recipe guide.

source:
type: powerbi-report-server
config:
# Your Power BI Report Server Windows username
username: username
# Your Power BI Report Server Windows password
password: password
# Your Workstation name
workstation_name: workstation_name
# Your Power BI Report Server host URL, example: localhost:80
host_port: host_port
# Your alias for Power BI Report Server host URL, example: local_powerbi_report_server
server_alias: server_alias
# Workspace's dataset environments, example: (PROD, DEV, QA, STAGE)
env: DEV
# Your Power BI Report Server base virtual directory name for reports
report_virtual_directory_name: Reports
# Your Power BI Report Server base virtual directory name for report server
report_server_virtual_directory_name: ReportServer
# Enable/Disable extracting ownership information of Dashboard
extract_ownership: True
# Set ownership type
ownership_type: TECHNICAL_OWNER


sink:
# sink configs

Config Details​

Note that a . is used to denote nested fields in the YAML recipe.

FieldDescription
host_port ✅
string
Power BI Report Server host URL
password ✅
string
Windows account password
report_server_virtual_directory_name ✅
string
Report Server Virtual Directory URL name
report_virtual_directory_name ✅
string
Report Virtual Directory URL name
username ✅
string
Windows account username
extract_ownership
boolean
Whether ownership should be ingested
Default: True
graphql_url
string
[deprecated] Not used
ownership_type
string
Ownership type of owner
Default: NONE
platform_name
string
Default: powerbi
platform_urn
string
Default: urn:li:dataPlatform:powerbi
server_alias
string
Alias for Power BI Report Server host URL
Default:
workstation_name
string
Workstation name
Default: localhost
env
string
The environment that all assets produced by this connector belong to
Default: PROD
chart_pattern
AllowDenyPattern
Default: {'allow': ['.*'], 'deny': [], 'ignoreCase': True}
chart_pattern.ignoreCase
boolean
Whether to ignore case sensitivity during pattern matching.
Default: True
chart_pattern.allow
array
List of regex patterns to include in ingestion
Default: ['.*']
chart_pattern.allow.string
string
chart_pattern.deny
array
List of regex patterns to exclude from ingestion.
Default: []
chart_pattern.deny.string
string
report_pattern
AllowDenyPattern
Default: {'allow': ['.*'], 'deny': [], 'ignoreCase': True}
report_pattern.ignoreCase
boolean
Whether to ignore case sensitivity during pattern matching.
Default: True
report_pattern.allow
array
List of regex patterns to include in ingestion
Default: ['.*']
report_pattern.allow.string
string
report_pattern.deny
array
List of regex patterns to exclude from ingestion.
Default: []
report_pattern.deny.string
string
stateful_ingestion
StatefulIngestionConfig
Stateful Ingestion Config
stateful_ingestion.enabled
boolean
Whether or not to enable stateful ingest. Default: True if a pipeline_name is set and either a datahub-rest sink or datahub_api is specified, otherwise False
Default: False

Code Coordinates​

  • Class Name: datahub.ingestion.source.powerbi_report_server.report_server.PowerBiReportServerDashboardSource
  • Browse on GitHub

Questions

If you've got any questions on configuring ingestion for PowerBI Report Server, feel free to ping us on our Slack.