Skip to content

BI Infrastructure Setup: Analysis Models - Power BI

Introduction

This guide provides instructions on setting up IFS Analysis Models - Power BI, where the BI infrastructure is self-hosted by the customer.

Deployment Scenarios

Based on the IFS deployment model and the customer's preferred hosting location for the BI infrastructure, the following deployment scenarios are available in Analysis Models – Power BI.

IFS Cloud HostingBI Infrastructure Hosting
Remote 1Customer Azure Cloud
Cloud 2Customer Azure Cloud

1 IFS Cloud production environment is hosted in a "remote" location of the customer's choosing.

2 IFS Cloud is hosted by IFS and provides Software as a Service (SaaS).

Custom App Owner Schema Configuration

In remote deployments, if a custom App Owner schema name is used instead of the default IFSAPP, it must be explicitly configured during BI infrastructure setup.

Update the ifscloud-values.yaml file with the custom App Owner schema name:

ifscore:
  users:
    ifsappUser:
      data: <APP_OWNER_SCHEMA>

Important

  • The ifsappUser value is used by Analysis Models- Power BI (Self-hosted) to determine the App Owner schema to use during execution.
  • The value specified under ifsappUser.data must match the App Owner schema name in the database.

Read more about Database deploy configuration.

The above is applicable to remote customers with a non-default App Owner schema name. Ensure this is correctly set before BI infrastructure setup or data source import to avoid schema resolution issues.

The main product documentation for Analysis Models - Power BI is here.

Time Estimation for Setup

Note

This should be done by someone comfortable setting up resources in Microsoft Azure.

TaskTime
BI Infrastructure Setup- Script Based
BI Infrastructure Setup- Manual
1-2 hrs
4 hrs
Environment Setup15 mins

Steps

There are two steps in this guide:

image-20231007134351868

Step 1: BI Infrastructure Setup

The necessary resources should be created and the BI Infrastructure setup can be done based on the provided sample script or manually.

App RegistrationAzure Resource ManagementPower BI / Fabric Setup
- Create Service Principal
- Create and Populate Key Vault
- Update Key Vault Secret
- Create a Resource Group
- Set up Azure Artefacts
- Create Customer ADLS
- Create Data Lake Directories
- Configure Remote VM
- Create Fabric Capacity
- Create Power BI Workspaces
- Update Power BI Gateway Name
- Configure Power BI Gateway

Note

The above resource segregation aligns with the Script-Based setup options and applies to the Analysis Models Power BI – Full setup (see Option 3 in the table below).

Setup Options:

  1. Script-based setup
  2. Manual setup

Creating and setting up the required resources can be done based on the solution requirement.

Solution requirementPre-RequisitesRecommended setup ModeResource setupParameters to Configure in the Setup Parameters page
Option 1-
Data Lake only
An Azure SubscriptionManual setup- App Registration:
Create a Service Principal

- Azure Resource Management:
Creating Data Lake Storage Account
*Refer Manual setup
- Datalake Account Name
- Datalake Container
- Tenant ID
- Client ID
- Azure Client secret
- Datapump Flush size
- Write large numbers as zero
- Enable Decimal Rounding
Option 2-
Analysis Models Power BI - Full setup excluding Publish Workflow
An Azure Subscription
Microsoft Fabric subscription
Script-based setup /
Manual setup
All resources:
- App Registration
- Azure Resource Management
- Power BI / Fabric Setup

*Refer to the above table for the listed resources categorized under these main areas.
All of the above parameters must be configured, including the following additional parameters:

- Target Workspaces
- Excluded Workspaces
- Included Workspaces
- Datalake Gateway ID
- Service Principal Object ID
- Datalake AppKey
Embed User Name Claim
- Embed Custom Data Claim
Option 3-
Analysis Models Power BI - Full setup (Including Publish Workflow)
An Azure Subscription
Microsoft Fabric subscription
Script-based setup /
Manual setup
All resources:
- App Registration
- Azure Resource Management
- Power BI / Fabric Setup

*Refer to the above table for the listed resources categorized under these main areas.
All of the above parameters must be configured, including the following additional parameter:

- Golden Workspace ID

Step 2: Environment Setup

Once the artefact creation is completed, connecting to IFS Cloud should be done via the Setup Parameters page.

Refer to the table below for detailed descriptions of each parameter, along with guidance on their appropriate usage based on solution requirements.

Data Lake Solution

When configuring parameters for the Data Lake setup (see Option 1 in the above table), only the values listed below are required.

Parameter NameDescription
Datalake Account NameThis is the Account name related to the Data Lake.
Datalake ContainerThis specifies the Data Lake Container Name.
Tenant IDThis is the Azure Tenant ID.
Client IDThis is the Azure Client ID.
Azure Client SecretThis is the Client secret value.
Datapump Flush SizeThis specifies the count of rows that will be read into memory before being written to disk by datapump.
Note that this can be configured as preferred for each Parquet Data Source as well.
Read more.

If an out of memory exception occurs during loading data, this value can be adjusted accordingly.
Write Large Numbers As ZeroWhen a number exceeds the maximum allowed whole number digits (15) or total significant digits (29) for Parquet files, and this parameter is enabled, the value will be written as 0 instead of reporting an error.
Enable Decimal RoundingWhen a number has more than 18 decimal places, or exceeds 29 total significant digits with decimal places that can be rounded, the value will be rounded if this parameter is enabled instead of reporting an error. Rounded values are logged during Data Source loading.

Analysis Models Power BI + Data Lake Solution

When configuring parameters for Analysis Models in Power BI (see Option 2 or Option 3 in the above table), ensure that below parameters have values.

Parameter NameDescription
Datalake Account NameThis is the Account name related to the Data Lake.
Datalake ContainerThis specifies the Data Lake Container Name.
Tenant IDThis is the Azure Tenant ID.
Client IDThis is the Azure Client ID.
Target WorkspacesThis specifies the Target workspace list mapped to relevant areas.
Excluded WorkspacesThis is the comma separated list of strings to exclude from workspaces being returned for embedding and report editing via Power BI Lobby Element Designer. Multiple comma separated values can be added and it is case insensitive.
Example: Excluded Workspaces = golden. - In this case the applicable workspaces which includes the word 'golden' are excluded (typically, Golden Workspace which includes published IFS Delivered core models). This prevents the access to the respective workspaces from the Power BI Lobby Element Designer and Power BI Report Editor pages.
Included WorkspacesThis is the comma separated list of strings to include in workspaces being returned for embedding and report editing via Power BI Lobby Element Designer. Multiple comma separated values can be added and it is case insensitive.
Example: Included Workspaces = AM_DEV. - In this case the applicable workspaces which includes the word 'AM_DEV' are included. This enables accessing only the respective workspaces from the Power BI Lobby Element Designer and Power BI Report Editor pages.
In case where both the Included Workspaces and Excluded Workspaces parameters have a value, only the values added in Included Workspaces parameter will be considered.
Golden Workspace ID*This specifies the Golden workspace which will be used to publish IFS delivered core models and Download Models.
This parameter is optional. If a Golden Workspace is not created, the parameter is not required.
*Not required if you do not intend to use the Publish Workflow.
Datalake Gateway IDThis is the ID of the relevant Data Lake gateway.
Azure Client SecretThis is the Client secret value.
Service Principal Object IDThis is the Object ID of the Service Principal.
Datalake AppKeyApp Key from the Data Lake account, which is used to bind the gateway.
Datapump Flush SizeThis specifies the count of rows that will be read into memory before being written to disk by datapump.
Note that this can be configured as preferred for each Parquet Data Source as well.
Read more.

If an out of memory exception occurs during loading data, this value can be adjusted accordingly.
Embed User Name ClaimThis is the Name of the claim to be used as the Effective Identity when embedding RLS enabled Power BI reports connected to SQL Server Analysis Services.
(Effective Identity defines the user identity and roles).
Claim types example: email address, UPN
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
Embed Custom Data ClaimThis is the Name of the claim to be used as CustomData when embedding RLS enabled Power BI reports connected to Azure Analysis Services.
Claim types example: email address, UPN
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
Write Large Numbers As ZeroWhen reading a number causes an overflow exception (larger than 28), and when this parameter is enabled, the value will be written to the parquet file as 0.
Enable Decimal RoundingWhen a value exceeds the maximum allowed decimal places supported by Parquet by default (which is 18) or surpasses the maximum precision and has decimal places which can be rounded, it will be rounded if this parameter is set to true. The relevant logs for data source loading will indicate when any rounding occurs.
The setting helps prevent issues in data models in cases where certain tables contain large decimal places. Therefore, it will avoid any exceptions that are thrown when the parameter is set to true. By default, this parameter is turned off.