Setup
How to useCTRL-S Features CTRL-S1. SQL FormattingBase: sql-formatter (https://github.com/vertical-blank/sql-formatter) { language: 'bigquery', keywordCase: 'upper', linesBetweenQueries: 2 } 2. ReplacesUmlaute ä, Ä, ü, Ü, ö, Ö, ß -> ae, Ae, ue, Ue, oe, Oe, ss Keywords to Uppercase (that sql-formatter library missed) const manualKeywords = [ 'min\\(', 'max\\(', 'cast\\(', 'row_number\\(', 'rank\\(', 'abs\\(', 'sum\\(', 'avg\\(', 'round\\(', 'date', 'datetime', 'timestamp', 'int', 'int64', 'numeric', 'string', 'bool', 'ifnull', 'if', 'elseif', 'while', 'coalesce', 'safe_cast\\(', 'array_length\\(', 'left\\(', 'right\\(', 'length\\(', 'substring\\(', 'concat\\(', 'lower\\(', 'upper\\(', 'trim\\(', 'ltrim\\(', 'rtrim\\(' ]; 3. Remove Linebreaks / Empty Lines(* = 1 or more linebreaks/empty lines) - DECLARE...;*DECLARE...; -> DECLARE...;\nDECLARE...; - STRUCT< e1, *e2, *e3> -> STRUCT< e1, e2, e3> - IF * AND/OR -> IF AND/OR - END * WHILE; -> END WHILE; - SET * ...; -> SET...; 3. Add Linebreaks / Empty Lines- WHILE DO -> WHILE\nDO - BEGIN IF -> BEGIN\nIF - Above a comment 4. Add Intent- BEGIN ... END; - WHILE DO ... END WHILE; - IF...ENDIF; 4. OSAV SpecificStep Aliases - add comment that indicates the step's number(-- [STEP ALIAS 2/10]) Features CTRL-ALT-S1. Quality ChecksGeneral - string variables(table_name, resource_identifier, ...) not empty - unique_row_id either TRUE/FALSE - [Warning] sharepoint not emtpy Sources - name contains only lowercase letters, numbers and underscore - name does not end with underscore - data group filter is valid ("Only Newest", "Only Newest by Date", ...) Columns - name contains only lowercase letters, numbers and underscore - data type is valid ("INT64", "STRING", ...) - description not empty Combination of Sources - name contains only lowercase letters, numbers and underscore - name does not end with underscore - last step alias is called 'final' |