Value.Versions

Value

Returns a navigation table containing the available versions of the given value.

Examples on this page use shared sample tables. View them to understand the input data before reading the examples below.

Syntax

Value.Versions(value as any) as table

Parameters

NameTypeRequiredDescription
valueanyYesThe value whose available versions to retrieve.

Return Value

tableA 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.Versions reads 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.Versions will 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"
Output
Result
1No 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"}
})
Output
Name
Data
ItemKind
1v1.0nullTable
2v2.0nullTable
3v3.0nullTable

Compatibility

Power BI Desktop Power BI Service Excel Desktop Excel Online Dataflows Fabric Notebooks