-
Notifications
You must be signed in to change notification settings - Fork 420
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
Improvements to rule expressions #238
base: master
Are you sure you want to change the base?
Improvements to rule expressions #238
Conversation
…he presence of certain DAX tokens (functions, division symbol, etc.).
…d RegEx.IsMatch when possible.
…ters. Also, fixed RegEx expression to be less strict when detecting if the current table is being referenced within USERELATIONSHIP.
…id errors when an object name contains special characters
@microsoft-github-policy-service agree company="Tabular Editor ApS" |
@otykier the command you issued was incorrect. Please try again. Examples are:
and
|
Thanks so much Daniel! We even have best practices for the best practices :) Is the Tokenize function documented (or will it be)? Certainly makes the code much simpler. I will wait to commit these changes until you release TE 3.12.0 so folks using TE3 will not be as interrupted. |
Yes (although it deserves its own article as you can do a lot of cool stuff once you have the list of tokens).
Awesome! |
Various improvements to existing rules:
Tokenize().Any(...)
instead ofRegEx.IsMatch(...)
, when determining if a DAX expression contains certain tokens, such as specific DAX functions or the / (division) operator. Tokenization ignores whitespace/comments in the DAX expression, which improves the accuracy of the rules.RegEx.Escape
. Otherwise, the rule would error out when an object name contains characters that has special meaning in RegEx syntax.The
Tokenize()
syntax works with all current versions of Tabular Editor 2. We identified a bug in TE3 that prevented the use ofTokenize()
in BPA rules, affecting versions 3.6.0 through 3.11.0, but this bug will be fixed with the release of 3.12.0, later this month.CC @m-kovalsky