Value.VersionIdentity
ValueReturns the version identity of a value, or null if the value has no version.
Syntax
Value.VersionIdentity(value as any) as anyParameters
| Name | Type | Required | Description |
|---|---|---|---|
value | any | Yes | The value whose version identity to return. |
Return Value
any — The version identity of the value, or null if it does not have one.
Remarks
Value.VersionIdentity returns the version identity associated with a value, or null if the value does not carry version information. Version identities are opaque tokens used by the Power Query engine and data sources to track change detection and incremental refresh scenarios.
In practice, version identities are attached to values originating from data sources that support versioning — such as OData feeds, SQL Server change tracking, or other connectors that expose entity versioning (e.g., ETags). The version identity allows the engine to determine whether a value has changed since it was last retrieved, enabling efficient incremental loads without re-fetching unchanged data.
For most user-written M queries, Value.VersionIdentity returns null because in-memory values and most common data sources do not carry version metadata. This function is primarily useful in custom connector development and advanced incremental refresh scenarios where version tracking is explicitly supported.
The returned value, when non-null, is typically a record or text token whose structure depends on the data source. It should be treated as opaque — compared for equality to detect changes, but not parsed or interpreted directly.
Examples
Example 2: Version identity of a text value returns null
Value.VersionIdentity("hello")Result | |
|---|---|
| 1 | null |
Example 3: Version identity of a record returns null
Value.VersionIdentity([Name = "Alice", Age = 30])Result | |
|---|---|
| 1 | null |