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.
Convert dates from Gregorian calendar dates to Julian Days and back again. Based upon Jean Meeus' Astrological Algorithms.
Julian Day =
// For converting from Gregorian dates
// Adapted from Jean Meeus' Astrological Algorithms
VAR __GregorianDate = MAX('Dates'[Date])
VAR __GregorianYear = YEAR(__GregorianDate)
VAR __GregorianMonth = MONTH(__GregorianDate)
VAR __GregorianDay = DAY(__GregorianDate)
VAR __Y = IF(__GregorianMonth > 2, __GregorianYear, __GregorianYear - 1)
VAR __M = IF(__GregorianMonth > 2, __GregorianMonth, __GregorianMonth + 12)
VAR __D = __GregorianDay
VAR __A = INT(__Y/100)
VAR __B = 2 - __A + INT(__A/4)
RETURN
INT(365.25 * (__Y + 4716)) + INT( 30.6001 * (__M + 1)) + __D + __B -1524.5
Gregorian Date =
// For converting from Julian Day
// Adapted from Jean Meeus' Astrologial Algorithms
VAR __JulianDay = [Julian Day]
VAR __Z = INT(__JulianDay + .5)
VAR __F = __JulianDay + .5 - __Z
VAR __A =
IF(
__Z < 2299161,
__Z,
VAR __alpha = INT( (__Z - 1867216.25) / 36524.25)
RETURN
__Z + 1 + __alpha - INT(__alpha/4)
)
VAR __B = __A + 1524
VAR __C = INT( (__B - 122.1)/365.25)
VAR __D = INT(365.25 * __C)
VAR __E = INT( (__B - __D)/30.6001)
VAR __Day = __B - __D - INT(30.6001 * __E)
VAR __Month = IF(__E < 14, __E - 1, __E - 13)
VAR __Year = IF(__Month > 2, __C - 4716, __C - 4715)
RETURN
DATE(__Year,__Month,__Day) + __F
eyJrIjoiZDBlMjg0NmItYjIwYy00NjU2LTkyYzEtOGE3ZTIzZWMyMDEyIiwidCI6IjRhMDQyNzQzLTM3M2EtNDNkMi04MjdiLTAwM2Y0YzdiYTFlNSIsImMiOjN9