Dutch

English

Tabular Editor Best Practice Analyzer

Tabular Editor is a widely used tool for editing semantic models. This has already been mentioned in several blog posts. Of course, there are many best practices for developing a model. But how do you actually apply these rules to your model?.

Tabular Editor is a widely used tool for editing semantic models. This has already been mentioned in several blog posts. Of course, there are many best practices for developing a model. But how do you actually apply these rules to your model? Tabular Editor includes the Best Practice Analyzer, also known as BPA. With this tool, you can check your model against predefined rules and apply them.  

Best Practices for Tabular Models

 Of course, there are many theories and articles on best practices for developing a model. Here are a few examples of what a good model should include:. 

  • Use star diagrams as much as possible
  • Use appropriate naming conventions for the dimension and fact tables
  • Avoid bidirectional relationships
  • Avoid many-to-many relationships
  • Using Date Tables in the Model
  • Split fields into date and time fields
  • Using the divide function 
  • Partition Large Tables

Of course, this list could be expanded much further, and there are, of course, many other technical requirements that a model must meet. Furthermore, it may also be the case that a model within an organization must comply with certain naming standards.  

What is the Best Practice Analyzer?

The Best Practice Analyzer is a tool within Tabular Editor that allows you to define rules that the model’s metadata must follow. The best practices that you believe a model should follow can be translated into a set of rules. You can then apply these rules to your model. For certain rules, it’s even possible to automatically adjust objects that don’t comply with the rule. This might involve, for example, modifying certain properties. 

Defining BPA Rules

The rules that a model must comply with can be defined in Tabular Editor by opening the “Manage BPA rules” menu under Tools. Here, you can modify existing rules or create new ones. For each rule, you can specify which objects it applies to and whether or not it should be applied to the current model. Here are a few examples of rules that are definitely useful to check against your model: 

  • Using the "divide" function instead of the division symbol to prevent errors
  • Checking for bidirectional relationships
  • Checking against tables with no relationship
  • Check for duplicate fields 

Import BPA Rules

Defining your own BPA rules does require a fair amount of C# knowledge. So it may take a while before you can easily create your own rules. Fortunately, there are also a number of rule sets available that you can import by running a script or downloading a JSON file. These rule sets contain a number of standard best-practice rules that you can immediately apply to your model. An example of such a set of rules can be found, for instance, here. 

Apply BPA rules

You can apply the BPA rules to your model using the same menu. For each rule, the system will indicate which objects do not comply. For each rule or object, you have the following options. 

Go to object

This will take you to the relevant object in Tabular Editor, so you can customize it yourself

Ignore Rule

This allows the rule to be ignored. 

Generate a fix script

This option is only available if the object can be modified using a script so that it meets the rule. If you select the “Generate script” option, you can still review and modify the script before it is executed.  

Apply fix

This immediately updates the selected objects (or the selected rule) so that they comply with the rule. 

Conclusion

The Best Practice Analyzer is a handy tool for checking your model against a number of basic rules. These rules can be imported, so you don’t have to come up with or create them yourself. There are also several rules that can improve the model’s performance or reduce its size. Consider, for example, the IsAvailableInMdx property. Some rules are less relevant, but these can be disabled if desired. In my opinion, it’s a handy tool for testing your model. 

Blog Posts

Discover the new features in Business Central RW2 (2026)

Business Central continues to evolve into an AI-driven ERP platform with a strong focus on automation. The focus is on smart

Which Exact integration is right for your process?

Do you want to integrate Exact with other software? Find out when an existing integration is a good fit or when you need a specific integration

“What Five Years of Buy-and-Build Taught Me About the Numbers Behind the Numbers.”

"If you want to steer growth, you have to understand what's happening behind the numbers," says Vicky Van Den Haute, CFO at Alistar