Skip to content

Commit c4fff35

Browse files
authored
Merge pull request #1072 from Qualytics/qua-1518-update-the-field-status-structure-files
QUA-1518: Update the Field Status structure files
2 parents e2939cc + a1ceb90 commit c4fff35

15 files changed

Lines changed: 71 additions & 61 deletions

docs/fields/computed-fields/computed-fields-details.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ Deleting a computed field permanently removes both the **transformation definiti
6767
2. Click the **Delete** button in the top-right corner of the field page.
6868
3. Confirm the deletion in the dialog.
6969

70-
### What Happens When a Computed Field is Deleted
70+
### What Happens When a Computed Field is Deleted?
7171

7272
- The **transformation definition** is permanently removed
7373
- The **output field** is permanently removed

docs/fields/computed-fields/transformation-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
The **Cast** transformation converts field values to a specified target data type using Spark SQL casting rules. This is commonly used when a field is ingested as a string but must behave as a numeric, date, timestamp, or boolean value for profiling, checks, or downstream computations.
66

7-
### When to Use Cast
7+
### When to Use Cast?
88

99
Use **Cast** when:
1010

docs/fields/field-profiles.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
A Field Profile provides a detailed breakdown of a field’s data after a profiling operation. It helps you understand the structure, quality, and distribution of values for each field inside a container.
44

5-
## What Field Profiles Are Used For
5+
## What Field Profiles Are Used For?
66

77
Field Profiles help you:
88

@@ -13,7 +13,7 @@ Field Profiles help you:
1313

1414
These insights make it easier to detect data issues early and understand how a field behaves over time.
1515

16-
## How Field Profiles Are Generated
16+
## How Field Profiles Are Generated?
1717

1818
Field Profiles are automatically created when you run a [**Profile**](../source-datastore/profile.md){target="_blank"} operation on a container:
1919

docs/fields/field-status/concepts/field-status-faq.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Only **missing** fields and **computed fields** can be permanently deleted. Addi
3030

3131
#### How do I know if a field has changed status?
3232

33-
Fields display visual status indicators in the field listing. Masked fields show an amber shield icon, missing fields show a warning icon (yellow/orange), and excluded fields show a negative icon (red). You can also use the [status tabs](../managing-field-status/filtering-by-status.md) to filter and view fields by their current status.
33+
Fields display visual status indicators in the field listing. Masked fields show an amber shield icon, missing fields show a warning icon (yellow/orange), and excluded fields show a negative icon (red). You can also use the [status tabs](../managing-field-status/filtering-by-status.md){:target="_blank"} to filter and view fields by their current status.
3434

3535
#### Will a missing field affect my data quality score?
3636

@@ -42,7 +42,7 @@ The field is automatically restored to **Active** status during the next profile
4242

4343
#### Can I manually restore a missing field?
4444

45-
No, a missing field cannot be manually restored. It is automatically restored to **Active** when the field reappears in the source data during a subsequent profile operation. If the field will not reappear, you can use the [merge](merge-fields.md) operation if the field was renamed.
45+
No, a missing field cannot be manually restored — the platform will reject the request. It is automatically restored to **Active** when the field reappears in the source data during a subsequent profile operation. If the field will not reappear, you can use the [merge](merge-fields.md){:target="_blank"} operation if the field was renamed.
4646

4747
#### Does excluding a field affect computed fields that depend on it?
4848

@@ -58,7 +58,7 @@ No, the Missing status is automatically assigned by the system during profiling
5858

5959
#### What happens when I merge two fields?
6060

61-
The source field (old, with history) adopts the target field's name, and the target field record is removed. All historical field profiles, anomalies, and quality checks from both fields are preserved under the merged field. The merged field is set to **Active** status. For more details, see [Merge Fields](merge-fields.md).
61+
The source field (old, with history) adopts the target field's name, and the target field record is removed. All historical field profiles, anomalies, and quality checks from both fields are preserved under the merged field. The merged field is set to **Active** status. For more details, see [Merge Fields](merge-fields.md){:target="_blank"}.
6262

6363
#### What happens to container identifiers when a field goes missing?
6464

@@ -101,12 +101,16 @@ No. Masked field values that appear in anomaly check details and assertion conte
101101

102102
#### Can I manage field status via API?
103103

104-
Yes. All field status operations — masking, excluding, restoring, deleting, and merging — are available through the Qualytics API. You can also perform bulk operations to update multiple fields at once. See the [Field Status API](field-status-api.md) page for endpoints, parameters, and examples.
104+
Yes. All field status operations — masking, excluding, restoring, deleting, and merging — are available through the Qualytics API. You can also perform bulk operations to update multiple fields at once. See the [Field Status API](field-status-api.md){:target="_blank"} page for endpoints, parameters, and examples.
105105

106106
#### Can I mask or exclude multiple fields at once?
107107

108-
Yes. The platform supports bulk operations for updating, excluding, and restoring fields. You can change the status of multiple fields in a single API request using the bulk endpoints. See the [Field Status API](field-status-api.md) for details.
108+
Yes. The platform supports bulk operations for masking, unmasking, excluding, restoring, and deleting fields. You can perform bulk actions directly from the container's field listing by selecting multiple fields and choosing the desired action from the toolbar. Bulk operations are also available via the API — see the [Field Status API](field-status-api.md){:target="_blank"} for details.
109109

110110
#### Can I rename a field that is excluded or missing?
111111

112112
No. Only **active** and **masked** fields can be renamed. Excluded and missing fields must first be restored to active status before they can be renamed.
113+
114+
#### Can I mask an excluded or missing field directly?
115+
116+
No. Only **active** fields can be masked. If a field is excluded, you must first restore it to active status and then mask it. Missing fields cannot be masked — they must reappear in the source data first.

docs/fields/field-status/concepts/field-status-lifecycle.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,13 @@ flowchart LR
2929
Start(( )) -- Field discovered during first profile --> Active
3030
3131
Active -- Field not found in profile results --> Missing
32+
Masked -- Field not found in profile results --> Missing
3233
Missing -- Field reappears in profile results --> Active
3334
3435
Missing -- Permanently delete --> End(( ))
3536
3637
style Active fill:#4CAF50,color:#fff,stroke:#388E3C
38+
style Masked fill:#FFA726,color:#fff,stroke:#F57C00
3739
style Missing fill:#FFEE58,color:#000,stroke:#F9A825
3840
style Start fill:#333,stroke:#333
3941
style End fill:#333,stroke:#333
@@ -46,6 +48,7 @@ flowchart LR
4648
| **New → Active** | Field discovered during initial profile | Yes | None — this is the default state |
4749
| **Active → Masked** | User masks the field | No | Values hidden across the platform; no impact on quality checks |
4850
| **Active → Missing** | Field not found in subsequent profile | Yes | Dependent computed fields also marked as Missing; container identifiers referencing this field are cleared |
51+
| **Masked → Missing** | Field not found in subsequent profile | Yes | Same as Active → Missing |
4952
| **Active → Excluded** | User manually excludes the field | No | Quality checks archived (except Expected Schema); dependent computed fields excluded recursively |
5053
| **Masked → Active** | User unmasks the field | No | Values become visible again across the platform |
5154
| **Masked → Excluded** | User manually excludes the field | No | Same as Active → Excluded |

docs/fields/field-status/concepts/field-status-types.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Qualytics assigns one of four statuses to each field:
44

5-
| Status | Assigned By | Description |
5+
| Status | Assignment | Description |
66
| :--- | :--- | :--- |
77
| **Active** | Automatic | The field is fully operational. It will be included in profiling (collecting metadata and statistics), scan operations (detecting anomalies), and quality checks will run against it. This is the default status assigned by the system when a field is first discovered during a profile operation. |
88
| **Masked** | Manual | The field is fully operational (profiled, scanned, quality-checked) but its actual values are hidden by default. Users with Editor permission can request to view the real values, and every reveal action is audit-logged. |
@@ -12,7 +12,7 @@ Qualytics assigns one of four statuses to each field:
1212
!!! info
1313
**Active** and **Masked** are both considered **operational** statuses. Everything you can do with an active field, you can also do with a masked field — the only difference is that masked field values are hidden by default.
1414

15-
## How Statuses Are Assigned
15+
## How Statuses Are Assigned?
1616

1717
### Active (Automatic)
1818

@@ -49,7 +49,7 @@ Key behaviors for missing fields:
4949

5050
- **Automatic restoration**: If the field reappears in a subsequent profile, it is automatically restored to **Active**
5151
- **No check archival**: Quality checks are not archived for missing fields (unlike excluded fields), since the status is expected to be transient
52-
- **Cascading**: If a source field goes missing, any computed fields that depend on it are also marked as **Missing**
52+
- **Cascading**: When a profile marks a source field as Missing, any computed fields that depend on it are also marked as **Missing** within that same run
5353

5454
### Excluded (Manual)
5555

@@ -70,9 +70,9 @@ Fields display visual status indicators to help you quickly identify their state
7070

7171
| Ref. | Status | Color | Icon |
7272
| :--- | :--- | :--- | :--- |
73-
| 1 | **Active** | Default (neutral) | Standard field type icon |
73+
| 1 | **Active** | Default (neutral) | Check circle icon (`mdi-check-circle`) |
7474
| 2 | **Masked** | Amber/Warning | Shield lock icon (`mdi-shield-lock-outline`) |
75-
| 3 | **Missing** | Warning (yellow/orange) | Alert icon with "Missing field" tooltip |
76-
| 4 | **Excluded** | Negative (red) | Alert icon with "Excluded field" tooltip |
75+
| 3 | **Missing** | Warning (yellow/orange) | Alert circle icon (`mdi-alert-circle`) with "Missing field" tooltip |
76+
| 4 | **Excluded** | Negative (red) | Eye-off icon (`mdi-eye-off`) with "Excluded field" tooltip |
7777

7878
![status-indicators](../../../assets/fields/field-status/concepts/field-status-types/status-indicators.png)

docs/fields/field-status/concepts/merge-fields.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
When a column is renamed in the source data, the next profile operation creates a new **Active** field with the updated name and marks the original field as **Missing**. The merge operation combines these two fields into one, preserving all historical data under the new column name.
44

5-
## Why Merge
5+
## Why Merge?
66

77
Without merging, a column rename results in:
88

@@ -11,7 +11,7 @@ Without merging, a column rename results in:
1111

1212
Merging transfers the historical context from the old field to the new one, ensuring continuity in your quality monitoring.
1313

14-
## What Happens During a Merge
14+
## What Happens During a Merge?
1515

1616
When you merge a **source field** (the old field with history) into a **target field** (the new field with the desired name):
1717

@@ -23,7 +23,7 @@ When you merge a **source field** (the old field with history) into a **target f
2323
| 4 | All historical field profiles are renamed to match the new field name |
2424
| 5 | Quality checks from the target field are reassociated to the source field |
2525

26-
## What Is Preserved
26+
## What Is Preserved?
2727

2828
| Asset | Behavior |
2929
| :--- | :--- |

docs/fields/field-status/concepts/understanding-field-status.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ In any data quality platform, not every field in a dataset requires the same lev
1111
Rather than treating all fields equally, Qualytics uses field status to:
1212

1313
- **Control the scope of quality operations** — Only operational fields (active and masked) are profiled and scanned, ensuring that resources are focused on relevant data.
14-
- **Track schema evolution**When fields appear or disappear from source data, the system automatically updates their status, providing visibility into schema changes.
14+
- **Track schema evolution**Each time a profile operation runs, Qualytics compares the source fields against the ones it already knows about and updates their statuses accordingly, giving you a clear picture of how your schema has changed.
1515
- **Manage the quality check lifecycle** — Field status transitions trigger automatic actions on associated quality checks, keeping your monitoring configuration consistent with the actual state of your data.
1616
- **Protect sensitive data** — Masked fields remain fully operational for quality monitoring while hiding raw values from API responses, with audit-logged access controls.
1717

18-
## How Field Status Supports Data Quality
18+
## How Field Status Supports Data Quality?
1919

2020
Field status plays a direct role in how you manage and maintain data quality across your datasets:
2121

@@ -42,16 +42,19 @@ Users with Editor permission can request to reveal values in the surfaces that s
4242

4343
### Schema Change Detection
4444

45-
When a field disappears from the source data, Qualytics automatically marks it as **Missing**. This serves as an early warning system for schema changes, allowing you to investigate whether the change was intentional or indicates a problem in your data pipeline.
45+
Each time a profile runs, Qualytics compares the fields it finds in the source against the ones it already knows about. If a previously active field is no longer present, it is marked as **Missing** — a clear signal that something has changed in your data pipeline or schema.
4646

47-
Common scenarios that trigger the Missing status:
47+
!!! info
48+
Qualytics does not monitor source schemas in real time. The Missing status is assigned during profile operations, whether those are scheduled or triggered manually. If your source changes between profiles, Qualytics won't know until the next profile runs.
49+
50+
Common scenarios that lead to the Missing status include:
4851

4952
- A column was renamed during a database migration
5053
- A table was restructured and certain fields were removed
51-
- A data source experienced an issue and is returning incomplete schemas
54+
- A data source experienced an issue and returned an incomplete schema
5255
- An upstream ETL process changed its output format
5356

54-
In all these cases, the Missing status gives you immediate visibility without requiring manual monitoring of your data schemas.
57+
In each case, the next profile run reveals the change — without you having to manually compare schemas.
5558

5659
### Quality Check Lifecycle Management
5760

@@ -61,15 +64,15 @@ Field status directly impacts the lifecycle of quality checks:
6164
- When a field goes **missing**, its quality checks remain intact, ready to resume when the field reappears. This is because missing is considered a transient state — the field is expected to return.
6265
- When a field is **active** or **masked**, all configured quality checks run normally during scan operations.
6366

64-
This distinction between excluded and missing is intentional: archiving checks for excluded fields prevents unnecessary work, while keeping checks for missing fields avoids the overhead of reconfiguring them when the field returns.
67+
This distinction between excluded and missing is intentional: archiving checks for excluded fields prevents unnecessary work, while keeping checks for missing fields ensures scans surface failures when a referenced field is no longer present—acting as a signal to users that the schema has changed.
6568

6669
### Computed Field Dependencies
6770

68-
Field status cascades through computed field dependencies. If a source field goes missing or is excluded, any computed fields that depend on it are automatically updated to reflect the same status, ensuring consistency across your data model.
71+
Field status cascades through computed field dependencies, though the timing depends on what triggered the change. When a user excludes a source field, its dependent computed fields are excluded immediately. When a profile operation marks a source field as Missing, those same computed fields are also marked as Missing within that same run.
6972

7073
The cascade behavior differs by status:
7174

72-
- **Missing cascade**: If a source field goes missing, its dependent computed fields are also marked as Missing. When the source field returns, the computed fields are restored automatically. Quality checks on computed fields are **not** archived during this transition.
75+
- **Missing cascade**: When a profile marks a source field as Missing, its dependent computed fields are marked as Missing in the same run. If the source field reappears in a later profile, both the source and its computed dependents are restored automatically. Quality checks on computed fields are **not** archived during this transition.
7376
- **Excluded cascade**: If a source field is excluded, its dependent computed fields are also excluded recursively. Quality checks on the computed fields are archived. The computed field definitions are preserved so they can be recovered when the source field is restored.
7477

7578
!!! info
@@ -92,7 +95,7 @@ Your team has decided to stop using the `legacy_customer_id` column. Instead of
9295

9396
1. The field's quality checks are archived — no more alerts about this column.
9497
2. Computed fields that depend on `legacy_customer_id` are automatically excluded.
95-
3. When your database team eventually drops the column, it does not trigger a Missing status because the field is already excluded.
98+
3. When your database team eventually drops the column, the next profile operation will not mark it as Missing because the field is already excluded.
9699

97100
### Scenario 2: Protecting sensitive data
98101

@@ -112,18 +115,14 @@ After a routine profile operation, you notice that several fields are now marked
112115
3. Update your quality checks to reference the new column names.
113116
4. Exclude the old missing fields once the new columns are configured.
114117

115-
### Scenario 4: Temporary data source outage
116-
117-
A data source experiences a temporary outage, and the next profile operation returns an incomplete schema. Several fields are marked as **Missing**, but their quality checks remain intact. When the data source recovers and the next profile runs, all fields return to **Active** automatically and quality checks resume without any manual intervention.
118-
119118
## Best Practices
120119

121120
| Practice | Rationale |
122121
| :--- | :--- |
123122
| **Mask sensitive fields** | Masking protects sensitive data while maintaining full quality monitoring. Use it for PII, financial data, or any field that should not be freely visible. |
124123
| **Exclude rather than delete** | Excluding preserves field history and allows restoration. Only hard-delete missing fields that were created by mistake and have no quality check references. |
125124
| **Investigate missing fields promptly** | Missing fields may indicate unplanned schema changes or data pipeline issues that require attention. |
126-
| **Use [merge](merge-fields.md) for column renames** | Merging preserves all historical profiles, anomalies, and quality checks under the new column name. |
125+
| **Use [merge](merge-fields.md){:target="_blank"} for column renames** | Merging preserves all historical profiles, anomalies, and quality checks under the new column name. |
127126
| **Review excluded fields periodically** | Fields that were excluded may become relevant again as business requirements change. |
128127
| **Re-enable quality checks after restoring** | Archived checks are not automatically restored — always verify that the appropriate checks are re-enabled after restoring a field. |
129128
| **Use status filters to monitor field health** | Regularly review the Missing and Excluded tabs to maintain awareness of your data model's current state. |

0 commit comments

Comments
 (0)