NextTimePeriod (FPScript)
Recherche dans un ensemble de données avec des valeurs de temps calendaire pour la valeur suivante qui se trouve dans un segment de temps périodique.
Syntaxe
NextTimePeriod(DataSet, Criterion, [ Position ], LowerBound, UpperBound [ , Direction = EVENT_RIGHT ])
La syntaxe de la fonction NextTimePeriod se compose des éléments suivants :
Section |
Description |
||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DataSet |
L'ensemble de données avec les valeurs de temps calendaire dans lequel on recherche des périodes. Les structures de données autorisées sont Séries de données, Signal et Série de signaux. Tous les types de données numériques sont autorisés. Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste. |
||||||||||||||||||
Criterion |
Précise sur quel élément de date la recherche doit être basée. L'argument Criterion peut avoir les valeurs suivantes :
Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété. |
||||||||||||||||||
Position |
Si vous recherchez dans un signal, il s'agit de la valeur X où la recherche doit commencer. La valeur elle-même n'est pas incluse dans la recherche. Si vous recherchez une série de données, il s'agit de l'index de la valeur où la recherche doit commencer. L'index lui-même n'est pas inclus dans la recherche. Un indice négatif détermine une position par rapport à la fin de l'ensemble de données. Si vous omettez l'argument ou passez la valeur Empty, la recherche commence au début ou à la fin de l'ensemble de données, selon le sens de la recherche. La première ou la dernière valeur de l'ensemble de données n'est prise en compte que si vous omettez l'argument ou passez la valeur Empty. Les structures de données autorisées sont Scalaire. Tous les types de données numériques sont autorisés. L'unité doit être compatible avec celle du paramètre DataSet . Pour les types de données complexes, un nombre est formé. Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste. |
||||||||||||||||||
LowerBound |
Spécifie la limite inférieure du segment temporel. Si vous spécifiez une valeur avec une unité, cette unité doit correspondre à l'élément de date sélectionné. Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés. Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste. |
||||||||||||||||||
UpperBound |
Spécifie la limite supérieure du segment temporel. Si vous spécifiez une valeur avec une unité, cette unité doit correspondre à l'élément de date sélectionné. Les structures de données autorisées sont Scalaire. Tous les types de données réels sont autorisés. Si l'argument est une liste, alors la fonction est exécutée pour chaque élément de la liste et le résultat est également une liste. |
||||||||||||||||||
Direction |
Définit la direction de recherche de la fonction. L'argument Direction peut avoir les valeurs suivantes :
Si l'argument est une liste, alors son premier élément est pris. S'il s'agit à nouveau d'une liste, le processus est répété. Si l'argument n'est pas spécifié, il est défini à la valeur par défaut EVENT_RIGHT . |
Remarques
Le résultat est toujours du type de données Temps calendaire.
Dans le cas des signaux et des séries de signaux, la composante X est recherchée.
Dans le cas où LowerBound est inférieure ou égale à UpperBound une valeur se trouve dans l'intervalle si elle est supérieure ou égale à LowerBoundet inférieure ou égale à UpperBound. Si LowerBound est spécifié comme étant supérieur à UpperBound une valeur se trouve dans l'intervalle si elle est supérieure ou égale à LowerBoundou inférieure ou égale à UpperBound. Cela équivaut approximativement à un complément.
Pour les éléments de date SECOND, MINUTE et HOUR vous pouvez spécifier les limites d'intervalle comme des valeurs à virgule flottante.
Disponible dans
FlexPro Basic, Professional, Developer Suite
Exemples
NextTimePeriod(TimeSignal, SECOND, , 3.5, 12.3) |
Renvoie l'indice de la première valeur du signal "TimeSignal", qui se situe dans l'intervalle [3,5, 12,3] secondes de chaque minute. |
TimeSignal[[NextTimePeriod(TimeSignal, SECOND, 5.5 s, 200 ms, 600 ms, EVENT_LEFT)]] |
Recherche dans le signal "TimeSignal" à partir de la position X = 5,5 s à gauche la valeur suivante qui se trouve dans l'intervalle [0,2, 0,6] secondes de chaque minute. Le résultat est la valeur Y de la position trouvée. |