Ciao,
chiedo per un amico... :)
LO Calc 5.3.7.2.
Supponiamo di avere dei dati nella colonna A. Questi dati sono stati inseriti tramite database range.
L'altezza del database range e` dinamica, nel senso che i valori vanno dalla cella A1 alla cella A<N> dove <N> varia a seconda dek conteggio di valori prodotto dalla query sottostante.
Ora vorrei - ehm - il mio amico vorrebbe - calcolare i valori della colonna B a partire da valori di A. Per esempio con una formula del tipo:
=A1 * 2 + $X$7
da entrare in B1 e da copiare (presumo?).
La domanda da 6 bitcoin e`: come faccio a fare eseguire questa formula da B1 a B<N> dove <N> e` la riga fino a dove arrivano il valori nella colonna A?
Googlando tutti dicono "no es problema, semplicemente copia la formula su *tutta* *la* *colonna*. Ora questo funziona pure - a quanto pare LO ha un fisso di 2^20 righe...
Solo che produce un documento gonfiato e lento. Sono 3 MB di ods che contiene 250 MB di xml zippato...
Dal mio punto di vista e` una soluzione completamente assurda e inaccettabile. E` come se in un linguaggio di programmazione tutti gli array fossere lunghi 2^20 elementi a prescindere dall'effettiva lunghezza e per ripetere un'operazione l'unico strumento fosse un ciclo da 1 a 2^20 senza possibilita` di avere un limite dinamica...
Mi pare che ci deve essere un modo piu` furbo.
Qualcuno ha un idea o e` proprio un limite intrinseco dello strumento foglio di calcolo?
F.A.Q.
Q: Ma perche` non aggiungi le colonne in SQL e fai il calcolo li`? A: Perche` la formula contiene (tanti) riferimenti a altre celle che non risiedono nel DB (tipo $X$7 nell'esempio sopra).
Q: Ma perche` non te ne freghi e` accetti il file grosso? I dischi costan poco! A: In realta` ho parecchie colonne, verrebbe un file enorme e lentissimo...
Q: Ma perche` non copi la formula solo tipo fino alle riga 1000? Non avrai tanti valori no? A: le mie colonne hanno altezze molte variabili da 100 a 100000, a farle tutte alte anche "solo" 100000 gia` porterebe a problemi di dimensione.
Q: Ma perche` non fai tutto in SQL? A: Il tutto dovrebbe essere semi-interattivo, e programmarci una GUI sopra rischia di essere molto laborioso.
Q: Ma perche` non aggreghi i dati via SQL prima di importarli? A: Eh... per alcune colonne sarebbe anche imaginabili, ma non per tutte :(
Bye, Chris.