Revert Model AI changes

Model AI records every change it makes, and you can take a change back. Reverting runs from the chat where the change happened or from the model's History tab, and the result tells you what was undone and what was left alone. For the chat itself, see Model AI; for the model's full record of changes, see Change history.

Revert a change or a turn

  1. Open the change. In the Model AI chat, its card carries Revert, and a finished reply that made changes carries Revert this turn while something in it can still be reverted. The model's History tab lists the same turns in its AI changes section.
  2. Click Revert to undo one change, or Revert this turn to undo everything the turn changed.
  3. Confirm in the dialog, whose Revert button runs the revert. It warns that changes are undone in reverse order and that objects someone changed since are skipped and listed: "Revert the AI's changes of this turn? They are undone in reverse order; objects someone changed since are skipped and listed." For a single change the same warning reads: "Revert this AI change? It is undone in reverse order; objects someone changed since are skipped and listed."
  4. While it runs, the control reads Reverting....

In the AI changes section, each turn shows when it ran and how many changes it made, for example 3 changes. Changes that were rejected are not counted, because they were never made. A change a person approved adds Approved by {name}.

Read the result of a revert

Why a change is skipped

A revert never overwrites work done after the AI's change. That is why it leaves some objects alone; each skipped object carries its reason. The common reasons:

The reason readsWhat it means
changed since the AI's change: name is now Metric 3Someone edited the object after Model AI did. Undoing the change would undo the newer edit too, so the object is left alone.
used since the AI's change: 1 charts, dependents: "Double"Charts, report filters, relationships, dependent measures, row-level security groups or field parameters now use it.
a person wrote tests for it since the AI's change: "Never negative"A person added measure tests after the AI's change, and those tests describe how the measure should work.
no longer exists / no longer part of this modelThe object is gone, or it is no longer part of this model.
its measure no longer existsThe object belonged to a measure that is gone.
the model now uses it as its fact tableThe table now carries the model's fact rows.
row-level security group "EU only" targets itA row-level security group targets the table.
the two tables are joined another way since the AI's changeThe relationship between the two tables was reworked after the AI's change.
the replacement record is no longer kept (History keeps the newest 20 per model)A replaced source can only be put back while its record is kept, and the model keeps the newest 20.
not revertible: the change was too large to keep its imageThe platform did not keep what it needs to undo a very large change.
changed during the revertThe object changed while the revert was running.
irreversible: removing a BI table is permanentA removed BI table cannot come back.

When only part of a change could be undone, its step adds a note, for example: <n> measures were left where they are (changed since the AI's change): <names>.

When reverting is refused

Who can revert

Reverting needs the same permissions as using Model AI: Use DataPrism AI, View DataPrism Semantic Models and Edit DataPrism Semantic Model, plus edit rights on that particular model. The AI changes section itself appears to the same people: edit access to the model and the Use DataPrism AI permission. Everyone who passes these gates shares the model's one chat, so a revert you run names you in the result and is visible to the other editors. For the full list, see Who can do what in DataPrism.

Questions, answered

Why was a change skipped when I reverted a turn?

Reverting never overwrites work done after the AI's change. An object is skipped when someone edited it since, when something now uses it, when it has left the model, or when it cannot be undone safely. Expand the result to read the reason on each object; the table above covers the usual ones.

Why did some changes fail to revert?

A step fails when its undo cannot be completed, for example when the service behind the model does not answer. The object was left as it is, the step carries the reason, and the summary counts it as failed. A revert that fails shows Revert failed with the reason.

Why does a change say it was already reverted?

Someone already undid it, perhaps the same person twice or another editor of the shared chat. A second attempt is refused with: "This change was already reverted."

Why can't I revert a change that was rejected?

A rejected change was never made, so there is nothing to undo: "This change was rejected, so nothing was made." Rejected changes are also left out of a turn's change count.

Why can't I revert the removal of a BI table?

Removing a BI table is permanent, so its undo is refused with: "This change cannot be reverted: removing a BI table is permanent."

Why was my revert refused while a turn was running?

One turn or revert runs at a time in the model's chat. While a turn runs, the revert is refused: "A turn is still running in this model's AI chat. Try again when it finishes." When another person is behind the turn, the refusal names them and asks you to try again when it finishes.

Why do I have to approve or reject a waiting change before reverting?

A change that waits for approval blocks reverts as well: "A model change is awaiting approval. Approve or reject it before you revert AI changes." Decide the change in the chat first, then revert.

Why can't I revert while I view the platform as another user?

Reverts are refused from an impersonated session: "Changes cannot be reverted from an impersonated session." You can still read the chat in that mode. See Impersonate a user.

Who can revert Model AI changes?

Anyone who can use Model AI on that model: Use DataPrism AI, View DataPrism Semantic Models and Edit DataPrism Semantic Model, with edit rights on the model itself. The chat is shared by every editor of the model, and the result names the person who ran the revert.

In what order does a revert undo changes?

In reverse order: the newest change in the turn is undone first. The confirmation says so, and the result lists each object's outcome.