Me_gusta_Pi
He creado la siguiente función personalizada basada en las reglas para un número de seguro social válido en Canadá.
Desafortunadamente, está produciendo un error «Se esperaba una coma de token», resaltando la declaración al final de la función.
No puedo ver por qué. Por lo que puedo decir, tengo mis comas en los lugares correctos.
Soy consciente de que los nerds de SIN debaten sobre agregar la suma de verificación a la parte impar, estoy bastante seguro de que Pwer Q no se equivoca en eso.
(SSNumber as text) =>
let
O_Part = Number.FromText(Text.Start(SSNumber,1)) +
Number.FromText(Text.At(SSNumber,2)) +
Number.FromText(Text.At(SSNumber,4)) +
Number.FromText(Text.At(SSNumber,6) +
Number.FromText(Text.At(SSNumber,8)),
E_2 = Number.FromText(Text.At(SSNumber,1)) * 2,
E_4 = Number.FromText(Text.At(SSNumber,3)) * 2,
E_6 = Number.FromText(Text.At(SSNumber,5)) * 2,
E_8 = Number.FromText(Text.At(SSNumber,7)) * 2,
E_Part =
( if Text.Length(Text.From(E_2)) = 1 then E_2 else Number.FromText(Text.Start(Text.From(E_2),1)) + Number.FromText(Text.End(Text.From(E_2),1))) +
( if Text.Length(Text.From(E_4)) = 1 then E_4 else Number.FromText(Text.Start(Text.From(E_4),1)) + Number.FromText(Text.End(Text.From(E_4),1))) +
( if Text.Length(Text.From(E_6)) = 1 then E_6 else Number.FromText(Text.Start(Text.From(E_6),1)) + Number.FromText(Text.End(Text.From(E_6),1))) +
( if Text.Length(Text.From(E_8)) = 1 then E_8 else Number.FromText(Text.Start(Text.From(E_8),1)) + Number.FromText(Text.End(Text.From(E_8),1))),
ValidSSN = (if Number.Mod(O_Part + E_Part, 10) = 0 then true else false)
in
^^ ERROR LOCATION
ValidSSN
camargos88
Hola @I_Like_Pi,
Verifique esta parte para la variable O_Part:
Number.FromText(Text.At(SSNumber,6)
Le falta el final «)»
Me_gusta_Pi
Gracias a los dos 🙂
Como estaban a unos segundos de distancia, le daré a uno la solución y al otro un kudos.
No puedo creer que me perdí eso.
lbendlin
te falta un paréntesis de cierre aquí
Number.FromText(Text.At(SSNumber,6) +
camargos88
Hola @I_Like_Pi,
Verifique esta parte para la variable O_Part:
Number.FromText(Text.At(SSNumber,6)
Le falta el final «)»