-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Feature: reports #2752
Feature: reports #2752
Conversation
remove unused test folders move rpc tests from 048 to 100 for convenience - Migrating these to the test/rpc model is going to take work. In the interim, developers can now use `tests/integeration/0*` to run all non-rpc tests.
Add ParsedReport/UnparsedReport add report parser and report node logic to manifest/results/dbt ls/selectors NonSourceNode -> ManifestNode add GraphMemberNode type that includes reports
a401117
to
e96f4a5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great! I messed around with some reports in our internal analytics project, there's a draft PR open there if you're curious.
Neither of these is a blocker for this PR, just things to discuss/modify between now and 0.18.0-rc1:
node selection syntax
Because reports are like inverse sources, I had been thinking about a report:
node selector. This would get us a few small things:
- Explicitness. A report can have the same name as a model (which feels ok), so we'd disambiguate between
dbt run -m +report:customers
anddbt run -m +customers
. - List all resources upstream of all reports:
dbt ls -s +report:*
. By the same token, list all resources that are not exposed to any reports:dbt ls --exclude +report:*
.
dbt-docs
Open issue: dbt-labs/dbt-docs#135
We just need to fix before we can release. They still work fine for projects that don't have reports
defined.
@jtcohen6 does that mean that reports shouldn't act like nodes in FQN selection? For example, sources can be selected with |
@beckjake That feels right to me. |
I think it just involves tweaking the FQN selector to not look at reports and adding a selector that's a lot like |
That branch I just pushed is not quite right! Still need to handle package.report_name format, and need to fix report/source to output the correct selectors. Currently the |
…eports from fqn slector Make some corresponding fqn adjustments Add dbt ls report output Fix dbt ls source output The default selector now also returns reports Update tests
2adeb37
to
2142e52
Compare
resolves #2730
Description
Add report nodes to dbt.
They participate in the graph (as a "sink": not ref-able, but can use
ref
/source
). That means they also honor selector behavior, which means things likedbt ls --select +my_report
behave,dbt run --models '+state:modified'
runs all ancestors of a modified report, etc.I made two changes unrelated to this PR:
100
- this is a quality of life change to make it easier to run all non-RPC integration tests locally. I removed some unused folders there, too.Checklist
CHANGELOG.md
and added information about my change to the "dbt next" section.