I campi calcolati possono essere utilizzati per calcolare il costo totale di una modifica in base ai vari costi forniti dall'utente: COST_5 = COST_1 + COST_2 + COST_3 + COST_4

Utilizzare la funzione coalesce per arrotondare i valori null a zero: coalesce(COST_1,0) + coalesce(COST_2,0) + coalesce(COST_3,0) + coalesce(COST_4,0)
Un campo dimensioni può essere utilizzato per visualizzare i valori concatenati da campi dedicati: LENGTH||' mm x '||WIDTH||' mm x '||HEIGHT||' mm'

Utilizzare i colori per eseguire il rendering dei campi calcolati e indicare gli stati rilevanti di un processo aziendale. In questo esempio è necessario che un campo STATUS_NAME venga aggiornato dopo transizioni del flusso di lavoro: item.STATUS_NAME = item.descriptor.workflowState

'<div style="border-radius:4px; height:20px; line-height:20px; text-align:center; font-size:0.9em;font-weight:600;width:140px;color:white;background-color:'||
CASE
WHEN (STATUS_NAME = 'Preparation') THEN '#87bc40'
WHEN (STATUS_NAME = 'Technical Validation') THEN '#ffa600'
WHEN (STATUS_NAME = 'CCB Review') THEN '#ee4444'
WHEN (STATUS_NAME = 'Fast Track') THEN '#ee4444'
ELSE '#bbbbbb'
END
||';">'||STATUS_NAME||'</div>'
La grafica con timbro può essere utilizzata per indicare l'approvazione o il rifiuto di una modifica con uno stile che assomiglia a un timbro. In questo esempio è necessario un campo per fornire informazioni sull'approvazione. Questo campo può essere impostato manualmente o tramite script. In questo esempio viene utilizzato il campo CCB_DECISION.

CASE
WHEN (CCB_DECISION is null) THEN '<span style="white-space:nowrap;color:#bbb;font-style:italic;">CCB Review pending</span>’
WHEN (CCB_DECISION = 'Approved') THEN '<div style="border-radius:4px;height:19px;line-height:15px;text-align:center;font-size:0.8em;font-weight:600;width:120px;color:#87bc40;border:3px double #87bc40">APPROVED</div>'
WHEN (CCB_DECISION = 'Rejected') THEN '<div style="border-radius:4px;height:19px;line-height:15px;text-align:center;font-size:0.8em;font-weight:600;width:120px;color:#ee4444;border:3px double #ee4444">REJECTED</div>'
ELSE ' '
END
Questo esempio può essere utilizzato per riconoscere meglio la priorità delle richieste indicate dal colore e dalla grafica.

CASE
WHEN (PRIORITY = 2) THEN '<span sort="4" style="font-size:1.2em;color:#eb4d4d;">■ ■ ■</span>'
WHEN (PRIORITY = 1) THEN '<span sort="3" style="font-size:1.2em; color:#FAA21B;">■ ■</span><span style="font-size:1.2em;color:#e4e4e4;">■</span>'
WHEN (PRIORITY = 3) THEN '<span sort="2" style="font-size:1.2em; color:#8fc844;">■</span><span style="font-size:1.2em;color:#e4e4e4;">■ ■</span>'
ELSE '<span sort="1" style="font-size:1.2em; color:#e4e4e4;">■ ■ ■</span>'
END
Questo esempio di campo calcolato può essere utilizzato per riassumere proprietà di valutazione come priorità, rischi e impegno.

'<div style="float:left;margin-right:2px;
height:20px;width:20px;font-size:0.8em;line-height:20px;border-radius:50%;text-align:center;color:#fff;background:'||
CASE
WHEN(PRIORITY = 1) THEN '#ffa600">2</div>'
WHEN(PRIORITY = 2) THEN '#ee4444">1</div>'
WHEN(PRIORITY = 3) THEN '#8fc844">3</div>'
ELSE '#eee"></div>'
END
||'<div style="float:left;margin-right:2px;height:20px;width:20px;font-size:0.8em;line-height:20px;border-radius:50%;text-align:center;color:#fff;background:'||
CASE
WHEN(RISK = 1) THEN '#ffa600">2</div>'
WHEN(RISK = 2) THEN '#ee4444">1</div>'
WHEN(RISK = 3) THEN '#8fc844">3</div>'
ELSE '#eee"></div>'
END||'<div style="float:left;height:20px;width:20px;font-size:0.8em;line-height:20px;border-radius:50%;text-align:center;color:#fff;background:'||
CASE
WHEN(EFFORT = 1) THEN '#ffa600">2</div>'
WHEN(EFFORT = 2) THEN '#ee4444">1</div>'
WHEN(EFFORT = 3) THEN '#8fc844">3</div>'
ELSE '#eee"></div>'
END
Tenere traccia dell'avanzamento di un processo aziendale utilizzando una barra di avanzamento. Nell'esempio seguente, è necessario definire la barra di avanzamento del campo e aggiornare il campo durante le transizioni del flusso di lavoro.
Dopo aver superato la prima transizione, il campo verrà aggiornato (item.progressbar = 10) per indicare che il 10% del processo aziendale è stato completato.

'<div style="padding:3px 5px 2px;
font-size:0.8em;
text-align:center;
width:120px;
background:linear-gradient (to right, #bfc2c3 0%, #bfc2c3 '||PROGRESS||'%, #dedede '||PROGRESS||'%);border:1px solid #8a8a8a;border-radius:2px;">'||PROGRESS||'%
</div>'
La barra di avanzamento può essere utilizzata anche per indicare il consumo di risorse pianificato rispetto a quello effettivo.

'<div style="min-width:90px;
max-width:calc(100% - 20px);
height:20px; line-height:18px;
border-radius:3px; text-align:center;
font-size:0.9em;
background:linear-gradient(to right,#c2cdd3 0%, #c2cdd3 '||ROUND(((BUDGET_ACTUAL/BUDGET)*100)::numeric, 2)||'%, #f5f7fa '||ROUND(((BUDGET_ACTUAL/BUDGET)*100)::numeric, 2)||'%);border:1px solid #c2cdd3">'|| ROUND(((BUDGET_ACTUAL/BUDGET)*100)::numeric, 2) ||'%
</div>'
I campi calcolati possono essere utilizzati per calcolare la durata e la deviazione dal piano in base alle date di inizio e fine definite dall'utente, nonché alle date di inizio e fine effettive: DATEDIFF('DAY', TARGET_START_DATE, TARGET_COMPLETION_DATE)

La deviazione può essere codificata con colori.

'<div style="border-radius:2px; height:20px;line-height:20px;text-align:center;font-size:0.9em;width:90px;color:white;background-color:'||
CASE
WHEN (TARGET_START_DATE is null) THEN '#bbb">?</div>
WHEN (ACTUAL_START_DATE is null) THEN
CASE
WHEN (DATE_PART('day', NOW() - TARGET_START_DATE) > 0) THEN '#ee4444;">'||DATE_PART('day', NOW() - TARGET_START_DATE)||' days</div>'
WHEN (DATE_PART('day', NOW() - TARGET_START_DATE) < 0) THEN '#87bc40;">'||DATE_PART('day', NOW() - TARGET_START_DATE)||' days</div>
ELSE '#ffa600;">0</div>'
END
ELSE
CASE
WHEN (DATE_PART('day', ACTUAL_START_DATE - TARGET_START_DATE) > 0) THEN '#ee4444;">'||DATE_PART('day', ACTUAL_START_DATE - TARGET_START_DATE)||' days</div>'
WHEN (DATE_PART('day', ACTUAL_START_DATE - TARGET_START_DATE) < 0) THEN '#87bc40;">'||DATE_PART('day', ACTUAL_START_DATE - TARGET_START_DATE)||' days</div>'
ELSE '#ffa600;">0</div>'
END
END
I campi calcolati possono essere utilizzati per aiutare gli utenti a identificare i record modificati di recente.

'<span style="font-style:italic;color:'||
CASE
WHEN (DATE_PART('day’, CURRENT_DATE - LAST_MODIFICATION_DATE) > 10) THEN '#bbbbbb;">'||DATE_PART('day’, CURRENT_DATE - LAST_MODIFICATION_DATE)||' days ago</span>'
WHEN (DATE_PART('day', CURRENT_DATE - LAST_MODIFICATION_DATE) < 1) THEN '#eb4d4d;">today</span>'
WHEN (DATE_PART('day', CURRENT_DATE - LAST_MODIFICATION_DATE) < 2) THEN '#eb4d4d;">yesterday</span>
ELSE '#ffa600;">'||DATE_PART('day', CURRENT_DATE - LAST_MODIFICATION_DATE)||' days ago</span>'
END
I campi calcolati possono essere utilizzati per calcolare i giorni rimanenti. Inoltre, i colori possono essere utilizzati per indicare ritardi e processi completati.

'<div style="border-radius:2px;height:20px;line-height:20px;text-align:center;font-size:0.9em;width:90px;color:white;background-color:'||
CASE
WHEN (TARGET_COMPLETION_DATE is null) THEN '#bbb">?</div>'
WHEN (PROGRESS < 100) THEN
CASE
WHEN (DATE_PART('day', TARGET_COMPLETION_DATE - NOW()) < 0) THEN '#ee4444;">'||DATE_PART('day', TARGET_COMPLETION_DATE - NOW())||' days</div>'
WHEN (DATE_PART('day', TARGET_COMPLETION_DATE - NOW()) < 10) THEN '#ffa600;">'||DATE_PART('day', TARGET_COMPLETION_DATE - NOW())||' days</div>'
ELSE '#87bc40;">'||DATE_PART('day', TARGET_COMPLETION_DATE - NOW())||' days</div>'
END
ELSE '#bbb">DONE</div>
END
I campi calcolati possono essere utilizzati per eseguire il rendering dei codici QR, che è possibile utilizzare nelle stampe per accedere facilmente ai record sui dispositivi mobili. Per abilitare questa opzione, è necessario impostare DMS_ID al momento della creazione dell'articolo tramite script. Il nome del sito e il workspace_ID nell'URL devono essere modificati per la corrispondenza con il sito.

'<img src="https://chart.googleapis.com/chart?cht=qr&chs=180x180&chl=https://<tenantname>.autodeskplm360.net/plm/workspaces/2/items/itemDetails?view=full%26tab=details%26mode=view%26itemId=urn%60adsk,plm%60tenant,workspace,item%60adskdickmans,2,'||DMS_ID||'">'
L'avanzamento di un progetto attraverso le varie fasi e i punti di iniezione può essere visualizzato visivamente e graficamente.

CASE
WHEN (STEP = 99) THEN '<span style="color:#c2cdd3;font-style:italic;">Project cancelled</span>'
ELSE
'<div style="padding-left:3px;border-radius: 4px 0px 0px 4px;border-right:1px solid white;font-size:0.9em;line-height:20px;width:36px;height:20px;text-align:center;color:#fff;float:left;background:'||
CASE
WHEN (STEP = 0) THEN '#c2cdd3'
WHEN (STEP = 1) THEN '#ffa600'
WHEN (STEP = 2) THEN '#ee4444'
ELSE '#8fc844'
END
||'">G1</div><div style="border-right:1px solid white;font-size:0.9em;line-height:20px;width:36px;height:20px;text-align:center;color:#fff;float:left;background:'||
CASE
WHEN (STEP < 3) THEN '#c2cdd3'
WHEN (STEP = 3) THEN '#ffa600'
WHEN (STEP = 4) THEN '#ee4444'
ELSE '#8fc844'
END
||'">G2</div><div style="border-right:1px solid white;font-size:0.9em;line-height:20px;width:36px;height:20px;text-align:center;color:#fff;float:left;background:'||
CASE
WHEN (STEP < 5) THEN '#c2cdd3'
WHEN (STEP = 5) THEN '#ffa600'
WHEN (STEP = 6) THEN '#ee4444'
ELSE '#8fc844'
END
||'">G3</div><div style="border-right:1px solid white;font-size:0.9em;line-height:20px;width:36px;height:20px;text-align:center;color:#fff;float:left;background:'||
CASE
WHEN (STEP < 7) THEN '#c2cdd3'
WHEN (STEP = 7) THEN '#ffa600'
WHEN (STEP = 8) THEN '#ee4444'
ELSE '#8fc844'
END
||'">G4</div><div style="font-size:0.9em;line-height:20px;width:36px;height:20px;text-align:center;color:#fff;float:left;border-radius: 0px 4px 4px 0px;padding-right:3px;background:'||
CASE
WHEN (STEP < 9) THEN '#c2cdd3'
WHEN (STEP = 9) THEN '#ffa600'
WHEN (STEP = 10) THEN '#ee4444'
ELSE '#8fc844'
END
||'">G5</div>'
END
I campi calcolati possono essere utilizzati per visualizzare le valutazioni (stelle). Questo fornisce un rapido indizio visivo e aiuta a comprendere le decisioni sulle priorità.

CASE
WHEN (RATING_1 = 1) THEN '<span style="color:#ffa600">★</span>'
WHEN (RATING_1 = 2) THEN '<span style="color:#ffa600">★★</span>'
WHEN (RATING_1 = 3) THEN '<span style="color:#ffa600">★★★</span>'
WHEN (RATING_1 = 4) THEN '<span style="color:#ffa600">★★★★</span>'
WHEN (RATING_1 = 5) THEN '<span style="color:#ffa600">★★★★★</span>'
END
I campi calcolati consentono di semplificare la visualizzazione di URL lunghi, trasformandoli in pulsanti.

'<a style="border: 1px solid #bec8d2;border-radius:3px;padding:6px 20px;color: #0a131c;font-weight:600;line-height:32px;text-align:center;text-decoration:none !important;white-space:nowrap;" target="_blank" href ="https://<tenantname>.autodeskplm360.net/plm/workspaces/54/addItem">Create Problem Report</a>'