2017-07-07 4 views
0

J'ai une table appelée Staff_Starters (https://www.dropbox.com/s/khowqfgytc6fvq8/data.csv?dl=0) qui est connectée à une dimension Date.Comment calculer l'effectif total par mois et par année en utilisant deux colonnes de date?

Est-il possible de créer une colonne ou une mesure calculée dans Staff_Starters qui compte tous ceux qui ont une dateEmployed & arrête de compter vers l'avant lorsqu'elle a une date_termination.

La formule compterait plusieurs fois jusqu'à ce que leur date de fin ne soit pas égale à la date actuelle.

J'ai actuellement une table appelée Staff_Starterts avec les principales colonnes:

  1. StaffID
  2. FullName
  3. DateEmployed
  4. Termination_Date
  5. Membre de l'équipe
  6. Statut
  7. pratique
  8. région
  9. Cluster
  10. Level

[Entrées, quitter & Nett] [1]

La formule utilisée: Headcount Mouvement = CALCULATE ( countRows (personnel), FILTRE (Personnel ET (Personnel [Date d'entrée] < = MIN (date_dim [date_de_vue]), Personnel [date_termination]> = MAX (date_dim [date_de_vue]))))

Répondre

2
Count = CALCULATE(         
    COUNTROWS(data), 
    FILTER(data, 
     AND(data[Date Employed]<MIN('Calendar'[Date]), 
      data[TerminationDate]>MAX('Calendar'[Date]) 
    ) 
) 
) 

Résultats dans

Date  Count 
2017-01-01 85 
2017-02-01 74 
2017-03-01 58 
2017-04-01 37 

Modifier: En réponse à un commentaire, explication ci-après. (citations de msdn)

CALCULATE:

Evalue une expression dans un contexte qui est modifié par les filtres spécifiés

COUNTROWS: (évidentes, mais en gardant à l'exhaustivité)

compte le nombre de lignes dans le tableau spécifié ou dans une table définie par une expression

FILTER:

retourne une table qui représente un sous-ensemble d'une autre table ou d'expression.

AND:

vérifie si les deux arguments sont VRAI.


AND(data[Date Employed]<MIN('Calendar'[Date]), 

Comprend uniquement les entrées avec Date Employed avant le début de la période actuelle sélectionnée.

data[TerminationDate]>MAX('Calendar'[Date]) 

Comprend uniquement les entrées avec TerminationDate après la fin de la période actuelle sélectionnée.


Cela devrait être suffisant pour adapter la mesure de compter « sortants », « entrées » et ainsi de suite, aussi longtemps que vous pouvez le définir en termes de comparaison début, la fin et les dates de période sélectionnée.

+0

Bonjour @ utilisateur5226582 La formule me renvoie une erreur indiquant qu'une seule valeur pour la colonne 'Calendar_Date' dans la table 'Date_Dim' ne peut pas être déterminée. Cela peut se produire lorsqu'une formule de mesure fait référence à une colonne contenant de nombreuses valeurs sans spécifier une agrégation, telle que min, max, count ou sum, pour obtenir un seul résultat. – Roberto

+0

Merci beaucoup @ user5226582, ça marche maintenant. Est-il possible d'établir également le mouvement des effectifs basé sur cette formule où il compterait les démarreurs, les sortants et la croissance nette? – Roberto

+0

De rien. C'est une question différente, bien que j'aie ajouté quelques explications, ce qui devrait suffire à adapter la mesure à ce dont vous avez besoin. – user5226582