infinitelambda / dq-tools Goto Github PK
View Code? Open in Web Editor NEWMake simple storing test results and visualisation of these in a BI dashboard
Home Page: https://infinitelambda.github.io/dq-tools/
License: Apache License 2.0
Make simple storing test results and visualisation of these in a BI dashboard
Home Page: https://infinitelambda.github.io/dq-tools/
License: Apache License 2.0
Migrate dbt metric to the new definition here
Legacy dbt metric is still available up to dbt v1.5
If we try to use the package within dbt v1.6, it will fail even when the metrics are disabled
People want to use dbt v1.6
Able to report the Test Coverage of the project on each Invocation (possibly report on each Job)
Test Coverage will have new metrics:
coverage_pct
)ratio_test_to_column
)Test Coverage should have option to exclude models from its calculation.
Suggested formula:
๐ข Percentage of data scanned by tests (coverage_pct
)
= (1) * (2) * (3)
๐ข Ratio of Tests vs Columns (ratio_test_to_column
)
= (1) / (2)
Input required following columns in dq_issue_log
:
If a test is added that does not default to one of the six kpi categories, build fails because of this test. The test doesn't allow "Other" as a KPI category or any customer kpi category that is defined in a test
Add a test with a different kpi_category, example:
tests: - dq_tools.not_null_where_db: severity_level: error kpi_category: TEST
The test should not fail
The test fails
16:09:21 On test.dq_tools.accepted_values_bi_column_analysis_kpi_category__Validity__Timeliness__Accuracy__Uniqueness__Completeness__Consistency.567ad2dc7e: select
count(*) as failures,
count(*) != 0 as should_warn,
count(*) != 0 as should_error
from (
with all_values as (
select
kpi_category as value_field,
count(*) as n_records
from ANALYTICS_DEV.dbt_pgallagher.bi_column_analysis
group by kpi_category
)
select *
from all_values
where value_field not in (
'Validity','Timeliness','Accuracy','Uniqueness','Completeness','Consistency'
)
) dbt_internal_test
16:09:21 Opening a new connection, currently in state closed
16:09:22 SQL status: SUCCESS 1 in 0.0 seconds
16:09:22 Timing info for test.dq_tools.accepted_values_bi_column_analysis_kpi_category__Validity__Timeliness__Accuracy__Uniqueness__Completeness__Consistency.567ad2dc7e (execute): 16:09:21.747536 => 16:09:22.268494
16:09:22 On test.dq_tools.accepted_values_bi_column_analysis_kpi_category__Validity__Timeliness__Accuracy__Uniqueness__Completeness__Consistency.567ad2dc7e: Close
16:09:22 105 of 187 FAIL 1 accepted_values_bi_column_analysis_kpi_category__Validity__Timeliness__Accuracy__Uniqueness__Completeness__Consistency [FAIL 1 in 0.64s]
The contents of your packages.yml
file:
- package: infinitelambda/dq_tools
version: [">=1.4.0", "<1.5.0"]
Which database are you using dbt with?
The output of dbt --version
:
1.6
All that is needed to add "Other" to the list of excepted values in this test
(https://github.com/infinitelambda/dq-tools/blob/11b696b9f9c066183619563b9ca5a850bf3f50f0/models/03_mart/data-quality-score/bi_column_analysis.yml#L23C6-L23C6)
I can update the test, will need someone to deploy it.
dbt_dq_tool_database
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.