2017-10-09 7 views
0

J'ai une table DimDate qui a un champ Billable Day Portion qui peut être entre 0 et 1. Pour chaque jour qui est dans le courant Bonus Period Je veux multiplier cette portion du jour par 10, puis renvoyer la somme totale.Valeurs de la somme sur la table de date où une colonne est égale à une valeur sélectionnée d'une autre

Pour savoir ce que Bonus Period nous sommes, je reviens ContinuousBonusPeriod où la date est égale aujourd'hui:

Current Continuous Bonus Period:= CALCULATE(MAX(DimDate[ContinuousBonusPeriod]), FILTER(DimDate, DimDate[DateKey] = TODAY())) 

Je peux voir à l'écran de mesure cela vient correctement les Bonus Period 1 comme. Cependant, quand je puis utiliser ContinuousBonusPeriod dans la mesure de déterminer le nombre de jours dans la période actuelle, il ne retourne 10, 1 jour, multiplié par le statique 10.

Billable Hours This Period:= CALCULATE(SUMX(DimDate, DimDate[Billable Day Portion] * 10), FILTER(DimDate, DimDate[ContinuousBonusPeriod] = [Current Continuous Bonus Period])) 

Il semble compter que DimDate record d'aujourd'hui au lieu de tous les records où ContinuousBonusPeriod = 'Bonus Period 1' comme je m'attendais.

Répondre

0

je devais faire en sorte qu'aucun filtre existant a été appliqué à la table DimDate lors du calcul du Bonus courant continu Période:

Current Continuous Bonus Period:= CALCULATE(MAX(DimDate[ContinuousBonusPeriod]), FILTER(ALL(DimDate), DimDate[DateKey] = TODAY())) 

(Notez la déclaration ALL())