Complexity Scoring
SQL Code Analysis
At the beginning of script analysis, mark a script with complexity level of LOW
If any of the following conditions are true, then mark the job as MEDIUM complexity:
- At least one loop
- Conventional Statement count greater than 10
- Simple Statement count greater than 1000
- Number of pivot statements between 1 and 3
- Number of XML SQL statements between 1 and 3
If any of the following conditions are true, then mark the job as COMPLEX complexity:
- Number of loops greater than 5
- Conventional Statement count greater than 30
- Simple Statement count greater than 2000
- Number of pivot statements greater than 3
- Number of XML SQL statements greater than 3
If any of the following conditions are true, then mark the job as VERY COMPLEX complexity:
- Number of loops greater than 8
- Conventional Statement count greater than 50
- Simple Statement count greater than 5000
- Number of pivot statements greater than 5
- Number of XML SQL statements greater than 5
Simple Statement count is determined by regex patterning in analyzer config file. Conventional Statement count is determined by below formula:
Conventional Statement count = Total Statement count - Simple Statement count
If the analyzer encounters a SQL procedure or function body inside a SQL file, it will categorize the script as "ETL" for licensing purposes.
Teradata MLOAD and FLOAD scripts follow the same rules as above.
Informatica Code Analysis
At the beginning of mapping analysis, mark mapping with complexity level of LOW
If any of the following conditions are true, then mark the mapping as MEDIUM complexity:
- Number of expressions with 5+ function calls between 2 and 4
- Number of sources > 1
- Number of joins >= 1
- Number of lookups between 4 and 6
- Number of targets > 1
- Overall function call count >= 10
- Number of components (transformations) >= 10
If any of the following conditions are true, then mark the mapping as COMPLEX complexity:
- Three MEDIUM breaks from the list above
- Number of expressions with 5+ function calls between 5 and 7
- Number of mapping components >= 20
- Overall function call count >= 20
- Complex or Unstructured nodes are being used (e.g. Normalizer)
- Number of lookups between 7 and 14
If any of the following conditions are true, then mark the mapping as VERY COMPLEX complexity:
- Three COMPLEX breaks from the list above
- Number of expressions with 5+ function calls > 7
- Number of lookups > 15
- Number of job components >= 50
DataStage Analysis
At the beginning of job analysis, mark job with complexity level of LOW
If any of the following conditions are true, then mark the job as MEDIUM complexity:
- Number of expressions with 5+ function calls between 2 and 4
- Number of sources > 1
- Number of joins >= 1
- Number of lookups between 4 and 6
- Number of targets > 1
- Overall function call count >= 10
If any of the following conditions are true, then mark the job as COMPLEX complexity:
- Three MEDIUM breaks from the list above
- Number of expressions with 5+ function calls between 5 and 7
- Number of job components >= 20
- Overall function call count >= 20
- Complex or Unstructured nodes are being used (ChangeCapture, etc..)
- Number of lookups between 7 and 14
If any of the following conditions are true, then mark the job as VERY COMPLEX complexity:
- Three COMPLEX breaks from the list above
- Number of expressions with 5+ function calls > 7
- Number of lookups > 15
- Number of job components >= 50
Talend Analysis
At the beginning of job analysis, mark job with complexity level of LOW
If any of the following conditions are true, then mark the job as MEDIUM complexity:
- Number of expressions with 5+ function calls between 2 and 4
- Number of sources > 1
- Number of joins >= 1
- Number of job components >= 10
- Number of targets > 1
- Overall function call count >= 10
If any of the following conditions are true, then mark the job as COMPLEX complexity:
- Three MEDIUM breaks from the list above
- Number of expressions with 5+ function calls between 5 and 7
- Number of job components >= 20
- Overall function call count >= 20
- Complex or Unstructured nodes are being used (ChangeCapture, etc..)
If any of the following conditions are true, then mark the job as VERY COMPLEX complexity:
- Three COMPLEX breaks from the list above
- Number of job components >= 50
SSIS Code Analysis
At the beginning of package analysis, mark package with complexity level of LOW
If any of the following conditions are true, then mark the mapping as MEDIUM complexity:
- Number of expressions with 5+ function calls between 2 and 4
- Number of sources > 1
- Number of targets > 1
- Overall function call count >= 10
- Number of package components >= 10
If any of the following conditions are true, then mark the mapping as COMPLEX complexity:
- Three MEDIUM breaks from the list above
- Number of expressions with 5+ function calls between 5 and 7
- Number of package components >= 20
- Overall function call count >= 20
If any of the following conditions are true, then mark the mapping as VERY COMPLEX complexity:
- Three COMPLEX breaks from the list above
- Number of expressions with 5+ function calls > 7
- Number of job components >= 50
Alteryx Code Analysis
At the beginning of package analysis, mark package with complexity level of LOW
If any of the following conditions are true, then mark the mapping as MEDIUM complexity:
- Number of expressions with 5+ function calls between 2 and 4
- Overall function call count >= 10
- Number of job components >= 10
If any of the following conditions are true, then mark the mapping as COMPLEX complexity:
- Three MEDIUM breaks from the list above
- Number of expressions with 5+ function calls between 5 and 7
- Number of package components >= 20
- Overall function call count >= 20
If any of the following conditions are true, then mark the mapping as VERY COMPLEX complexity:
- Three COMPLEX breaks from the list above
- Number of expressions with 5+ function calls > 7
- Number of job components >= 50
BODS Code Analysis
At the beginning of job analysis, mark package with complexity level of LOW
If any of the following conditions are true, then mark the mapping as MEDIUM complexity:
- Number of expressions with 5+ function calls between 2 and 4
- Overall function call count >= 10
- Number of job components >= 10
If any of the following conditions are true, then mark the mapping as COMPLEX complexity:
- Three MEDIUM breaks from the list above
- Number of expressions with 5+ function calls between 5 and 7
- Number of package components >= 20
- Overall function call count >= 20
If any of the following conditions are true, then mark the mapping as VERY COMPLEX complexity:
- Three COMPLEX breaks from the list above
- Number of expressions with 5+ function calls > 7
- Number of job components >= 50
SAS Code Analysis
At the beginning of SAS script analysis, mark the script with complexity level of LOW
If any of the following conditions are true, then mark the script as MEDIUM complexity:
- Macro definition count > 3
- Data block count > 5
- number of statements inside macros and data blocks > 50
- Conditional statement count > 10
- 'DO' loop count > 3
- Count of SQL Procs categorized as MEDIUM > 0
- SQL Proc count > 10
If any of the following conditions are true, then mark the script as COMPLEX:
- Macro definition count > 7
- Data block count > 15
- number of statements inside macros and data blocks > 100
- Conditional statement count > 20
- 'DO' loop count > 10
- Count of SQL Procs categorized as COMPLEX > 0
- SQL Proc count > 20
If any of the following conditions are true, then mark the script as VERY COMPLEX:
- Macro definition count > 15
- Data block count > 25
- number of statements inside macros and data blocks > 150
- Conditional statement count > 50
- 'DO' loop count > 20
- Count of SQL Procs categorized as VERY COMPLEX > 0
- SQL Proc count > 40
Pentaho Code Analysis
At the beginning of mapping analysis, mark mapping with complexity level of LOW
If any of the following conditions are true, then mark the mapping as MEDIUM complexity:
- Number of expressions with 5+ function calls between 2 and 4
- Number of sources > 1
- Number of joins >= 1
- Number of lookups between 4 and 6
- Number of targets > 1
- Overall function call count >= 10
- Number of components (transformations) >= 10
If any of the following conditions are true, then mark the mapping as COMPLEX complexity:
- Three MEDIUM breaks from the list above
- Number of expressions with 5+ function calls between 5 and 7
- Number of mapping components >= 20
- Overall function call count >= 20
- Complex or Unstructured nodes are being used (e.g. Normalizer)
- Number of lookups between 7 and 14
If any of the following conditions are true, then mark the mapping as VERY COMPLEX complexity:
- Three COMPLEX breaks from the list above
- Number of expressions with 5+ function calls > 7
- Number of lookups > 15
- Number of job components >= 50