# Value functions

Owen Duncan|Last Updated: 10/5/2018
|
1 Contributor

## Values

FunctionDescription
Value.CompareReturns 1, 0, or -1 based on value1 being greater than, equal to, or less than the value2. An optional comparer function can be provided.
Value.EqualsReturns whether two values are equal.
Value.NativeQueryEvaluates a query against a target.
Value.NullableEqualsReturns a logical value or null based on two values .
Value.TypeReturns the type of the given value.

### Arithmetic operations

FunctionDescription
Value.AddReturns the sum of the two values.
Value.DivideReturns the result of dividing the first value by the second.
Value.MultiplyReturns the product of the two values.
Value.SubtractReturns the difference of the two values.

### Parameter types

TypeDescription
Value.AsValue.As is the function corresponding to the as operator in the formula language. The expression value as type asserts that the value of a value argument is compatible with type as per the is operator. If it is not compatible, an error is raised.
Value.IsValue.Is is the function corresponding to the is operator in the formula language. The expression value is type returns true if the ascribed type of vlaue is compatible with type, and returns false if the ascribed type of value is incompatible with type.
Value.ReplaceTypeA value may be ascribed a type using Value.ReplaceType. Value.ReplaceType either returns a new value with the type ascribed or raises an error if the new type is incompatible with the value’s native primitive type. In particular, the function raises an error when an attempt is made to ascribe an abstract type, such as any. When replacing a the type of a record, the new type must have the same number of fields, and the new fields replace the old fields by ordinal position, not by name. Similarly, when replacing the type of a table, the new type must have the same number of columns, and the new columns replace the old columns by ordinal position.
ImplementationDescription
DirectQueryCapabilities.FromDirectQueryCapabilities.From
Embedded.ValueAccesses a value by name in an embedded mashup.
Value.FirewallValue.Firewall
Variable.ValueVariable.Value
SqlExpression.SchemaFromSqlExpression.SchemaFrom
SqlExpression.ToExpressionSqlExpression.ToExpression