Usage

pbi-tools <action> -options

pbi-tools (Desktop), 1.1.1 - https://pbi.tools/

Actions

cache

cache <action> 

Manages the internal assembly cache.

Option Default Value Is Switch Description
action*     The cache action to perform.
List - List all cache folders.
ClearAll - Clear all cache folders.
ClearOutdated - Clear all cache folders except the most recent one.
pbi-tools cache list

Lists all cache folders present in the current user profile.

compile

compile <folder> [<outPath>] [<format>] [<overwrite>] 

Generates a PBIX/PBIT file from sources in the specified PbixProj folder. Currently, the PBIX output is supported only for report-only projects (“thin” reports), and PBIT for projects containing a data model.

Option Default Value Is Switch Description
folder*     The PbixProj folder to generate the PBIX from.
outPath     The path for the output file. If not provided, creates the file in the current working directory, using the foldername. A directory or file name can be provided. The full output path is created if it does not exist.
format PBIX   The target file format.
PBIX - Creates a file using the PBIX format. Only supported for “thin” reports - use the PBIT format if the project contains a data model. This is the default format.
PBIT - Creates a file using the PBIT format. Use for data models. When opened in Power BI Desktop, parameters and/or credentials need to be provided and a refresh is triggered.
overwrite False X Overwrite the destination file if it already exists, fail otherwise.

convert

convert <source> [<outPath>] [<modelSerialization>] [<mashupSerialization>] [<settingsFile>] [<updateSettings>] [<modelOnly>] [<overwrite>] 

Performs an offline conversion of PbixProj or Tabular model sources into another format, either in-place or into another destination.

Option Default Value Is Switch Description
source*     The source(s) to convert. Can be a PbixProj folder, a Model/TE folder, or a TMSL json file.
outPath     The (optional) destination. Can be a folder or a file, depending on the conversion mode. Must be a folder if the source is a TMSL json file.
modelSerialization     The model serialization mode.
Default - The default serialization format, effective if no option is specified. The default is TMDL.
Raw - Serializes the tabular model into a single JSON file containing the full TMSL payload from the PBIX model. No transformations are applied.
Legacy - Serializes the tabular model into the default PbixProj folder structure and performs various transformations to optimize file contents for source control.
Tmdl - Serializes the tabular model into TMDL format. Annotation settings are applied.
mashupSerialization     The mashup serialization mode.
Default - Similar to ‘Raw’ mode, with the exception that QueryGroups are extracted into a separate file for readability.
Raw - Serializes all Mashup parts with no transformations applied.
Expanded - Serializes the Mashup metadata part into a Json document, and embedded M queries into separate files. This mode is not supported for compilation.
settingsFile     An external .pbixproj.json file containing serialization settings. Serialization modes specified as command-line arguments take precedence.
updateSettings False X If set, updates the effective PbixProj settings file used for this conversion.
modelOnly False X If set, converts the model only and leaves other artifacts untouched. Only effective in combination with a PbixProj source folder.
overwrite False X Allows overwriting of existing files in the destination. The conversion fails if the destination is not empty and this flag is not set.

deploy

deploy <folder> <label> [<environment>] [<basePath>] [<whatIf>] 

Deploys artifacts (reports, datasets) to Power BI Service using a deployment manifest.

Option Default Value Is Switch Description
folder*     The PbixProj folder containing the deployment manifest.
label*     Name of a profile in the deployment manifest.
environment Development   The target deployment environment.
basePath     When specified, resolves all deployment source paths relative to this path (and basePath relative to the current working directory), instead of the location of the PbixProj manifest.
whatIf False X When enabled, simulates the deployment actions and provides diagnostic output. Useful to test source path expressions and parameters. Authentication credentials are validated.

export-data

export-data [<port>] <pbixPath> [<outPath>] [<dateTimeFormat>] 

Exports data from all tables in a tabular model, either from within a PBIX file, or from a live session.

Option Default Value Is Switch Description
port     The port number of a local Tabular Server instance.
pbixPath*     The PBIX file to extract data from.
outPath     The output directory. Uses PBIX file directory if not provided, or the current working directory when connecting to Tabular Server instance.
dateTimeFormat s   The format to use for DateTime values. Must be a valid .Net format string, see: https://docs.microsoft.com/dotnet/standard/base-types/standard-date-and-time-format-strings.

Export data from local workspace instance

pbi-tools export-data -port 12345

Extracts all records from each table from a local Power BI Desktop or SSAS Tabular instance running on port 12345 (get actual port via ‘info’ command). Each table is extracted into a UTF-8 CSV file with the same name into the current working directory.

Export data from offline PBIX file

pbi-tools export-data -pbixPath '.\data\Samples\Adventure Works DW 2020.pbix'

Extracts all records from each table from the model embedded in the specified PBIX file. Each table is extracted into a UTF-8 CSV file with the same name into the current working directory.

extract

extract <pbixPath> <pid> [<pbiPort>] [<extractFolder>] [<mode>] [<modelSerialization>] [<mashupSerialization>] [<watch>] 

Extracts the contents of a PBIX/PBIT file into a folder structure suitable for source control. By default, this will create a sub-folder in the directory of the *.pbix file with the same name without the extension.

Option Default Value Is Switch Description
pbixPath*     The path to an existing PBIX file.
pid*     The Power BI Desktop process ID to extract sources from (look up via ‘pbi-tools info’).
pbiPort     The port number from a running Power BI Desktop instance (look up via ‘pbi-tools info’). When specified, the model will not be read from the PBIX file, and will instead be retrieved from the PBI instance. Only supported for V3 PBIX files.
extractFolder     The folder to extract the PBIX file to. Only needed to override the default location. Can be relative to current working directory.
mode Auto   The extraction mode.
Auto - Attempts extraction using the V3 model, and falls back to Legacy mode in case the PBIX file does not have V3 format.
V3 - Extracts V3 PBIX files only. Fails if the file provided has a legacy format.
Legacy - Extracts legacy PBIX files only. Fails if the file provided has the V3 format.
modelSerialization     The model serialization mode.
Default - The default serialization format, effective if no option is specified. The default is TMDL.
Raw - Serializes the tabular model into a single JSON file containing the full TMSL payload from the PBIX model. No transformations are applied.
Legacy - Serializes the tabular model into the default PbixProj folder structure and performs various transformations to optimize file contents for source control.
Tmdl - Serializes the tabular model into TMDL format. Annotation settings are applied.
mashupSerialization     The mashup serialization mode.
Default - Similar to ‘Raw’ mode, with the exception that QueryGroups are extracted into a separate file for readability.
Raw - Serializes all Mashup parts with no transformations applied.
Expanded - Serializes the Mashup metadata part into a Json document, and embedded M queries into separate files. This mode is not supported for compilation.
watch   X Enables watch mode. Monitors the PBIX file open in a Power BI Desktop session, and extracts sources each time the file is saved.

Extract: Custom folder and settings

pbi-tools extract '.\data\Samples\Adventure Works DW 2020.pbix' -extractFolder '.\data\Samples\Adventure Works DW 2020 - Raw' -modelSerialization Raw

Extracts the PBIX file into the specified extraction folder (relative to the current working dir), using the ‘Auto’ compatibility mode. The model part is serialialized using Raw mode.

Extract: Default

pbi-tools extract '.\data\Samples\Adventure Works DW 2020.pbix'

Extracts the specified PBIX file into the default extraction folder (relative to the PBIX file location), using the ‘Auto’ compatibility mode. Any settings specified in the ‘.pbixproj.json’ file already present in the destination folder will be honored.

extract-pbidesktop

extract-pbidesktop <installerPath> [<targetFolder>] [<overwrite>] 
Extracts binaries from a PBIDesktopSetup.exe .msi installer bundle (silent/x-copy install).
Option Default Value Is Switch Description  
installerPath*     The path to an existing PBIDesktopSetup.exe PBIDesktopSetup.msi file.
targetFolder     The destination folder. ‘-overwrite’ must be specified if folder is not empty.  
overwrite False X Overwrite any contents in the destination folder. Default: false  

generate-bim

generate-bim <folder> [<generateDataSources>] [<transforms>] 

Generates a TMSL/BIM file from Model sources in a folder. The output path is derived from the source folder.

Option Default Value Is Switch Description
folder*     The PbixProj folder to export the BIM file from.
generateDataSources   X Generate model data sources. Only required for deployment to Azure Analysis Services, but not for Power BI Premium via the XMLA endpoint.
transforms     List transformations to be applied to TMSL document.
RemovePBIDataSourceVersion - Removes the ‘defaultPowerBIDataSourceVersion’ model property, making the exported BIM file compatible with Azure Analysis Services.

git

git <action> 

Integrates with git and exposes certain actions to perform in the current working directory.

Option Default Value Is Switch Description
action*     The git action to perform.
Branch - Displays the active git branch in the current working directory.
pbi-tools git branch

Displays the active git branch in the current working directory. Automatically detects the root of the current git repository.

info

info [<checkDownloadVersion>] 

Collects diagnostic information about the local system and writes a JSON object to StdOut.

Option Default Value Is Switch Description
checkDownloadVersion   X When specified, checks the latest Power BI Desktop version available from download.microsoft.com.
pbi-tools info check

Prints information about the active version of pbi-tools, all Power BI Desktop versions on the local system, any running Power BI Desktop instances, and checks the latest version of Power BI Desktop available from Microsoft Downloads.

init

init <action> [<folder>] 

Initializes a PbixProj workpace.

Option Default Value Is Switch Description
action*     The initialize action to perform.
Deployments - Generates a sample deployment manifest in the specified location if none exists.
folder     The PbixProj folder to operation in. Uses current working directory if not specified.

launch-pbi

launch-pbi [<pbixPath>] 

Starts a new instance of Power BI Desktop, optionally loading a specified PBIX/PBIT file. Does not support Windows Store installations.

Option Default Value Is Switch Description
pbixPath     The path to an existing PBIX or PBIT file.