sandy666
07-13-2023, 04:15 AM
EquationEvaluate
1+2
3
125x12
1500
12x3-99
-63
22:7
3.142857143
125x(5+7:2)
1062.5
34:(9x0.6-3)^3
2843.171296
3^(34:(9x0.6-3))
5744044.228
2^7
128
7^0
1
5-""check the syntax
2:0check the syntax
Ax9check the syntax
3=2
FALSE
3<>2
TRUE
5:0.+3check the syntax
5:0x4check the syntax
0^7
0
0.59x3.21:0.5:0check the syntax
5x(3+2check the syntax
6^check the syntax
2^-3
0.125
27^1/3
3
2^(1/2)
1.414213562
3^(1/2)
1.732050808
10^(1/10)
1.258925412
Ln(10)
2.302585093
Log(2)
0.693147181
// Evaluate
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
Null = Table.SelectRows(Source, each ([Equation] <> null)),
RepColon = Table.ReplaceValue(Null,":","/",Replacer.ReplaceText,{"Equation"}),
RepAsterisk = Table.ReplaceValue(RepColon,"x","*",Replacer.ReplaceText,{"Equation"}),
EE = Table.AddColumn(RepAsterisk, "Evaluate", each try if Text.Contains([Equation], "/0") or Text.Contains([Equation], "/0.") then "check the syntax" else if Text.Contains([Equation], "Log") then Number.Log(Number.From(Text.BetweenDelimiters([Equation], "(", ")"))) else if Text.Contains([Equation], "Ln") then Number.Ln(Number.From(Text.BetweenDelimiters([Equation], "(", ")"))) else if Text.Contains([Equation], "^") then Number.Power(Expression.Evaluate(Text.BeforeDelimi ter([Equation], "^")), Expression.Evaluate(Text.AfterDelimiter([Equation], "^"))) else Expression.Evaluate([Equation]) otherwise "check the syntax"),
TSC = Table.SelectColumns(EE,{"Evaluate"})
in
TSC
1+2
3
125x12
1500
12x3-99
-63
22:7
3.142857143
125x(5+7:2)
1062.5
34:(9x0.6-3)^3
2843.171296
3^(34:(9x0.6-3))
5744044.228
2^7
128
7^0
1
5-""check the syntax
2:0check the syntax
Ax9check the syntax
3=2
FALSE
3<>2
TRUE
5:0.+3check the syntax
5:0x4check the syntax
0^7
0
0.59x3.21:0.5:0check the syntax
5x(3+2check the syntax
6^check the syntax
2^-3
0.125
27^1/3
3
2^(1/2)
1.414213562
3^(1/2)
1.732050808
10^(1/10)
1.258925412
Ln(10)
2.302585093
Log(2)
0.693147181
// Evaluate
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
Null = Table.SelectRows(Source, each ([Equation] <> null)),
RepColon = Table.ReplaceValue(Null,":","/",Replacer.ReplaceText,{"Equation"}),
RepAsterisk = Table.ReplaceValue(RepColon,"x","*",Replacer.ReplaceText,{"Equation"}),
EE = Table.AddColumn(RepAsterisk, "Evaluate", each try if Text.Contains([Equation], "/0") or Text.Contains([Equation], "/0.") then "check the syntax" else if Text.Contains([Equation], "Log") then Number.Log(Number.From(Text.BetweenDelimiters([Equation], "(", ")"))) else if Text.Contains([Equation], "Ln") then Number.Ln(Number.From(Text.BetweenDelimiters([Equation], "(", ")"))) else if Text.Contains([Equation], "^") then Number.Power(Expression.Evaluate(Text.BeforeDelimi ter([Equation], "^")), Expression.Evaluate(Text.AfterDelimiter([Equation], "^"))) else Expression.Evaluate([Equation]) otherwise "check the syntax"),
TSC = Table.SelectColumns(EE,{"Evaluate"})
in
TSC