In this article
1: Summary
As SmartHub evolves, some transform types and functions have been deprecated (retired or replaced) to improve consistency, performance, and clarity. This guide lists those items, what to use instead, and important behavior changes to be aware of when migrating or refactoring older CDL.
2: Deprecated Table Types
Old: table variablePivot
Replaced by: table unPivot
Previously used for pivoting variables into rows. The new unPivot transform offers more flexibility and a consistent syntax for handling metadata, variable scoring, and additional fields.
3: Deprecated Functions
dimensionItems
Old: dimensionItems()
Merged into: dimensionQuestions()
The behavior of dimensionItems() has been folded into dimensionQuestions() to simplify how dimension content is referenced in expressions.
// OLD
dimensionItems()
// NEW
dimensionQuestions()
vscore
Old: vscore()
Merged into: score()
The score() function now handles all value-to-score operations for singleChoice and rating variables.
// OLD
vscore(:q1)
// NEW
score(:q1)
viif
Old: viif()
Merged into: iif()
All conditional logic should now use the iif() function. It supports single values and vector operations.
// OLD
viif(x > 2, "A", "B")
// NEW
iif(x > 2, "A", "B")
4: Behavior Changes to Watch For
| Deprecated Feature | Behavior Change |
dimensionItems() | Now returns vPaths only, no values |
vscore() | Score logic now unified with score() for both single values and vectors
|
table variablePivot | All pivot behavior now handled via table unPivot |
| Custom recode logic | Use structured recoding ranges and recoding values entities instead of inline conditional logic
|
5: Migration Tips
Always check for older CDL that uses
viif,vscore, ordimensionItemsand update accordingly.If you see
variablePivot, replace it withtable unPivotand update the structure to usevariableValue().Use
iif()combined withscore()to replicate any older scoring logic.Validate all mappings and filters after upgrading deprecated functions to ensure outputs remain accurate.