Comments (26)
+1 for being able to map colours to tags. One additional thought - may people (e.g. in an ingestion,curation,calcuation,consumption architecture) have clearly defined 'layers' or groupings (e.g. staging, intermediate marts, core marts) of models. To be able to force the models into virtual columns (with a title) would be fantastic e.g.
I'm already denoting these layers using model tags.
from dbt-docs.
Hi -- would like to upvote both of these feature requests (ability to color code, and ability to set columns for designated layers). This would be super useful, including for reviews such as demoed in your own video here: https://www.youtube.com/watch?v=5W6VrnHVkCA&list=PL0QYlrC86xQmPf9QUceFdOarYcv3ETSsz
(also raised in dbt's Slack community)
Thoughts?
from dbt-docs.
I agree with @yarodmi, it would be really useful to be able to define/override color rules.
I really like the idea of being able to define background colors and border colors for the nodes. I'd certainly use it to differentiate sources, staging models and fact/dimension tables. I could easily see this as a simple parameter in the source or dbt_project YAML files, eg:
schema.yml
sources:
- name: retently
docs_background_color: BFBFC0
docs_border_color: 3346F3
..other source config..
- name: gsheets
docs_background_color: BFBFC0
docs_border_color: 267C0B
..other source config..
dbt_project.yml
models:
my_project:
marts:
docs_background_color: 10C3C3
staging:
docs_background_color: 4F0BC4
I think it would require being able to set background color, text color and border color at the minimum.
from dbt-docs.
Hi Team,
I really think this will be a very useful feature.
Thou, I would suggest providing the ability to apply custom colour coding (rather than just different sources) as there might be different use cases.
Few examples where I would love to use it :
- quite often I am having multiple database schemas representing different architecture layers. Would be great to see them(schemas) in different colours so it is clear whats where
- highlight facts and dimensions in different colors
- highlight different materializations (what is a view and what is a table for example). We often start from 'everything as a view' and then deciding what models are useful to materialize. Seeing this in a graph will be very useful.
To simplify the adoption, might be reasonable to pre-define some colours for some tags (config(tags=["dimension"]) or config(tags=["fact"]) config(tags=["base"]) plus the ability to define a custom mapping.
Thanks in advance!
from dbt-docs.
In v1.3, a custom node_color
config will be supported for all models, seeds, snapshots, and tests: https://docs.getdbt.com/reference/resource-configs/docs#custom-node-colors
We chose not to extend it to sources, exposures, and metrics for now. Still, that capability should go a way toward enabling a number of the desires in this thread!
from dbt-docs.
Reposting here from the dbt Slack #suggestions channel per Drew's advice - another extension of the lineage graph color-coding I'd like to see (not related to sources, but rather the search filter). When I filter down to specific --models
it would be helpful if the model
I name in my search were lit up (kind of like things light up purple when you select them). I often use the +model+
or @model
searches here pretty frequently and sometime there are too many models loading in to stay grounded around my search.
from dbt-docs.
I also think this could be very valuable, it would help us identify regions of different sources.
from dbt-docs.
@drewbanin - columns and colours would be close to my HIGHEST priority right now. Why? Because we're teaching every client how to live/breathe/think DBT and those two things help the DAG be the central unifying concept of the whole. Without them, any moderate sized DAG becomes fairly useless for understanding as a whole.
from dbt-docs.
@drewbanin i guess it could become very colorful and you would need to choose "easy" colors. But as currently the sources get distributed all over the graph it is already colorful with just the green. Maybe if you could somehow cluster them together it would probably also be easier to use some more discreet common element like colored border or just a different shades of grey? Or maybe you could group the different source tables together and put them in a (colored) box/container if they were all in the same place?
from dbt-docs.
Hello @everyone, I came accross this issue one week ago while looking for a solution to improve the lineage view of my project.
After unsucessful searchs, I'm planning to explore some solutions that I could build in an external tool. Before starting any development, I would like to know if some participants are still looking for a solution, if yes please let me know with A VOTE on this comment.
Below are potentital features, I was able to extract based on comments in this issue:
-> (7) apply custom color coding
- highlight database schemas
- highlight facts and dimensions in different colors
- highlight different materializations (what is a view and what is a table for example).
- Apply color based on tags
-> (46) Group model by layers and Highlight layers
-> (5) Search functionality with model highlighted when matching search query
Thanks.
from dbt-docs.
@PowdyPowPow cool idea! I think it might look kind of wonky to color every source differently... maybe that's just something that we need to experiment with. It could be interesting to tone down the color (like use gray instead of green, or something) and then use a differently colored border, for instance.
What do you think?
from dbt-docs.
@drewbanin Hey Drew! Hope all is well :) this issue seems quite stale but it's something that our team would love to have. Any suggestions on where to start in the code base to make a contribution to this?
Specifically, implementing alignment "zones" based on tags like in @guy-adams drawing above!
from dbt-docs.
It would be important to visually distinguish nodes by layers. At the same time, I would like to cluster nodes by schema and database in terms of dbt, because our BigQuery tables exist in different google cloud projects and datasets. That would enable us to easily manage and audit dbt models.
from dbt-docs.
+1 dbt Cloud user
They would like to visually represent the modelling layers as different color nodes. Ex: stg models are represented by blue vs intermediate represented by orange etc. This is to make differentiating the different types of models easier within the DAG visualization.
from dbt-docs.
Great news - thanks Jeremy!!
from dbt-docs.
+1 I would like to visually represent Databrick's medallion architecture
from dbt-docs.
In v1.3, a custom
node_color
config will be supported for all models, seeds, snapshots, and tests: https://docs.getdbt.com/reference/resource-configs/docs#custom-node-colorsWe chose not to extend it to sources, exposures, and metrics for now. Still, that capability should go a way toward enabling a number of the desires in this thread!
How does one use node_color
on seed nodes?
from dbt-docs.
Would it be possible to change the text color of the node name?
from dbt-docs.
How does one use
node_color
on seed nodes?
@serene-capybara to use node color on seeds, you'd do something like this in your dbt_project.yml
:
seeds:
+docs:
node_color: "#cd7f32"
Or something like this within a YAML file like models/_seeds.yml
:
seeds:
- name: my_seed
docs:
node_color: purple
from dbt-docs.
Would it be possible to change the text color of the node name?
@patriklundberg changing the text color is not possible, but #408 has some discussion of how to achieve higher contrast between the text and the background color.
from dbt-docs.
Hi @ngouass
Color coding is now supported since dbt 1.3 (see @jtcohen6 's Sep 6, 2022 post); I believe that can cover items 1-5 on your list (using either tags or model file/pathnames as intermediary to apply the color coding to as needed). I've used it to indicate the different materializations (your item 4).
Personally, I'd still be very interested in options to improve the layouting, in particular the ability to have models assigned to certain columns, to represent the layers -- very nicely visualized by @guy-adams in his Oct 25, 2019 post above (your item 6, I believe). This could be in the form of a strict (column) assignment or as "hints" to the auto-layouting. Whether I'd be interested in using an additional tool for that would depend on the ease of use/ease of integration in the toolchain.
from dbt-docs.
Hi @ptc-sgauglitz,
Thank you for your answer, I will check the documentation to use that colour code feature.
About the columns assignment to models, I will try to address that in the incoming weeks and get back to you in order to have some feedbacks.
from dbt-docs.
+1 for being able to map colours to tags. One additional thought - may people (e.g. in an ingestion,curation,calcuation,consumption architecture) have clearly defined 'layers' or groupings (e.g. staging, intermediate marts, core marts) of models. To be able to force the models into virtual columns (with a title) would be fantastic e.g.
I'm already denoting these layers using model tags.
DId you open another issue/feature requests with the layer positioning idea?
from dbt-docs.
DId you open another issue/feature requests with the layer positioning idea?
I did not open another issue nor am I aware of one; it seems both requests were discussed on this one thread.
At least for my purposes, the "color" aspect of it is addressed since dbt 1.3; I would support opening a separate issue specifically for the layouting/"assign columns" aspect. I think this would still be very helpful. I'd be happy to open that issue, or please copy me on it if somebody else opens it.
from dbt-docs.
#330 and #438 address layout, but maybe not specifically "columns"
from dbt-docs.
thanks @mattyb !
#438 looks to be more specific if I see that correctly.
#330 is, to my understanding, quite similar to (at least some of) the asks/suggestions here, but it hasn't seen any traction and has been closed due to inactivity -- which is curious given that the ask here has repeatedly drawn lots of upvotes/interest 🤔
I'd be inclined to open a new issue, citing the tickets and above and referencing the interest voiced in this thread too 🤔
from dbt-docs.
Related Issues (20)
- [CT-3077] Testing issue opening from another workflow
- [CT-3089] [CT-3065] [Feature] DBT docs allow to view grants for each model HOT 1
- [CT-3237] Display compiled metric code in docs HOT 2
- [CT-3238] Display the metric definition/configuration in dbt docs HOT 2
- [CT-3244] [CT-3241] [Feature] Docs increase size of Description field and reduce the column field size HOT 2
- [CT-3248] [CT-3247] [Feature] <dbt docs - support for nested path> HOT 2
- [CT-3265] The docs generated for exposures should display owner HOT 2
- [CT-3331] Exposures aren't displaying any properties (dbt > 1.6.0) HOT 2
- [CT-3371] Include unit tests in dbt docs HOT 3
- [CT-3427] [CT-3415] [Feature] LaTeX rendering in DBT docs HOT 1
- [CT-3498] [CT-3490] DBT Docs: Add Meta As A Filter Checkbox
- [CT-3523] [regression] missing details for exposures in dbt docs page
- [CT-3530] Presence of `saved_queries` breaks lineage viz
- [CT-3533] dbt docs generate doesn't hide package's documentation HOT 3
- Docs only showing tags in details section of source objects HOT 3
- Macro naming conventions HOT 4
- Testing issue opening from another workflow
- [Feature] Add information on the column type to the documenation of source tables HOT 1
- Docs site does not support unit tests HOT 3
- [Feature] Display the model-level constraints in the documentation generated by dbt HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dbt-docs.