Skip to content

Commit

Permalink
Merge branch 'sql-bi:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
fhtino authored Jul 21, 2024
2 parents 6186a94 + 7981a33 commit 28aaac2
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 10 deletions.
68 changes: 68 additions & 0 deletions _mydocs/vertipaq-analyzer/command-line-tool.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
layout: page
title: VPAX command line tool
published: true
order: /
---
**Dax.Vpax.CLI** is a command-line tool developed in .NET and distributed as a [dotnet tool](https://learn.microsoft.com/en-us/dotnet/core/tools/global-tools).

The tool is open-source; its source code is available in the [VertiPaq-Analyzer repository](https://github.com/sql-bi/vertiPaq-Analyzer/).

The tool's primary goal is to simplify the use of VPAX libraries directly from the command line and seamlessly integrate VertiPaq-Analyzer into DevOps pipelines for automated VPAX file extraction and management.

# Install the VPAX command line tool
The tool is available on NuGet at [Dax.Vpax.CLI](https://www.nuget.org/packages/Dax.Vpax.CLI) and it is compatible with Windows and Linux.

It can be installed using the following command:
```
dotnet tool install Dax.Vpax.CLI --global
```
Once installed, the tool can be invoked by typing ```vpax``` in the command line. To get information about the available features and parameters, run ```vpax –-help```.

# Automation in DevOps pipelines
You can automate the extraction of VPAX files from a Tabular model using the VPAX command line tool in Azure DevOps pipelines

The following YAML script demonstrates how to install the VPAX tool and extract a VPAX file from a Tabular model:

```YAML
trigger: none
pr: none

pool:
vmImage: windows-latest

steps:
#
# Download and install the VertiPaq-Analyzer .NET tool from NuGet.
# See https://www.nuget.org/packages/Dax.Vpax.CLI
#

- script: dotnet tool install Dax.Vpax.CLI --global
displayName: install vpax tool
#
# Extract and export model metadata to a VPAX file
#
# Arguments:
# <path> Path to write the VPAX file
# <connection-string> Connection string to the tabular model
#
# Use `vpax export -?` to learn more about the available options.
#

- script: vpax export "%VPAX_PATH%" "%TABULAR_CONNECTION_STRING%"
displayName: export vpax
env:
# Secret variable that holds the connection string.
# For more information on how enable Service Principal access to a Power BI workspace in dedicated capacity see the link below.
# https://blog.tabulareditor.com/2020/06/02/service-principal-access-to-dedicated-capacity-xmla-endpoint
# https://learn.microsoft.com/en-us/power-bi/enterprise/service-premium-service-principal
TABULAR_CONNECTION_STRING: $(TabularConnectionString)

# Variable that holds path where the VPAX file will be extracted.
# Using $(Build.BuildId) ensures a unique file name for each build.
VPAX_PATH: $(Build.StagingDirectory)\contoso-$(Build.BuildId).vpax
```
For more information on how to enable Service Principal access to a Power BI workspace in a dedicated capacity:
- [Service Principal access to dedicated capacity XMLA endpoint](https://blog.tabulareditor.com/2020/06/02/service-principal-access-to-dedicated-capacity-xmla-endpoint)
- [Automate Premium workspace and semantic model tasks with service principals](https://learn.microsoft.com/en-us/power-bi/enterprise/service-premium-service-principal)
19 changes: 9 additions & 10 deletions _mydocs/vertipaq-analyzer/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,20 @@ title: VertiPaq Analyzer
published: true
order: /vertipaq-analyzer
---
VertiPaq Analyzer is a set of open-source libraries to represent statistical information related to Tabular models.
VertiPaq Analyzer is a set of open-source libraries designed to represent statistical information related to Tabular models. They use a file format (VPAX) to persist extracted information. The purpose of the VPAX file is to easily transfer statistical information extracted from a Tabular model (also known as the semantic model in Power BI).

The VertiPaq Analyzer libraries are integrated in several tools and use a file format (VPAX) to transfer information extracted from a Tabular model.
The VertiPaq Analyzer libraries are published as NuGet packages and are integrated into several tools, including a command line tool (CLI) designed for streamlined management and automation within DevOps pipelines.

## VertiPaq Analyzer Libraries

The VertiPaq Analyzer libraries source code is available in the [VertiPaq-Analyzer GitHub repository](https://github.com/sql-bi/VertiPaq-Analyzer). Each module has a corresponding NuGet package:
- **[Dax.Metadata](https://www.nuget.org/packages/Dax.Metadata/)** is a representation of the Tabular model including additional information from DMV and statistics about data distribution in the model. This is a .NET Standard library without dependencies on the Tabular Object Model (TOM). Dax.Metadata is the core of VertiPaq Analyzer and includes all the information about the data model in a format that will allow a complete anonymization of the data model in a future release.
- **[Dax.Model.Extractor](https://www.nuget.org/packages/Dax.Model.Extractor/)** populates the Dax.Metadata.Model extracting data from a Tabular model. This library depends on TOM and .NET Framework 2.7.1.
- **[Dax.Model.Extractor.NetCore](https://www.nuget.org/packages/Dax.Model.Extractor.NetCore/)** is the .NET Core version of Dax.Model.Extractor and depends on the .NET Core version of TOM.
- **[Dax.Model.Extractor](https://www.nuget.org/packages/Dax.Model.Extractor/)** populates the Dax.Metadata.Model extracting data from a Tabular model. This library depends on TOM and .NET.
- **[Dax.ViewModel](https://www.nuget.org/packages/Dax.ViewModel/)** provides a view over Dax.Metadata.Model data that can be integrated in applications using the view model, such as the one implemented in DAX Studio (use DAX Studio 2.9.4 or later version). This library is a .NET Standard library.
- **[Dax.ViewVpaExport](https://www.nuget.org/packages/Dax.ViewVpaExport/)** exports the Dax.Metadata.Model for the consumption in VertiPaq Analyzer 2.0 client tools. This library is a .NET Standard library.
- **[Dax.Vpax](https://www.nuget.org/packages/Dax.Vpax/)** supports the VPAX format. This library depends on .NET Framework 2.7.1.
- **[Dax.Vpax.NetCore](https://www.nuget.org/packages/Dax.Vpax.NetCore/)** supports the VPAX format. This library depends on .NET Core 3.1.
- **[Dax.Vpax](https://www.nuget.org/packages/Dax.Vpax/)** supports the VPAX format. This library depends on .NET.

Using the VertiPaq Analyzer libraries, a client tool can easily extract the information from a Tabular model, export them in a standard file, and read the same information for visualization purposes.
Using the VertiPaq Analyzer libraries, a client tool can easily extract the information from a Tabular model, export it in a standard file, and read the same information for visualization purposes.

## VPAX Format

Expand All @@ -31,6 +29,7 @@ The VPAX file format is a ZIP file containing the following files:

## Tools

- **DAX Studio**: extract, save, and read VPAX files. Includes an embedded visualization of the most important views.
- **Tabular Editor 3**: extract, save, and read VPAX files. Includes an embedded visualization of the most important views.
- **VertiPaq Analyzer 2 Excel file**: read VPAX files and shows predefined reports using PivotTables and Excel tables. [Excel metrics](excel-metrics/index)
- **[Bravo for Power BI](https://bravo.bi/)**: extract save, and read VPAX files. Includes an embedded visualization of data size information.
- **[DAX Studio](https://daxstudio.org/)**: extract, save, and read VPAX files. Includes an embedded visualization of the most important views.
- **[Tabular Editor 3](https://tabulareditor.com/)**: extract, save, and read VPAX files. Includes an embedded visualization of the most important views.
- **[VertiPaq Analyzer 2 Excel file](https://www.sqlbi.com/tools/vertipaq-analyzer/)**: read VPAX files and show predefined reports using PivotTables and Excel tables. See [Excel metrics](excel-metrics/index).

0 comments on commit 28aaac2

Please sign in to comment.