Skip to main content Skip to complementary content

Microsoft Azure Analysis Services (SSAS) - Import

Availability-note AWS

Bridge Requirements

This bridge:
  • requires Internet access to https://repo.maven.apache.org/maven2/ and/or other tool sites to download drivers into <TDC_HOME>/data/download/MIMB/.

  • is only supported on Microsoft Windows.

  • requires the tool to be installed to access its SDK.

Bridge Specifications

Vendor Microsoft
Tool Name Azure Analysis Services (SSAS)
Tool Version 9.0 (2005) to 15.x (2019)
Tool Web Site https://azure.microsoft.com/en-us/services/analysis-services/
Supported Methodology [Business Intelligence] Metadata Repository, Data Store (Physical Data Model, OLAP Dimensional Model, Stored Procedure Expression Parsing), BI Design (RDBMS Source, OLAP Source, Dimensional Target, Transformation Lineage, Expression Parsing) via .Net API
Data Profiling
Incremental Harvesting
Multi-Model Harvesting
Remote Repository Browsing for Model Selection

SPECIFICATIONS
Tool: Microsoft / Azure Analysis Services (SSAS) version 9.0 (2005) to 15.x (2019) via .Net API
See https://azure.microsoft.com/en-us/services/analysis-services/
Metadata: [Business Intelligence] Metadata Repository, Data Store (Physical Data Model, OLAP Dimensional Model, Stored Procedure Expression Parsing), BI Design (RDBMS Source, OLAP Source, Dimensional Target, Transformation Lineage, Expression Parsing)
Component: MicrosoftSqlServerRepositoryAsImport.MicrosoftAzureAnalysisServices version 11.2.0

DISCLAIMER
This import bridge requires internet access to download third-party libraries:
- such as https://repo.maven.apache.org/maven2/ to download open source third-party libraries,
- and more sites for other third-party software such as database specific JDBC drivers.

The downloaded third-party libraries are stored into $HOME/data/download/MIMB/
- If HTTPS fails, the import bridge then tries with HTTP.
- If a proxy is used to access internet, you must configure that proxy in the JRE (see the -j option in the Miscellaneous parameter).
- If the import bridge does not have full access to internet, that $HOME/data/download/MIMB/ directory can be copied from another server with internet access where the command $HOME/bin/MIMB.sh (or .bat) -d can be used to download all third-party libraries used by all bridges at once.

By running this import bridge, you hereby acknowledge responsibility for the license terms and any potential security vulnerabilities from these downloaded third-party software libraries.

OVERVIEW
This bridge imports Business Intelligence (BI) reporting metadata from Microsoft SQL Server Analysis Services (SSAS), including the analysis databases (OLAP Models) and Analysis Management Objects (AMO).
Bridge supports Analysis Services Tabular, Multidimensional and Azure Tabular models.

REQUIREMENTS
This bridge connects to the SQL Server Repository using the Analysis Services Management Objects (AMO). AMO client libraries are available as installable packages from NuGet.org and the bridge loads it automatically with Miscellaneous -d. You have to install these components with first running.

This bridge uses Windows Authentication to connect to Analysis Services by default. Please be sure the application is logged into Windows Domain as a User which has appropriate rights to the objects you wish to import when 'User' option is empty.

AUTHORIZATION
User role must have at least "Read definition" permissions on SSAS database
Use one of the following authentication methods based on the User and Secret parameter values:

- Microsoft SQL Server application credentials:
User = Application user
Secret = Application password

- Microsoft Azure Key Vault secret:
User = Application user (e.g. user@mail.com) added as "Analysis Services Server Admin" on target server.
Secret = Secret@VaultURL
For more information, see https://docs.microsoft.com/en-us/azure/key-vault/

- Microsoft Azure Secret credentials:
User = ClientID@TenantID
Secret = ClientSecret
For more information, see https://docs.microsoft.com/en-us/azure/key-vault/secrets/

- Microsoft Azure Temporary credentials (Externally MM managed cloud identity):
User = ""
Secret = ""
This is the first authorization method tried by default when both above parameters are empty.
For more information, see your Metadata Management (MM) / Data Catalog / Data Governance application documentation on managing cloud identity for metadata harvesting.

- Microsoft Azure Managed Service Identity (MSI):
User = ""
Secret = ""
This is the second authorization method tried by default when both above parameters are empty, however this authorization method can be forced with:
Miscellaneous = -auth.msi
For more information, see https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources

- Microsoft Windows Integrated Security:
User = ""
Secret = ""
This is the third authorization method tried by default when both above parameters are empty, however this authorization method can be forced with:
Miscellaneous = -auth.integrated

FREQUENTLY ASKED QUESTIONS
n/a

LIMITATIONS
Refer to the current general known limitations at https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.html

SUPPORT
Provide a troubleshooting package with:
- the debug log (can be set in the UI or in conf/conf.properties with MIR_LOG_LEVEL=6)
- the metadata backup if available (can be set in the Miscellaneous parameter with option -backup)

In order to provide a complete set of source metadata to reproduce any SSAS issue, provide the exported Analysis Databases (XMLA) files.


Bridge Parameters

Parameter Name Description Type Values Default Scope
Analysis Server instance Analysis server instance to connect to (e.g. hostname or hostname\\instance). Keep empty if reports do not source from Analysis Server databases. STRING     Mandatory
Database SQL Server Analysis Service Project name to be imported (e.g. "/Adventure Works DW Standard Edition").
For Azure put model name (e.g. /TabularProject).
REPOSITORY_MODEL     Mandatory
User The User value can be a user name, a client id, or others (it can even be empty) depending on the authorization method.
Refer to the AUTHORIZATION section of this bridge's main documentation.
STRING      
Secret The Secret value can be a password, a secret id, or others (it can even be empty) depending on the authorization method.
Refer to the AUTHORIZATION section of this bridge's main documentation.
PASSWORD      
Miscellaneous MODEL IMPORT OPTIONS
-backup <directory>

Full path of an empty directory to save the metadata input files for further troubleshooting.

DATA CONNECTION OPTIONS
Data Connections are produced by the import bridges typically from ETL/DI and BI tools to refer to the source and target data stores they use. These data connections are then used by metadata management tools to connect them (metadata stitching) to their actual data stores (e.g. databases, file system, etc.) in order to produce the full end to end data flow lineage and impact analysis. The name of each data connection is unique by import model. The data connection names used within DI/BI design tools are used when possible, otherwise connection names are generated to be short but meaningful such as the database / schema name, the file system path, or Uniform Resource Identifier (URI). The following option allows to manipulate connections. These options replaces the legacy options -c, -cd, and -cs.

-connection.cast ConnectionName=ConnectionType

Casts a generic database connection (e.g. ODBC/JDBC) to a precise database type (e.g. ORACLE) for SQL Parsing, e.g.
-connection.cast "My Database"="SQL SERVER".
The list of supported data store connection types includes:
ACCESS
CASSANDRA
DB2
DENODO
HIVE
MYSQL
NETEZZA
ORACLE
POSTGRESQL
PRESTO
REDSHIFT
SALESFORCE
SAP HANA
SNOWFLAKE
SQL SERVER
SYBASE
TERADATA
VECTORWISE
VERTICA

-connection.rename OldConnection=NewConnection

Renames an existing connection to a new name, e.g.
-connection.rename OldConnectionName=NewConnectionName
Multiple existing database connections can be renamed and merged into one new database connection, e.g.
-connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase

-connection.split OldConnection.Schema1=NewConnection

Splits a database connection into one or multiple database connections.
A single database connection can be split into one connection per schema, e.g.
-connection.split MyDatabase
All database connections can be split into one connection per schema, e.g.
-connection.split *
A database connection can be explicitly split creating a new database connection by appending a schema name to a database, e.g.
-connection.split MyDatabase.schema1=MySchema1

-connection.casesensitive ConnectionName

Overrides the default case insensitive matching rules for the object identifiers inside the specified connection, provided the detected type of the data store by itself supports this configuration (e.g. Microsoft SQL Server, MySql etc.), e.g.
-connection.casesensitive "My Database"

ANALYSIS SERVER OPTIONS
-library.packageId

Specify packageId for NuGet package with Microsoft.AnalysisServices.dll.
Default value is "Microsoft.AnalysisServices.retail.amd64".

-library.version

Specify version for NuGet package with Microsoft.AnalysisServices.dll.
Default value is "19.20.1".

-library.filter

Specify filter for DLLs inside NuGet package. Result must include "Microsoft.AnalysisServices.dll".
Default value is "/lib/net45/".

-connection.embedded

Enables processing for embedded data sources.
An embedded data source, also known as a report-specific data source, is a data connection that is saved in the report definition. Embedded data source connection information can be used only by the report in which it is embedded.

-d

Specify to download NuGet packages if missing. Cache on first download, then reuse.

-cache.clear

Clears the cache before the import, and therefore will run a full import without incremental harvesting.
STRING      

 

Bridge Mapping

Meta Integration Repository (MIR)
Metamodel
(based on the OMG CWM standard)
"Microsoft Azure Analysis Services (SSAS)"
Metamodel
MicrosoftSqlServerXMLA
Mapping Comments
     
AggregationRule AggregateFunction A string defined in the measure
Rule Value  
Cube Cube  
Description Description  
Name Name  
NativeId ID  
PhysicalName Name  
CubeDimensionAssociation   Defined by containment relationship between Cube and Dimension
Dimension Dimension  
Description Description  
Hide visible  
Name Name  
NativeId ID  
NativeType Type  
PhysicalName Name  
DimensionAttribute DimensionAttribute  
Description Description  
Name Name  
NativeId ID  
PhysicalName Name  
Hierarchy Hierarchy  
Description Description  
Name Name  
NativeId ID  
PhysicalName Name  
HierarchyLevelAssociation   Defined by containment relationship between hierarchy and level
Join Relationship Defined by DataSourceView
Description Description  
Name Name  
NativeId ID  
Type Type  
JoinRole   Defined by the relationship
Level Level  
Description Description  
Name Name  
NativeId ID  
NativeType Type  
PhysicalName Name  
LevelAssociation   Defined by the contiainment between Level and Attribute
LevelAttribute DimensionAttribute Contained by a Level
Description Description  
Name Name  
NativeId ID  
Optional Usage (Attribute)  
PhysicalName Name  
LevelKey ValueColumn  
Description Description  
Name Name  
NativeId ID  
NativeType Type  
PhysicalName Name  
Measure Measure  
DefaultAggregation AggregationString  
Description Description  
Hide visible  
Name Name  
NativeId ID  
NativeType Type  
PhysicalName Name  

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!