-
Notifications
You must be signed in to change notification settings - Fork 97
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Enable predicate pushdown for categorical dimension filters (#1227)
Enable predicate pushdown for categorical dimension filters We now have the ability to push down filter predicates within the DataflowPlan. We start with categorical dimension filters, as they are the simplest. This change simply tracks the where filters applied at the measure node and pushes all of them down to the construction of the source node for evaluation. At this time a filter is eligible to be applied to the source node if it only contains references to categorical dimensions that originate from the same, singular semantic model definition that feeds into the source node in question. We do not support time dimensions at this time, as they can cause strange interactions with things like cumulative metrics, which could result in inappropriate input filtering that produces non-obviously censored metric results. We also do not support entities at this time, as entities may be defined in multiple semantic models and as such filters must be applied with more care to ensure we are correctly accounting for the entity link paths to the relevant source node, if any, when we apply the filter. Finally, we are not able to safely push predicates down for the "null value" side of an outer join, which, in practice, restricts us to only doing predicate pushdown to the measure source nodes. The snapshot test changes for existing snapshots highlight the new behavior, while the added test snapshots demonstrate specific circumstances of interest.
- Loading branch information
Showing
188 changed files
with
45,628 additions
and
15,605 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
kind: Features | ||
body: Enable predicate pushdown for categorical dimensions | ||
time: 2024-05-21T20:22:52.841802-07:00 | ||
custom: | ||
Author: tlento | ||
Issue: "1011" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.