Forum Discussion
smpa01
Community Champion
3 years agoHow to write queries that can bypass CallbackDataID
I am writing DAX queries with large and multiple tables and the query is internally generating CallbackDataID which is believed to be detrimental to performance.
Is there any way to write a query that can bypass that? marcorusso
AlexisOlson CNENFRNL bcdobbs OwenAuger
Thank you in advance.
A sample query is attached in the pbix.
Base table
| Continent | Country | Province | Value |
|-----------|---------|----------|-------|
| NA | CA | AB | 100 |
| NA | CA | AB | 50 |
| NA | CA | ON | 1000 |
| NA | CA | ON | 20 |
| NA | CA | SK | 400 |
| NA | CA | SK | 4000 |
Desired
| Continent | Country | Province | Value |
|-----------|---------|----------|-------|
| NA | CA | AB | 50 |
| NA | CA | ON | 20 |
| NA | CA | SK | 400 |
Query plan
1 Reply
- lbendlin
Super User
Have you read this ? Formula engine and storage engine in DAX - SQLBI
or this Performance Issue In DAX Studio: CallBackDataID - Enterprise DNA
Here is a version that doesn't use CallbackDataID:
Table 3 = summarize('Table','Table'[Continent],'Table'[Country],'Table'[Province],"mv",min('Table'[Value]))No idea how it behaves for larger tables. Getting the minimum value for a group of columns may always be costly.