File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -155,6 +155,98 @@ Note pratiche:
155155| ` ranges ` | ` dict[str, RangeRule] ` | ` {} ` |
156156| ` min_rows ` | ` int \| null ` | ` null ` |
157157
158+ Note pratiche:
159+
160+ - ` clean.validate ` controlla il parquet CLEAN complessivo del dataset/anno
161+ - ` mart.validate.table_rules ` controlla invece ogni tabella MART per nome
162+ - le chiavi di ` table_rules ` devono corrispondere ai ` name ` dichiarati in ` mart.tables `
163+ - se una regola punta a una tabella non dichiarata, il validator la segnala come orphan rule
164+
165+ Esempio minimo corretto:
166+
167+ ``` yaml
168+ mart :
169+ tables :
170+ - name : mart_summary
171+ sql : sql/mart/mart_summary.sql
172+ required_tables :
173+ - mart_summary
174+ validate :
175+ table_rules :
176+ mart_summary :
177+ min_rows : 1
178+ ` ` `
179+
180+ Esempio tipico con piu' vincoli su una tabella:
181+
182+ ` ` ` yaml
183+ mart :
184+ tables :
185+ - name : mart_summary
186+ sql : sql/mart/mart_summary.sql
187+ required_tables :
188+ - mart_summary
189+ validate :
190+ table_rules :
191+ mart_summary :
192+ required_columns :
193+ - anno
194+ - totale
195+ not_null :
196+ - anno
197+ - totale
198+ primary_key :
199+ - anno
200+ ranges :
201+ totale :
202+ min : 0
203+ min_rows : 1
204+ ` ` `
205+
206+ Esempio completo con due tabelle:
207+
208+ ` ` ` yaml
209+ clean :
210+ validate :
211+ primary_key :
212+ - anno
213+ - comune
214+ not_null :
215+ - anno
216+
217+ mart :
218+ tables :
219+ - name : mart_summary
220+ sql : sql/mart/mart_summary.sql
221+ - name : mart_detail
222+ sql : sql/mart/mart_detail.sql
223+ required_tables :
224+ - mart_summary
225+ - mart_detail
226+ validate :
227+ table_rules :
228+ mart_summary :
229+ required_columns :
230+ - anno
231+ - totale
232+ primary_key :
233+ - anno
234+ min_rows : 1
235+ mart_detail :
236+ required_columns :
237+ - anno
238+ - comune
239+ primary_key :
240+ - anno
241+ - comune
242+ ` ` `
243+
244+ Errori comuni:
245+
246+ - mettere ` required_columns`, `not_null` o `primary_key` direttamente sotto `mart.validate` invece che dentro `table_rules.<nome_tabella>`
247+ - usare come chiave di `table_rules` un nome diverso da quello dichiarato in `mart.tables`
248+ - aspettarsi che `clean.validate` valga automaticamente anche per le tabelle MART
249+
158250# # cross_year
159251
160252` cross_year` definisce output opzionali multi-anno. Non entra nel loop annuale di `raw/clean/mart`.
You can’t perform that action at this time.
0 commit comments