-
Notifications
You must be signed in to change notification settings - Fork 417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add rule for excessive number of measures in model #236
base: master
Are you sure you want to change the base?
Conversation
@microsoft-github-policy-service agree company="Tabular Editor ApS" |
Case in point: TabularEditor/TabularEditor#1148 (comment) |
Thanks David, I completely agree with this and have experienced this myself (which is why I generally recommend not having the background BPA scan enabled). Would you point me to where Tabular Editor notifies the user to disable all BPA rules which use the Model.AllMeasures? |
It's just in the rule description - we don't have a mechanism for prompting or the likes from a BPA rule. |
I would say that 500 could be a too low limit. |
Ah I see, thanks David. Yes, I had a feeling that the number chosen here (500, 1500 etc.) would be contentious. The primary part of the problem is rules which use measure x measure comparison (i.e. [DAX Expressions] No two measures should have the same definition). Then it's the square of the number of measures in the model (1,000 measures -> 1,000,000 checks). |
I don't feel strongly if the limit should be 500, 1500 or something else - but I feel it would be a good check to add to the list. |
It's fine with me. Also remember that folks can always modify this number for their own use case if they so desire. |
Perfect, I updated the rule definition |
I believe a model should not have more than a few hundred measures.
More are typically a sign of poor model design or not using modern features such as calculation groups.
This rule highlights if a model has more than 500 measures.
If there is a good reason for this, if prompts the user to disable all BPA rules that iterate over the Model.AllMeasures collection as we have seen users TE becoming unresponsive if using these rules with a really big quantity measures.
@m-kovalsky