This section describes how to obfuscate a VPAX file and how to deobfuscate it.
How to obfuscate a VPAX file
You can obfuscate a VPAX file via:
Obfuscation via a command line tool
To obfuscate a VPAX file with the command line, you can use the VertiPaq-Analyzer Obfuscator
. This tool is a free and open source .NET
library that enables the obfuscation of VertiPaq Analyzer files.
Download it and read the documentation of the tool here.
Using VertiPaq-Analyzer Obfuscator
Suppose you want to obfuscate the Contoso 1M
file used in the sample walkthrough section and suppose you call the file Contoso 1M.vpax
.
Put the obfuscator executable and the Contoso 1M.vpax
file in the same folder. Then, open the folder via the command line.
To visualize the help options, type the following
vpax-obfuscator.exe obfuscate
To obfuscate the file, type the following:
vpax-obfuscator.exe obfuscate --vpax "Contoso 1M.vpax"
In the same folder, the obfuscator tool will create the following files:
Contoso 1M.ovpax
: This is the obfuscated VPAX file.Contoso 1M.dict
: This is the dictionary to load in DAX Optimizer to deobfuscate the file.
NOTE: In case you need to upload to DAX Optimizer another version of the same VPAX file after you fixed or ignored issues and want to maintain obfuscation, you have to proceed with incremental obfuscations. To do so, you have to give to
VertiPaq-Analyzer Obfuscator
the obfuscation dictionary of the previous version of the model so that it can obfuscate the following one. Supposing the dictionary of the current version is calledContoso 1M.dict
, in that case you have to type:
vpax-obfuscator.exe obfuscate --vpax "Contoso 1M.vpax" --dictionary "Contoso 1M.dict"
.
Note that, in case you create multiple versions of the same VPAX file after fixing issues, the names of the files can create confusion. In this case, you can proceed with incremental obfuscations using the optional parameters like so:
vpax-obfuscator.exe obfuscate --vpax "Contoso 1M.vpax" --dictionary "Contoso 1M.dict" --vpax "Contoso 1M - v2.vpax" --output-vpax "Contoso 1M - v2 obfuscated.ovpax" --output-dictionary "Contoso 1M - v2 obfuscated.dict"
This will create:
Contoso 1M - v2 obfuscated.ovpax
: The obfuscated VPAX file of version 2 (v2
) that contains the issues fixed.Contoso 1M - v2 obfuscated.dict
: The obfuscation dictionary of the version 2 (v2
) of the VPAX that the issues fixed.
Obfuscation via Bravo for Power BI
NOTE: Bravo for Power BI does not have a guided user interface, but you can already use the obfuscation feature by using the SHIFT or CTRL key, as described below.
When you save a VPAX file with Bravo, you can obfuscate the file. To do so, press the SHIFT key while you click on the VPAX button. You will be prompted to save the obfuscated VPAX file (.ovpax
extension) and the dictionary (.dict
extension).
In case you need to upload to DAX Optimizer another version of the same VPAX file after you fixed or ignored issues and want to maintain obfuscation, you have to proceed with incremental obfuscations. To do so, press the CTRL key while you click on the VPAX button. You will be prompted for the previous version of the dictionary so that the obfuscation will create a new dictionary starting from the definitions in the previous one.
Obfuscation via DAX Studio
NOTE: This section is coming soon…
Obfuscation via Tabular Editor
NOTE: This section is coming soon…
How to deobfuscate a VPAX file
When you load an obfuscated VPAX file into DAX Optimizer, it recognizes that this is an obfuscated model.
In that case, the measures’ names in the columns will not be recognizable.
Even the measures’ names in the DAX code will not be recognizable.
To deobfuscate the VPAX model:
- Click on Obfuscated. A pop-up will appear, explaining the obfuscation feature.
- Click on Next, add the deobfuscation dictionary, and click on Deobfuscate. This allows DAX Optimizer to recognize the names of the measures.
NOTE: By checking the Save dictionary in local cache box, the deobfuscation dictionary will be saved in your browser’s cache, not on our servers, providing data security. By doing so, the file will remain deobfuscated: this way, you do not need to load the deobfuscation dictionary every time you analyze that file, after closing the browser.
NOTE: If you enabled the Cache obfuscation dictionaries toggle in Settings > General, the Save dictionary in local cache box will be automatically checked. Learn how to do so in the paragraph Advanced options: Cache obfuscation dictionaries in managing settings.