We are pleased to announce that DAX Optimizer now supports obfuscated VPAX files. This update represents the final feature integration before we conclude our beta phase and transition DAX Optimizer into general availability by the end of March 2024.

The obfuscation of VPAX files is facilitated by using the recently released Vpax-Obfuscator tool, a command-line utility that allows users to convert standard VPAX files into obfuscated versions. This process masks sensitive metadata contained within the VPAX file, such as table names, column names, and DAX expressions. We expect a direct integration of the obfuscator directly in tools like DAX Studio, Tabular Editor, and Bravo for Power BI. However, you can immediately obfuscate a VPAX file with the command line tool.

Here’s an example of how to use the command line tool for obfuscation:

vpax-obfuscator.exe obfuscate --vpax "Contoso v1.vpax" --output-vpax "Contoso v1 - obfuscated.vpax" --output-dictionary "Contoso v1 - obfuscated.dict"

This process generates an obfuscated VPAX file along with a dictionary file (.DICT). The dictionary is crucial for deobfuscation, translating the obfuscated identifiers back to their original, human-readable form.

The DICT file must be stored locally. Upon loading an obfuscated VPAX file into DAX Optimizer, users can analyze the model, but the result shows obfuscated data.

To show readable names and code, the user must load the corresponding dictionary (.DICT) file in the browser user interface. This action reverses the obfuscation, rendering the DAX code and metadata within DAX Optimizer human-readable and accessible. The entire process happens locally, without transferring any data to the service.

The introduction of obfuscated VPAX file support in DAX Optimizer addresses a critical need for enhanced security and privacy. It enables organizations to seek optimization and analysis for their data models without exposing sensitive metadata. Besides masking sensitive information, the obfuscation process ensures that the obfuscated file remains consistent and analyzable by tools like DAX Optimizer.

The Vpax-Obfuscator tool supports incremental obfuscation, ensuring consistent obfuscated names across different versions of the same model, a critical feature for maintaining the continuity of DAX Optimizer’s functionality. This way, when you mark an issue as ignored, it is still ignored in the following versions of the same model as long as the obfuscation happens incrementally by using the previous DICT file every time a new model version is obfuscated. This is possible by adding the –dictionary parameter to the command line tool.

vpax-obfuscator.exe obfuscate --vpax "Contoso v2.vpax" --dictionary "Contoso v1 - obfuscated.dict" --output-vpax "Contoso v2 - obfuscated.vpax" --output-dictionary "Contoso v2 - obfuscated.dict"

As we prepare to transition DAX Optimizer from beta to general availability, we believe this new feature will be invaluable for organizations looking to maintain the highest data security standards while benefiting from the advanced optimization features of DAX Optimizer.