> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Formula display formats

> Display formats turn dry formula output into visual elements — progress bars, ratings, currency.

## Formula display formats

**Display formats** make data come alive — turn formula output into visual elements like **progress bars**, **ratings**, **currency**.

In the past, formula results could only show as plain text or numbers. With display formats, the table looks better — and you finally fix the long-standing pain point of "progress bars not auto-updating with data".

### Set display format

Configure on creation or update an existing formula field.

1. Click the formula field's column header to open the config panel.
2. Click the **Display format** dropdown.
3. Pick a style based on the result data type (e.g., **Progress**).
4. Configure params per format (color, format, etc.).
5. Click Confirm.

![](https://img.alicdn.com/imgextra/i1/O1CN01eYAR2g1V1BkLx7gt0_!!6000000002592-2-tps-1068-759.png)

![](https://img.alicdn.com/imgextra/i3/O1CN016aRQcH1VvWSkMhH7o_!!6000000002715-2-tps-1062-801.png)

![](https://img.alicdn.com/imgextra/i1/O1CN01ez4E9l1PFUQ3GGop1_!!6000000001811-2-tps-795-624.png)

### Core scenarios and configs

#### 1. Auto-updating project progress bar

**Pain point**: with a regular **Progress** field, you had to drag the percentage manually. When task counts changed, the bar didn't update — high maintenance cost.

**Fix**: compute completion rate via formula, render as a progress bar.

* **Formula**: `[Pre-order Quantity] / [Target Quantity]`
* **Format**: pick **Progress**.
* **Params**: enable **Custom progress range**, set start to `0`, target to `1` (= 100%).
* **Result**: when "completed tasks" updates, the bar moves automatically — no manual edit.

![](https://img.alicdn.com/imgextra/i4/O1CN01KUs0bn1UkF5lzXQTz_!!6000000002555-2-tps-1055-803.png)

![](https://img.alicdn.com/imgextra/i4/O1CN01YQ8DTM1aXJbk2Dyc7_!!6000000003339-2-tps-791-621.png)

#### 2. Performance / satisfaction rating

**Scenario**: weighted average across dimensions (skills, communication, experience) — display as stars.

* **Formula**: `AVERAGE([Skills], [Communication], [Experience])`
* **Format**: pick **Rating**.
* **Params**: max value = 10.
* **Result**: shows as ⭐ — easy to read.

![](https://img.alicdn.com/imgextra/i2/O1CN01sM67X21OVEPt3k6cI_!!6000000001710-2-tps-1125-801.png)

![](https://img.alicdn.com/imgextra/i4/O1CN01nev0iw1Em2nX8RyBr_!!6000000000393-2-tps-1028-480.png)

#### 3. Currency formatting

**Scenario**: sales total comes back as `289710` — no symbol, no thousands separator.

* **Formula**: `[Live price] * [Pre-sale qty]`
* **Format**: pick **Currency**.
* **Params**: symbol `¥`, 2 decimals.
* **Result**: `¥ 289,710.00` — clean for finance.

![](https://img.alicdn.com/imgextra/i3/O1CN01ScodrA1bQH8OVTJBP_!!6000000003459-2-tps-1055-801.png)

![](https://img.alicdn.com/imgextra/i3/O1CN01nafNHs1U1MHH6GQJR_!!6000000002457-2-tps-794-480.png)

### Supported formats

The system offers different formats based on the formula's output data type:

| Format       | Required type                   | Example      |
| ------------ | ------------------------------- | ------------ |
| **Number**   | number                          | `1,000.00`   |
| **Currency** | number                          | `¥ 299.00`   |
| **Date**     | date / timestamp                | `2026-01-22` |
| **Progress** | number (typically 0-1 or 0-100) | 80           |
| **Rating**   | number                          | ⭐⭐⭐⭐⭐        |

### Notes

#### 1. Type-match check

Not every formula can use any format. If output is text (e.g., `CONCATENATE("Name", "Address")`), forcing **Progress** or **Rating** errors.

* **Message**: **Can't compute. Please change the format.**
* **Fix**: switch back to **Default** or **Text**.

#### 2. Convert to another field type

To freeze the data and stop auto-computing, change field type.

* Steps: double-click the header → **Field type** → pick **Number** or another type.
* **Risk**: after conversion, the field loses auto-compute — only the current value remains as static data.

### FAQ

* **Q**: Why can't my formula field pick **Progress** format?

  **A**: Check whether the formula's output is a **number**. If it includes text concat (e.g., `Text`), the system treats it as text — can't render as a progress bar.

* **Q**: Can I drag the formula-generated progress bar like a regular one?

  **A**: No. Formula values are strictly governed by the computation — **manual edit not supported**. For manual progress, use a regular Progress field.

* **Q**: Why does the formula's date result show as a long number?

  **A**: Dates are stored as timestamp numbers. In **Display format**, pick **Date** — it converts to a readable format like "YYYY-MM-DD".
