Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Measure creation in Power BI Desktop is extremely slow in models with too many measures

We have a main Power BI model and lots of thin reports live-connected to it. This main model has ~600 measures and ~15 time intelligence variations of each measure, bringing the total number of measures to almost 10,000. The variations are necessary because often times we want to display multiple variations side-by-side in the same visual (e.g., MTD, MOM, YTD, and YOY in the same matrix), and we don't want users to have to recreate these measures every time.
 
The problem is, whenever a user wants to create a custom measure in their thin report (which is live connected to the semantic model), their editing experience is unacceptably slow. Assume they want to calculate Total Sales for the Las Vegas branch:
Measure = CALCULATE (
    [$ Total Sales],
    'Organization'[Branch] = "Las Vegas"
)
The moment they type the first "[", Power BI Desktop pauses for 5~10 seconds to show a huge list of measures to autocomplete. Next, the moment they type the first ",", Power BI pauses for 10~30 seconds to show a list of all of the objects in the model, including tables, columns, and measures. DAX Studio does not have the same issue, so I'm sure it's just a quirk in the autocomplete implementation in Power BI Desktop.
 
Steps to reproduce:
  1. Create a blank Power BI report using Power BI Desktop (I would upload mine, but I can't find the option)
  2. Create a dummy table
  3. Using Tabular Editor 2, add 10,000 measures to the dummy table
  4. Publish it to the Power BI service (capacity size doesn't seem to matter)
  5. Create a new Power BI report live connected to the semantic model
  6. Right-click the table and click "New measure"
  7. Type
    Measure = CALCULATE ( [
    and the program will hang for a bit
  8. Select any measure and type "," and the program will hang for even longer
 
Here are a few ways this problem could be solved or mitigated:
  1. Ensure that the autocomplete functionality doesn't cause the entire program to hang (e.g., run in another thread)
  2. Wait for the user to type a few characters before searching for autocomplete options
  3. Exclude "format string" measures from the autocomplete options
  4. Exclude hidden objects from the autocomplete options, unless the user has selected "View hidden"
Status: New
Comments
Kevin_Wells81
Regular Visitor
Have you tried using calculation groups for the time intelligence part of the measures? https://youtu.be/vlnx7QUVYME?si=giyufx_LKsBlJcdF That could help to reduce the amount of measures you have. Also, in your example measure, couldn't they achieve the same thing using a total sales measure and a filter? Rather than creating another measure Sorry if I am being naive here.