top of page

Measure Killer

ein externes Tool für Microsoft Power BI

logo 2048.png
version20.png

Aufräumen des Power BI Tenants

Measure Killer kann einen Power BI Tenant bzw. die Datasets aufräumen und optimieren. Dies kann die Refreshdauer reduzieren und so zu weniger Last auf der Premium Kapazität führen.

Measure Killer liest nur die Metadaten eines Dataset, nie die eigentlichen Daten. Da wir uns über XMLA verbinden, muss das Dataset nicht downgeloadet werden.

Analyse des Power BI Tenants

Der 5. Modus von Measure Killer "Tenant analysis" gibt einen Überblick über den gesamten Power BI Tenant. Als Beispiel können wir zeigen, wo Custom Visuals genutzt werden oder was in Personal Workspaces gebaut wurde. 

Löschen unbenutzter Measures

Measure Killer kann selbständig unbenutzte Measures löschen. Alternativ kann ein C# Skript generiert werden, mit dem man die Measures in Tabular Editor manuell entfernen kann.

Weniger Spalten in Modell verbessern auch die Performance weil weniger RAM benötigt wird.

Löschen unbenutzter Spalten

Measure Killer generiert einen voll funktionsfähigen M-Code, der dann in den "Erweiterten Editor" der bereits bestehenden Query eingefügt werden kann.

Analyse eines Berichts

Für jeden Bericht wird ein detailliertes Excel File erstellt, hier kann man einsehen, wo ein Artefakt verwendet wird. Dies kann in: Berechnungen, Visuals, Filter, Conditional Formatting, Joins in Power Query oder anderen Teilen eines Power BI Berichts wie z.B. Relationships sein.

Analyse_Icon_edited_edited.png
Columns_Icon_edited_edited.png
Measures_Icon_edited_edited.png
Measure Killer 2.0 user interface

Was wird vom Measure Killer erkannt?

  • Visuals - inklusive Filter welche auf das Visual, die Seite oder den Bericht angewendet werden

  • Artefakte die nur in Custom Visuals benutzt werden (siehe compatibility matrix weiter unten)

  • Jegliche Art von Measures oder Beziehungen

  • Spalten die ausschließlich in Power Query z.B. joins, appends, references genutzt werden

  • Calculated columns

  • Calculated tables

  • Conditional Formatting (bedingte Formatierungen)

Was geht nicht?

  • Wenn man ganze Berichte kopiert und dann nur diverse Änderungen macht, kann dies zu falschen Ergebnissen führen.

  • DAX Ausdrücke die nur auf Tabellen verweisen und keinerlei Referenzen auf Measures oder Spalten haben, werden nicht beachtet. (zB COUNTROWS)

  • Standardtitel und -untertitel (von Power BI vorgeschlagen/erstellt) werden nicht erkannt. Sobald der User diesen Titel abändert wird er erkannt.

  • Restriktive "sensitivity labels" können Fehler produzieren.

  • Spalten und Measures die nur im "neuen Mobile View" verwendet werden, sind aktuell nicht unterstützt - wir arbeiten daran.

  • Mehrmaliges entfernen und "restoren" von Measures oder Calculated Columns in einer Session kann zum Absturz führen (Version 2.0.0).

Measure Killer Compatibility

legend

fully compatible

 ?   limited compatibility

 ✗  currently not working

General:

 .pbix (Desktop and Desktop RS)

 .pbix (Uploaded to PBI Service)

 .pbip (paid versions only)

 .pbir (paid versions only)

 .pbit (paid versions only)

 Thin files

 DirectQuery

 Composite models

Paginated reports (paid versions only)

Analyze in Excel (paid versions only)

All reports in the service can now be analyzed (paid versions only)

✗ Thin files only (in mode 1 not possible, in other modes yes) for mode 1 switch to DQ to make it work!

Dashboards

Any type of live connection (SSAS, AAS, Datamarts) - create a local mode (DQ) to make it work!

.bim files / models stored in a folder etc.

Metrics (Goals)

Feature compatibility:

 Row-level security

 Calculation groups

 Field parameters

 Dynamic format strings

 Visual calculations

✗ KPIs (created in the tabular model)

✗ Object-level security (When an artifact is only used in OLS, Measure Killer will not detect it)

Compatibility of visuals:

 Standard visuals (all, unless listed below)

 Icon Map

 Zebra BI visuals

 HTML VizCreator Cert

 HTML VizCreator Flex

 Balance Sheet Visual

?  Other custom visuals (We have not tested Measure Killer for all custom visuals)

Q&A visual

✗ Paginated report visual

✗ Metrics (Goals) visual

visuals.png
Measure Killer pricing
All offline features are free to use personally and commercially.
Go to the Download section to get started


The online capabilities of Measure Killer (running in the Power BI Service) like shared models online, Tenant Admin Mode or Tenant Analysis are paid upgrades.

To unlock these modules/features or to get priority support from the Measure Killer team, please purchase a license.
The Basic license is only for PPU organizations and does not include support.

Anleitung zur Verwendung von "Measure Killer" (updated soon for version 2.0)

Single report / dataset mode

Shared datasets on local machine mode

Shared datasets online (in the Power BI Service)

Measure Killer - Download & Changelog

Aktuelle Version 2.0.0

Stay up to date

Thanks for subscribing!

Store Version benötigt Admin-Rechte

If you are getting an error on first launch, please search for %APPDATA% and delete the "Measure Killer" folder there.
The path will be something like this:
C:\Users\USERNAME\AppData\Roaming

 

Release Notes for 02/13/2024

Version 2.0.0

[FEATURES]
-Completely new UI
-New mode "Tenant Analysis" 
-Finding all unused artifacts in one run
-Ability to run multiple semantic models at once
-Analysis 5-10x faster
-Added downstream semantic models (composite/child models) and personal workspaces
-Removing and restoring artifacts via XMLA to models online
-Added "What if analysis"
-Added full .json export and new excel report
-Huge improvements to logic and usability
-Added logs/traces to debug and to increase transparency
 
[BUG FIXES]
-Massive reduction of bugs, too many to list here

Older versions

Release Notes for 10/10/2023

Version 1.2.1

[BUG FIXES]

 -Fixed connection error in offline modes

Release Notes for 10/05/2023

Version 1.2.0

[FEATURES]

-Removing measures and calculated columns in the online mode is now possible
-Added 'Used in' option to search artifacts
-Added clear search button on all text search fields
-Minor UI improvements

[BUG FIXES]

-Visual filters with aggregations false negative is fixed
-Power Query references bug fixed
-Fixed report size bugs when all artifacts were used or unused
-Changed authentication workflow to avoid MK getting stuck if authentication failed
-MK now asks to run again after artifacts have been restored
-Fixed a bug where MK would crash if the backup folder didn't exist

Release Notes for 08/14/2023

Version 1.1.0

[FEATURES]
-All Power BI and Paginated reports in the Service can now be analyzed
-New dark mode theme
-Release notes displayed in MK
-Users can now copy the rows, details, and the entire table directly from the main window.
-Analytics section with expanded artifact hierarchy in calculations.

[BUG FIXES]
-Small fixes in shared dataset on local machine mode
-Empty layout issue for older reports
-Minor UI bug fixes

 

Release Notes for 07/19/2023

Version 1.0.0

[FEATURES]

Admin Mode: For tenant admins, Measure Killer can now search your entire tenant for reports connected to a respective datasets. It temporarily grants you permission and then removes them again.


Excel File Analysis: Measure Killer now extends its analysis capabilities to Excel files linked to your dataset (you need to add them manually in all modes)
   

Paginated Reports: These reports can be analyzed just like Power BI reports now.

 

Measure Killer Analytics: An advanced analytics approach, providing unique information about your reports and datasets.

-Putting a cost on measures (in terms of storage they consume via columns they reference)

-Showing total storage used by an individual report, page in a report or visual.

-Giving you the distinct size of an artifact consumed (meaning this is what you can save if you removed it)
 

Other features:
-Advanced Console: A robust command set for printing and displaying metadata, results, and more has been added.
-Automated Removal of Calculated Columns: Measure Killer can now automatically detect and remove calculated columns.
-Hiding Unused Columns: Functionality to hide unused columns has been added to Measure Killer.
-Support for .pbip and .pbit file formats (Preview feature): Measure Killer can now read the new .pbip file extension as well as template extensions.
-Bulk Restoration of Deleted Measures: Users can now restore multiple previously deleted measures simultaneously from Measure Killer backups.
-Improved Shared Dataset on Local Machine Mode: We've made this mode more user-friendly.
-Drag and Drop feature: You can now use drag and drop for adding themes, analyzing in Excel, and other file extensions.
-Usage Count in Results: To enhance result visualization, we've included a 'number of uses' metric in the output.

   

[Bug Fixes]
   
-Shared Dataset on Local Machine Mode: Fixed the issue of window minimizing when selecting the port. Now, the window stays open.
-Duplicate Entries: Fixed the issue of duplicate entries in row by row result documents.
-Theme Selection Bug: Fixed a bug where, in some instances, the theme selection wouldn't change as expected.

Release Notes for 05/19/2023

Version 0.9.10

[BUG FIXES]

-Fixed an issue that prevented all reports from being removed from the report list.
-Implemented a "Stop" button to end the process running in a separate thread, preventing it from continuing if the window is closed -after "Run".
-Improved error handling for instances where ".pbix" file paths were incorrect (moved or deleted), which caused a "Could not retrieve filters data" bug.
-Resolved a bug with page-level filters.
-Stopped automatic report downloads after closing Measure Killer in online mode.
-Fixed an issue causing the page for page-level filters in the main window to be blank.
-Corrected a false negative issue with the TopN Filter of visuals.
-Improved workspace sorting (first dropdown in the process/UI) for accuracy.
-Corrected a false negative when referencing tables with specials characters in thin/live reports.
-Enforced a requirement for at least one valid report to run Measure Killer in online mode.

[FEATURES]

-Auto-check for new versions of Measure Killer.
-Tooltips for buttons, providing explanations for their functionalities.
-Reverse sorting (Z-A) for lists and dropdowns in the online mode.
-Removed "Show Results" button for a streamlined experience.
-Implemented a progress label, providing real-time count of artifacts analyzed.
-Enhanced excel export by including visual title and subtitle for visuals.
-Included multiple notebooks in the main window: Information, Execution, and Killing logs for better organization and tracking.
-Added auto-copying of C# script for deleting measures to the clipboard.
-Displayed the dataset name in the main window for online mode.

Release Notes for 04/24/2023

Version 0.9.9

[BUG FIXES]
Resolved "Measure" key issue in live/thin reports with broken measures.

 

[FEATURES]
-Enhanced Shared Datasets Online Mode UI (Basic/Enterprise).
-Use [DEL] & [ENTER] to include/exclude reports in Shared Dataset Online Mode.
-Workspace search & sort options added.
-Report names now included in layout errors.

-More sorting options in online mode.

Release Notes for 04/07/2023

Version 0.9.8

[BUG FIXES]

-Resolved an issue where measures or columns in the rule option for conditional formatting were not being detected.

-Fixed the "Delete selected" button bug in the "Edit reports" section for live connections on local machines.

-Addressed the Group ("Single visual") bug when grouping visuals.

-Prevented the Settings window from opening twice.

-Removed the "MK_" prefix from the beginning of the saved results Excel file name.

-Corrected a bug where some columns were omitted from the report.

[FEATURES]

-Added the ability to backup and restore measures deleted by Measure Killer.

-Implemented a new and more secure authentication (license) method.

-Introduced an "Expand All" option in the main window.

Release Notes for 03/20/2023

Version 0.9.7

[Features]

-Added the ability to configure proxy options for API calls and Azure identity verifier.

[UI]

-Online mode now takes users back to the Workspace and Dataset window, rather than resetting the Measure Killer tool to its initial state.

-Dataset and Workspace selection window is now resizable, giving users more control over the size and layout of the window.

Release Notes for 03/15/2023

Version 0.9.6

[Bugs]

-Improved error handling

-Smart narrative visual fixed

Release Notes for 03/08/2023

Version 0.9.5

[Features]

-Added Shared/golden Dataset online mode.

Users can now select a dataset and Measure Killer will detect all connected reports in workspaces that the user has access to. For this mode, no local files are needed anymore.
-Enhanced detection of artifacts in visuals.

-Significantly reduced number of false positives

-Strongly improved Power Query M logic

[UI]
-The user interface has been improved with rearranged buttons, reduced windows, and a menu bar has been added.

-Users can choose to either "Remove other columns" or "Remove columns" to "kill" columns.

-Added a menu for Measure Killer's main window (less buttons).
-Users now have the option to choose one of 11 color themes for the entire Measure Killer application.


[Bugs]

-False positives for substrings in visuals have been fixed.

-Fixed duplicates in where artifact are used.
-The main window no longer becomes "not responding" in bigger reports.
-Fixed multiple steps with the same name, "Columns removed by Measurekiller"
-Fixed calendar artifacts usage bug.

Release Notes for 01/05/2023

Version 0.9.2

[MISC]

-Fixed a bug with "filter on this page" and "filter on all pages"

​Release Notes for 12/07/2022
Version 0.9.1

[MISC]
- Updated the installer

- Fixed offline bug where Measure Killer was not loading

​Release Notes for 12/05/2022
Version 0.9
 

[ FEATURES ]

- Added connection to shared datasets and live/thin reports (offline and via XMLA endpoint for premium workspaces)
- Improved results table

[UI]
- rearranged buttons and added some functional buttons e.g "back button"

- changed formatting of results table

Release Notes for 10/17/2022
Version 0.8

 

[ FEATURES ]

- Added option to kill measures directly in Measure Killer without using Tabular Editor
- Added feature to sort columns 
- Added detection of columns used only by incremental refresh
- Added (DAX) expression column for Excel output
- Added new report option (row by row) when saving the results file
- Self-update after killing measures (the user doesn’t have to click on run again)


[MISC]

- Added error handling for blank file selection
- var. smaller bug fixes

Release Notes for 10/06/2022
Version 0.7


[UI]
-You can now see how costly (in terms of storage space) your unused columns are
-Table overview of unused artifacts
[MISC]
- var. bugfixes and performance improvements

Release Notes for 9/16/2022
Version 0.5


[UI]
- Rearranged Buttons.
[MISC]
- Fixed an error that caused false positives if measure names would contain " and '.

Release Notes for 9/7/2022
Version 0.4


[ FEATURES ]
- Added M code to automatically remove columns.
[UI]
- Improved UI and added colored buttons.
 

Release Notes for 8/27/2022
Version 0.3


[ FEATURES ]
- Added C# script to remove measures.
- Added option to plot results.
[ MISC ]
- Removed info page on startup.

Measure Killer Security Information and Documentation
Version 2.0.0


This document outlines the security details and data handling practices of Measure Killer.


Data Handling and Privacy Assurance


Measure Killer is meticulously designed with user privacy and data security as paramount concerns. It is important for users to understand the scope and way that Measure Killer interacts with Power BI.
 

Metadata-Only Interaction


Measure Killer only interacts and utilizes metadata from Power BI Desktop or the Power BI Service. At no point does Measure Killer read, store, or process actual data contained within Power BI reports or models. This strict limitation to metadata ensures that sensitive data remains confidential and secure.


What is considered Metadata?


Metadata is considered the following (examples):
•    Names or artifacts (report, semantic models, workspaces, users/email addresses)
•    DAX and M expressions including comments
•    Names of measures, tables, calculated columns, calculated tables, calculation groups, field parameters etc.
•    Uncompressed size of columns
•    All definitions (e.g. name of reports, pages, visuals, visual titles, visual size and other metadata)


Local Processing of Metadata


All processing and analysis of metadata conducted by Measure Killer is performed locally on the user's machine through the installed client software. This approach ensures that the operations on metadata do not involve or require any external processing or storage facilities. By doing so, Measure Killer upholds a high standard of data protection and minimizes potential security risks. There is no database that is hosted, managed, or used to process any kind of information, everything is done on the user’s machine and not transmitted anywhere besides when using XMLA or REST API calls with Microsoft directly.


XMLA Endpoint Connection


To retrieve metadata from semantic models in the Power BI Service, XMLA endpoints are used. The authentication happens via the entered Microsoft account (see adomd client for more specifics on this).


API Calls to Microsoft for Metadata Acquisition


The only other external interaction Measure Killer undertakes involves REST API calls to Microsoft’s Power BI Service for the acquisition of metadata. These API calls are made in compliance with all relevant security protocols. Authentication happens via browser interaction (OAUTH2). Once metadata has been acquired, all subsequent analyses and operations are carried out locally. See the list at the bottom of this document for a list of REST API calls done.


Online / Offline Modes


Measure Killer is designed to be able to operate both online and offline:
•    In the offline modes, Measure Killer connects to the local instance of Analysis Services to retrieve the metadata it needs (Modes 1 and 2). In these modes the only time there is an interaction with the internet is upon launch to verify valid licensing (see License Verification below for details)
•    Online modes (Modes 3, 4 and 5) are triggered when an active internet connection is detected and when the user has a valid license. In these modes there are external connections happening (only REST API calls and XMLA connections to Microsoft as outlined above).


License Verification and Datetime Check 


•    Measure Killer uses API calls to acquire the current date and time: GET https://worldtimeapi.org/api/timezone/Europe/London or, as a fallback, GET https://timeapi.io/api/Time/current/zone?timeZone=Europe/London to ensure the license has not expired.


Version Check and User Notification


•    To inform users about available updates, Measure Killer queries GET https://measurekiller.com/downloads/ to compare the installed version against the most recent version available the website.
•    There is one additional GET request to extract text and write it in the main UI window from this URL GET https://en.brunner.bi/post/measure-killer-feedback-1
API Endpoints and Security Measures
•    Secure requests (HTTPS) are made to Power BI API endpoints, ensuring data in transit is encrypted.
•    Access tokens are securely passed in request headers, with responses parsed as JSON for internal processing.


List of REST API Calls


•   GET https://api.powerbi.com/v1.0/myorg/groups/{id}/datasets
•    GET https://api.powerbi.com/v1.0/myorg/groups/{id}/reports
•    GET https://api.powerbi.com/v1.0/myorg/groups/{id}/users
•    GET https://api.powerbi.com/v1.0/myorg/groups/{workspace.id}/reports/{report.id}/datasources
•    GET https://api.powerbi.com/v1.0/myorg/groups/{workspace.id}/reports/{report.id}/Export 
•    GET https://api.powerbi.com/v1.0/myorg/groups
•    GET https://api.powerbi.com/v1.0/myorg/admin/groups
•    GET https://api.powerbi.com/v1.0/myorg/admin/capacities
•    GET https://api.powerbi.com/v1.0/myorg/admin/workspaces/scanStatus/
•    POST https://api.powerbi.com/v1.0/myorg/admin/workspaces/getInfo?lineage=true
•    POST https://api.powerbi.com/v1.0/myorg/admin/groups/{workspace.id}/users
•    DELETE https://api.powerbi.com/v1.0/myorg/admin/groups/{workspace.id}/users/{user.email}

•    GET https://api.powerbi.com/v1.0/myorg/https://api.powerbi.com/v1.0/myorg/admin/users/{user.email}/artifactAccess?artifactTypes=”Workspaces”

​Documentation

Installation

There are two different versions. An "admin" version and a "non-admin" or portable version. In order to be able to install the admin version, the user must have administrator rights in the system. But basically the two versions work exactly the same. The only disadvantage of the "non-admin" version is that Measure Killer will not be automatically added to the "External Tools" in Power BI Desktop. Measure Killer in the Microsoft store is the "admin" version.

The documentation will soon be updated to show Measure Killer 2.0

bottom of page