ancienneté en année
Bonjour,
Dans la source fiche salarié et effectif à date, nous avons le champ "année ancienneté société" par exemple. Ce dernier pose problème car il n'a pas de décimales...et même si on les rajoute dans Excel, le résultat n'est pas juste.
Dans mon dossier j'ai Jean POUSSE à 473 mois d'ancienneté. Je m'attends à avoir 473/12 soit 39.41 années...en fait j'ai 39 années ancienneté société.
Je sais que je peux toujours créer un calcul dans l'outil, mais je souhaite signaler ce problème.
Cordialement

Bonjour,
Votre suggestion est ouverte au vote.
Ceci est lié à la fonction SQL Datediff utilisée dans le calcul du champ qui renvoie des valeurs entières. En attendant une évolution standard vous pouvez créer un nouveau champ dans SBR Studio, en copiant (clic droit Copier) le champ « Mois Ancienneté Société » puis en le collant dans le dossier « Ancienneté ».
Ensuite vous devez changer le type pour Numérique puis vous modifiez le champ pour le convertir en float (numérique avec décimale) et diviser le tout par 12.
Script que vous pouvez copier-coller (valable pour le modèle Fiche Salarié et Effectif à Date) :
(CASE WHEN dbo.vT_HST_INFOSSOCIETE.DateEmbauche <= dbo.vDATES_DWH.Date AND (dbo.vT_HST_INFOSSOCIETE.DateDepart >= dbo.vDATES_DWH.Date OR dbo.vT_HST_INFOSSOCIETE.DateDepart IS NULL ) THEN
CASE WHEN dbo.vDATES_DWH.Date>= (DATEADD) AND DAY>= DAY
THEN cast(DATEDIFF as float)
WHEN dbo.vDATES_DWH.Date>= (DATEADD) AND DAY< DAY THEN cast(DATEDIFF-1 as float)
WHEN dbo.vDATES_DWH.Date < (DATEADD)
THEN 0 END
ELSE NULL
END)/12.
En espérant avoir répondu à votre problématique.