Value.Versions
ValueReturns a navigation table containing the available versions of the given value.
Syntax
Value.Versions(value as any) as tableParameters
| Name | Type | Required | Description |
|---|---|---|---|
value | any | Yes | The value whose available versions to retrieve. |
Return Value
table — A navigation table listing the available versions of the value.
Remarks
Value.Versions returns a navigation table containing the available versions of the given value. This function is useful in scenarios where a data source supports versioning — such as historical snapshots, change tracking, or temporal queries — and you need to enumerate or navigate between different versions of the same data.
A navigation table is a special table recognized by the Power Query UI that allows hierarchical browsing of data sources. The table returned by Value.Versions follows this convention, enabling users to interactively select a specific version from the navigator pane.
### When versions are available
- Data sources that support versioning (e.g., OneLake lakehouses with time travel, version-controlled datasets, or connectors that expose historical snapshots) may attach version information to the values they produce.
Value.Versionsreads that version information and returns a table where each row represents a distinct version of the data.
### When versions are not available
- For plain in-memory values (numbers, text, lists, records) and data sources that do not support versioning,
Value.Versionswill either return an empty table or raise an error, since there are no versions to enumerate.
This function complements Value.VersionIdentity, which returns the current version identifier of a value rather than listing all available versions.
Examples
Example 1: Attempting to get versions of an in-memory value
try Value.Versions(42) otherwise "No versions available for this value"Result | |
|---|---|
| 1 | No versions available for this value |
Example 2: Conceptual usage with a versioned data source
// Conceptual example — requires a versioned data source
// let
// Source = SomeVersionedConnector.GetData(),
// Versions = Value.Versions(Source)
// in
// Versions
// Would return a navigation table like:
#table({"Name", "Data", "ItemKind"}, {
{"v1.0", null, "Table"},
{"v2.0", null, "Table"},
{"v3.0", null, "Table"}
})Name | Data | ItemKind | |
|---|---|---|---|
| 1 | v1.0 | null | Table |
| 2 | v2.0 | null | Table |
| 3 | v3.0 | null | Table |