diff --git a/_mydocs/vertipaq-analyzer/command-line-tool.md b/_mydocs/vertipaq-analyzer/command-line-tool.md new file mode 100644 index 0000000..c90d5a9 --- /dev/null +++ b/_mydocs/vertipaq-analyzer/command-line-tool.md @@ -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 to write the VPAX file + # 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) \ No newline at end of file diff --git a/_mydocs/vertipaq-analyzer/index.md b/_mydocs/vertipaq-analyzer/index.md index ffbe7ae..481e176 100644 --- a/_mydocs/vertipaq-analyzer/index.md +++ b/_mydocs/vertipaq-analyzer/index.md @@ -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 @@ -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) \ No newline at end of file +- **[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).