J'ai une table de données qui a des incréments de temps de 0 -> n pour chaque étape pour une série de plusieurs étapes.
Vous vous demandez s'il existe un script bkm pour que chaque étape commence à l'heure de fin de l'étape précédente.
alias:
actuellement : step1, temps = 0--> 7, step2, temps = 0-->12
objectif : step1, time=0-->7, step2, time7-->19
Conseil?
Colonnes:
Étiquette du capteur | Valeur | temps | Marcher
désolé pour le malentendu.
J'essayais de dire :
J'essaie de scripter les étiquettes d'axe sur l'axe des x correspondant au temps de pas max ou mins. J'essaie de comprendre le script de résumé ou d'attribuer une variable = colMax (temps par étape) mais j'ai du mal à faire fonctionner la syntaxe.
Concernant votre premier problème, votre exigence d'incrémentation entre les étapes était
objectif : step1, time=0-->7, step2, time7-->19
Notez que la valeur de temps était la même pour la dernière valeur de la première étape, ainsi que la première fois de la deuxième étape.
Si vous souhaitez incrémenter entre les étapes, modifiez simplement la valeur de l'addition en fonction de l'incrément supplémentaire souhaité.
adder = :time[Row() - 1] + 1
Je ne comprends pas ce que vous demandez quand vous dites " ajouter des marqueurs d'axe x dans le script pour étiqueter les blocs de la trace ".
Enfin, toutes les fonctions, telles que Lag() sont documentées dans l'Index des scripts, disponible dans le menu déroulant Aide.
cela fonctionne très bien ! Je remarque juste un petit problème. à l'incrément de temps où le pas change, il répète la valeur de temps, plutôt que d'incrémenter. J'essaie toujours de comprendre la fonction LAG. Des conseils ?

Enfin, des conseils pour ajouter des marqueurs d'axe x dans le script pour étiqueter les blocs de la trace ?
Je peux créer de nouvelles colonnes pour min/max local en fonction de l'étape #, mais je ne sais pas comment écrire cela dans une étiquette d'axe.


Voici un exemple de tableau de données et un script simple qui ajustera l'heure à laquelle l'étape change.Le script affiche d'abord la table de données pendant 10 secondes, afin que vous puissiez voir à quoi ressemble la table d'origine, puis il continue et exécute le petit script pour ajuster les valeurs de temps.
Names Default To Here( 1 );
dt = New Table( "example",
Add Rows( 42 ),
New Column( "time",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Values(
[0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 1,
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
)
),
New Column( "Step",
Character,
"Nominal",
Set Values(
{"Step1", "Step1", "Step1", "Step1", "Step1", "Step1", "Step1", "Step1",
"Step2", "Step2", "Step2", "Step2", "Step2", "Step2", "Step2", "Step2",
"Step2", "Step2", "Step2", "Step2", "Step2", "Step3", "Step3", "Step3",
"Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3",
"Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3", "Step3",
"Step3", "Step3"}
)
)
);
wait(10);
For Each Row(
If( Row() == 1,
adder = 0,
If( Lag( :step ) != :step,
adder = :time[Row() - 1]
)
);
:time = :time + adder;
);