Fare un grafico prendendo un valore ogni 10

Fare un grafico prendendo un valore ogni 10

Tag:
Categoria:
0
0

Buongiorno a tutti,

Devo fare un grafico relativo a una tabella con due colonne:

ore/minuti e temperature

è possibile nel grafico ricavare solo un valore ogni 10 (riferito alla colotta ore/minuti) in modo che il grafico non venga troppo complesso e pesante e soprattutto che la scala valori si legga, perchè fatto come adesso su 2867 record con un valore ogni minuto è illeggibile.

grazie.

Segnalato come spam
Pubblicata da (Domande: 17, Risposte: 48)
Domanda inviata 7 Agosto 2015 09:00
39 vis.
0
Domanda privata

o di relazioni, ma per quello è nacessario conoscere la struttura del file.

.g.

Segnalata come spam
Pubblicata da (Domande: 5, Risposte: 164)
Risposta inviata 19 Agosto 2015 16:02
0
Domanda privata

il calcolo è una funzione personalizzata: se hai FMProAdvanced non devi fare altro che creare una nuova CF  (inserendo il nome, i parametri e incollando il calcolo) e basare il calcolo su quella. se hai una versione Pro (non Advanced) puoi andare di script o trovare qualcuno con una versione Adv che inserisca la funzione personalizzata nel tuo file.

in linea generale: tu hai una serie di valori e devi utilizzarne solo una parte: o vai di formula o di script :)

.g.

Segnalata come spam
Pubblicata da (Domande: 5, Risposte: 164)
Risposta inviata 19 Agosto 2015 15:56
0
Domanda privata

Grazie per l’aiuto, la vedo complicata come formula,mah proverò a lavorarci. Non c’é un modo più semplice?

Segnalata come spam
Pubblicata da (Domande: 17, Risposte: 48)
Risposta inviata 18 Agosto 2015 21:28
0
Domanda privata

Se hai FileMaker Pro Advanced puoi usare una funzione personalizzata come questa:

cf_ennesimo_valore(LaLista; Inizio; Incremento; Separatore_Input; Separatore_Output)

Dichiara ( [
S_I = If ( EVuoto ( Separatore_Input ) ; ¶ ; Separatore_Input ) ;
S_O= If ( EVuoto ( Separatore_Input ) ; ¶ ; Separatore_Output ) ;
Lista = If ( S_I <> ¶ ; CercaeSost ( LaLista ; S_I ; ¶ ) ; LaLista )
] ;

RicavaValore ( Lista ; Inizio ) &
If ( ConteggioValore ( Lista ) >= ( Inizio + Incremento ) ; S_O & cf_ennesimo_valore ( Lista ; Inizio + Incremento ; Incremento ; S_I ; S_O ) )
)

e usi il calcolo per costruire il grafico. Questo a patto che gli intervalli che ti interessano siano regolari. In caso contrario puoi usare uno script con loop che contrassegni solo i valori che ti interessano e su quelli costruire il grafico.

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 16 Agosto 2015 14:56
0
Domanda privata

ok, grazie per l’aiuto provo anche questa soluzione poi per oggi basta e lo riprendo dopo le ferie. Grazie ancora a tutti.

Segnalata come spam
Pubblicata da (Domande: 17, Risposte: 48)
Risposta inviata 7 Agosto 2015 17:22
0
Domanda privata

Questa imposta la scala dei tempi ogni 30 minuti:

Time ( Hour ( ore_minuti ) ; Floor ( Minute ( ore_minuti ) /30 ) *30 ; 0 )

Per la soluzione di Giulio, aspetta un suo intervento.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 38)
Risposta inviata 7 Agosto 2015 17:16
0
Domanda privata

ho sistemato, ho creato il campo e dal risultato ho impostato il grafico mah…..no,graficamente non funziona….troppo poco intervallo di tempo tra un valore e l’altro, perchè il grafico viene bene (le linee intendo) ma la scala dell’ora non si legge e andando a vedere dai risultati della formula funziona, i tempi vengono arrotondati nel modo giusto. Non riesco a postare il DB perchè sono a lavoro.

e per implementare la soluzione di Giulio Villani? 3 post più su. Tramite uno script con loop come devo fare?

Segnalata come spam
Pubblicata da (Domande: 17, Risposte: 48)
Risposta inviata 7 Agosto 2015 16:56
0
Domanda privata

ah, ok, ho capito male io. Ci provo.

Segnalata come spam
Pubblicata da (Domande: 17, Risposte: 48)
Risposta inviata 7 Agosto 2015 16:32
0
Domanda privata

”la formula che ho messo per l’asse delle X è questa come mi hai indicato”

Forse non mi sono spiegato bene. Devi creare un nuovo campo calcolato con il calcolo predetto ed usare quel campo calcolato per l’asse delle ascisse. Se ancora non otterrai un risultato soddisfacente, posta il tuo DB su Dropbox.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 38)
Risposta inviata 7 Agosto 2015 16:31
0
Domanda privata

la cosa più semplice secondo me è utilizzare uno script con loop che ricavi solo un record ogni X e fare il grafico sul foundset.

.g.

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 1544)
Risposta inviata 7 Agosto 2015 16:04
0
Domanda privata

quelli sono i valori, e sì sono troppo vicini, è per quello che volevo un modo per prendere un valore ogni 10 minuti non uno al minuto. la formula che ho messo per l’asse delle X è questa ”come mi hai indicato”:

Ora ( Ore ( DATI COMPLETI::DATA );Piano ( Minuti ( DATI COMPLETI::DATA )/10 )*10;0)

 

dove DATA è l’orario che vedi nella colonna sopra

Segnalata come spam
Pubblicata da (Domande: 17, Risposte: 48)
Risposta inviata 7 Agosto 2015 13:58
0
Domanda privata

I valori che hai indicato tu sono troppo vicini!
Ma quelli definiti dal calcolo quali sono?
Su quelli devi basare l’asse X

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 38)
Risposta inviata 7 Agosto 2015 12:15
0
Domanda privata

idem, ti posto un estratto della tabella, il grafico praticamente nell’asse delle X al posto di leggere i numeri si vede solo una striscia grigia continua perchè i valori sono troppo vicini, non so, a questo punto forse andrei bene anche a ridefinire la scala del grafico…

DATA TEMPERATURA_TESTA
   06:15:00
   06:15:04
   06:15:07
   06:15:15
   06:15:29
   06:15:30
   06:15:37 50,74891
   06:15:45
   06:15:59
   06:16:00
   06:16:04
   06:16:07
   06:16:15
   06:16:29
   06:16:30
   06:16:37 50,9398
   06:16:45
   06:16:59
   06:17:00
   06:17:04
   06:17:07
   06:17:15
   06:17:29
   06:17:30
   06:17:37 51,19936
   06:17:45
   06:17:59
   06:18:00
   06:18:04
   06:18:07
   06:18:15
   06:18:29
   06:18:30
   06:18:37 51,2488
   06:18:45
   06:18:59
   06:19:00
   06:19:04
   06:19:07
Segnalata come spam
Pubblicata da (Domande: 17, Risposte: 48)
Risposta inviata 7 Agosto 2015 11:58
0
Domanda privata

Eppure quel calcolo ridefinisce la scala dei tempi, portando le suddivisioni dell’asse ogni 5 minuti.

Prova questa ( che la porta ad ogni 10 ):

Time ( Hour ( ore_minuti ) ; Floor ( Minute ( ore_minuti ) /10 ) *10 ; 0 )

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 38)
Risposta inviata 7 Agosto 2015 11:43
0
Domanda privata

Grazie della risposta, ho provato ma non cambia molto, ho anche variato il valore -1 ma rimane sempre incasinato l’asse X.

Segnalata come spam
Pubblicata da (Domande: 17, Risposte: 48)
Risposta inviata 7 Agosto 2015 10:54
0
Domanda privata

Buongiorno Federico

potresti basare il grafico NON sul campo ore_minuti, ma sul campo calcolato:

Time ( Hour ( ore_minuti ) ; Round ( Minute ( ore_minuti  ) ; -1 ) ; 0 )

Segnalata come spam
Pubblicata da (Domande: 0, Risposte: 38)
Risposta inviata 7 Agosto 2015 10:28



Nessuna domanda trovata.