Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Niels_Andersen
Frequent Visitor

Año de cálculo a partir del número de seguro social (danés)

Hola

Necesito calcular el cumpleaños de las personas en mi conjunto de datos a partir de su número de seguro social. Este es un número de 10 dígitos donde los primeros 6 dígitos fecha de nacimiento. por ejemplo, 051289XXXX sería el 5 de diciembre y (probablemente) 1989.
Sin embargo, debido a que sólo 2 dígitos se utilizan para describir el año, necesito usar los siguientes 4 dígitos para determinar el siglo de nacimiento.

Esto se puede determinar de la siguiente manera

  • Si el 7o dígito es 0, 1, 2 o 3 la persona es del siglo XIX
  • Si el 7o dígito es 4 o 9 y el indicador de año en los primeros 6 dígitos son <36 la persona es del siglo XIX. Si son <36 la persona es del siglo XX.
  • Si el 7o dígito es 5, 6, 7 u 8 y el indicador de año en los primeros 6 dígitos es .>36 la persona es del siglo XX. Si son <58 la persona es del siglo XIX.

En excel haría algo como esto. Pero, ¿cómo se expresa esto en el editor avanzado de PowerBi?

Función pública CprToDato(cpr As String) As Date

Dim bytCent As Byte
Dim bytSevdig As Byte
Dim bytCprYear As String

If Not IsNull(cpr) Then

bytSevdig - Mid(cpr, 8, 1)
bytCprYear á Mid(cpr, 5, 2)

Seleccione Caso bytSevdig
Caso 0 a 3
bytCent 19
Caso 4, 9
Si bytCprYear <-36 Then
bytCent 20
Más
bytCent 19
End If
Caso 5 a 8
Si bytCprYear <-36 Then
bytCent 20
ElseIf bytCprYear > 58 Entonces
bytCent 18
End If
Finalizar selección

CprToDato - Izquierda (cpr, 2) & "-" & Mid(cpr, 3, 2) & "-" & bytCent & bytCprYear
End If

Función final

¡Gracias!

4 REPLIES 4
FrankAT
Community Champion
Community Champion

Hola @Niels_Andersen,

eche un vistazo a la siguiente columna calculada:

10-07-_2020_11-58-15.png

Saludos FrankAT

Gracias @FrankAT esto funciona perfectamente!
Acepté la respuesta de @mwegenercomo la solución, porque escribí que estaba buscando una solución de sintaxis M.

Hola @Niels_Andersen

comprobar esto.

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjA1NLKwNI2IiFCKjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"social security number" = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"social security number", type text}}),
    #"Extract Day" = Table.AddColumn(#"Changed Type", "Day", each Number.FromText(Text.Start([social security number], 2)), type number),
    #"Extract Month" = Table.AddColumn(#"Extract Day", "Month", each Number.FromText(Text.Middle([social security number], 2, 2)), type number),
    #"Extract Year" = Table.AddColumn(#"Extract Month", "Year", each Number.FromText(Text.Middle([social security number], 4, 2)), type number),
    #"7th" = Table.AddColumn(#"Extract Year", "7th", each Number.FromText(Text.Middle([social security number], 6, 1)), type number),
    Century = Table.AddColumn(#"7th", "century", each if [7th] <= 3
then 1900
else if ([7th] = 4 or [7th] = 9) and [Year] <= 36
then 2000
else if ([7th] = 4 or [7th] = 9) and [Year] > 36
then 1900
else if ([7th] = 5 or [7th] = 😎 and [Year] <= 36
then 2000
else if ([7th] = 5 or [7th] = 😎 and [Year] >= 58
then 1800
else 0, type number),
    Birthdate = Table.AddColumn(Century, "Birthdate", each #date([century]+[Year],[Month],[Day]), type date)
in
    Birthdate
Did I answer your question?
Please mark my post as solution, this will also help others.
Please give Kudos for support.

Marcus Wegener works as Full Stack Power BI Engineer at BI or DIE.
His mission is clear: "Get the most out of data, with Power BI."
twitter - LinkedIn - YouTube - website - podcast


¡Gracias! Esto resolvió mi problema.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Kudoed Authors