<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ho diversi punti definiti in uno script JSL e in esecuzione che genererebbero una tabella e sovrapporrebbero anche grafici per ogni punto.
Supponiamo che io abbia punto1, punto2, punto3
Voglio definirlo
RAPPORTO1 = punto1*100/(punto1+punto2+punto3)
RAPPORTO2 = punto2*100/(punto1+punto2+punto3)
RAPPORTO3 = punto3*100/(punto1+punto2+punto3)
Quindi traccia la sovrapposizione di RATIO1, RATIO2, RATIO3 rispetto al timestamp.
Ho provato a utilizzare Assign(RATIO1, point1*100/(point1+point2+point3)) ma non ha funzionato.Ho anche provato gli operatori come
Assegna(RAPPORTO1, Moltiplica(100, Dividi(punto1, Aggiungi(punto1, punto2, punto3))));
ma ancora non funzionava per la trama sovrapposta poiché l'errore diceva che non riusciva a trovare il ruolo di Y definito.Potete per favore farmi sapere se c'è qualcosa che non va nella sceneggiatura?Ho anche provato: "RATIO1" o name ("RATIO1") o inserendo l'equazione esatta sopra quando tracciavo Y sotto ... tutto non ha funzionato.
DT è la banca dati:
DT << Trama sovrapposta (
X ( : Timestamp ) ,
Y (
: RAPPORTO1
:RAPPORTO2
:RAPPORTO3
) ,
);
Ecco il mio codice con l'estrazione dei punti, e attualmente è tracciato con ogni punto, ma voglio fare alcune formule aritmetiche usando quei punti e tracciarli come sovrapposizione.Come definire correttamente la formula/equazione nello script e quindi come tracciare in Y.Puoi vedere lo sforzo precedente che ho provato nel primo messaggio.
DT = Apri database("DRIVER=S Server;SERVER=SP.trend.com,0000",
"DECLARE @StartDateTime datetime = DATEADD(dy, -1, GETDATE())
DECLARE @EndDateTime datetime = GETDATE()
EXEC ListData @Criteri='
'
, @StartDateTime=@StartDateTime
, @EndDateTime=@EndDateTime"
);
plotRATIOS = DT << Overlay Plot(
X( :Timestamp ),
Y(
:XX_PUNTA,
:XX_PUNTB,
:XX_PUNTO,
:XX_PUNTOD
),
Ordina X( 0 ),
Connetti tramite mancante( 1 ),
Punti di connessione( 1 ),
Ricalcolo automatico( 0 ),
Invia a rapporto(
Dispatch( {}, "102", ScaleBox, {Format( "Best", 10 )} ),
Spedizione(
{},
"101",
ScaleBox,
{Formato( "m/g/a", 10 ), Etichette ruotate( "Verticale" )}
),
Dispatch( {}, "Overlay Plot Graph", FrameBox, {Frame Size( 571, 450 )} )
)
);
È vicino a ciò di cui hai bisogno? Copia e incolla questo codice in una finestra dell'editor, quindi "Modifica> Esegui script". Quindi guarda le formule nelle colonne "RAZIONE".
NamesDefaultToHere ( 1 ) ;
// Tabella di esempio
dt = Nuova Tavola ( "Data e orari nel 2014" ,
Aggiungi righe ( 100 ) ,
Nuova Colonna ( "Data" ,
Numerico ,
"Continuo" ,
Formato ( "ddMonyyyy h:m:s" , 22 , 0 ) ,
Formato di input ( "ddMonyyyy h:m:s" , 0 ) ,
Formula (
Intero casuale ( Data GMA ( 1 , 1 , 2014 ) , Data GMA ( 31 , 12 , 2014 ) )
)
) ,
Nuova Colonna ( "p1" , Numerico , Continuo , Formula ( Uniforme casuale () )) ,
Nuova Colonna ( "p2" , Numerico , Continuo , Formula ( Uniforme casuale () )) ,
Nuova Colonna ( "p3" , Numerico , Continuo , Formula ( Uniforme casuale () )) ,
Nuova Colonna ( "RAPPORTO1" , Numerico , Continuo , Formula ( : p1 * 100 / ( : p1 + : p2 + : p3 ))) ,
Nuova Colonna ( "RAPPORTO2" , Numerico , Continuo , Formula ( : p2 * 100 / ( : p1 + : p2 + : p3 ))) ,
Nuova Colonna ( "RAPPORTO3" , Numerico , Continuo , Formula ( : p3 * 100 / ( : p1 + : p2 + : p3 ))) ,
) ;
// Mostra le serie temporali in Graph Builder
dt << Costruttore di grafici (
Mostra pannello di controllo ( 0 ) ,
Variabili ( X ( : Data ) , Y ( : RAPPORTO1 ) , Y ( : RAPPORTO2 ) , Y ( : RAPPORTO3 ) ) ,
Elementi ( Posizione ( 1 , 1 ) , Linea ( X , Y , Leggenda ( 11 ) ) ) ,
Elementi ( Posizione ( 1 , 2 ) , Linea ( X , Y , Leggenda ( 12 ) ) ) ,
Elementi ( Posizione ( 1 , 3 ) , Linea ( X , Y , Leggenda ( 13 ) ) )
) ;