Source: https://math.agrocampus-ouest.fr/infoglueDeliverLive/digitalAssets/19613_SAS_macros.pdf