Rendiconto SQL Personalizzato |
Un Rendiconto SQL Personalizzato permette all'utente di creare un rendiconto unico e personale. Il rendiconto viene creato tramite uno script SQL che interagisce direttamente col nostro database. Questo script viene aggiunto al Pannello di Navigazione di MMEX utilizzanzo uno script d'Intestazione.Un'Intestazione può anche essere aggiunta senza essere associata ad uno script, questo permette allo script di essere impostato in sezioni..
L'Interfaccia di Gestione dei Rendiconti SQL Personalizzati ha le seguenti caratteristiche:
Titolo Rendiconto |
Utrilizzato per dare un titolo allo script. |
Intestazione |
Una Intestazione può essere aggiunta senza un associazione allo script. Quando selezionata: Permette ad un titolo d'essere utilizzata come un Intestazione nel Pannello di Navigazione. |
Sotto-Menù |
Quando selezionata: Il Pannello di Navigazione imposterà il titolo come un sotto-menù della precedente voce del menù. La voce del menù non è necessariamente un intestazione. |
SQL Source Script Campo di testo |
In questo campo sono riportate le caratteristiche dello script. |
Apri Pulsante |
Carica uno script da un file. |
Salva Pulsante |
Consente all'utente di salvare lo script SQL in un file esistente o in uno nuovo. |
Esegui Pulsante |
Permette l'esecuzione dello script senza chiudere la finestra di dialogo |
Pulisci Pulsante |
Ripulisce solo l'area dello Script SQL Sorgente. |
Chiudi Pulsante |
Closes the dialog without
saving. |
Una volta creato lo script e averlo salvato in MMEX, il rendiconto è facilmente accessibile dal Pannello di Navigazione del programma.
La creazione di un nuovo Rendiconto SQL Personalizzato è possibile tramite:
La voce del menù: Strumenti –> Rendiconto SQL Personalizzato
L'icona nella barra dei menù.
Questa azione aprirà la finestra di dialogo per la gestione del Rendiconto SQL Personalizzato permettendo all'utente di scrivere direttamente lo script e salvarlo come un file.
Un utile script SQL personalizzato è disponibile anche sul Forum MMEX su Internet, a cui si può accedere come segue:
Utilizzando il menù: Guida
–> Visita il forum di MMEX o segnala nuovi problemi.
Cercare nel forum: Custom SQL Report Scripts
Racomandazioni:
Per i nuovi script, usare un titolo adatto al rendiconto.
Salvare lo script prima di a prire la finestra di dialogo per la Creazione di Rendiconto SQL Personalizzato.
Nota: Un errore dello script potrebbe la perdita del tuo script se questo non è stato preventivamente salvato.
Utilizzare il menù pop-up nel Pannello di Navigazione per eventuali modifiche al file.
Note:
Tutte le intestazioni degli script sono salvate in un file index chiamato: CustomSQLReportIndex.txt
Il Rendiconto SQL Personalizzato può essere eliminato cancellando il file index.
I rendiconti, se necessario, possono essere gestiti e riorganizzati modificando direttamente il file index.
I Rendiconti creati tramite la finestra di dialogo per la creazione di Rendiconti SQL Personalizzati saranno memorizzati nel Pannello di Navigazione. Al rendiconto viene attribuito un nome quando viene salvato. Tramite l'elenco dei rendiconti l'utente può:
Eseguire il rendiconto
Modificare il rendiconto
Eliminare il rendiconto
Il nome di un rendiconto può essere salvato anche senza uno script SQL allegato. Questo è utilizzato come titolo per raggruppare un insieme di script. Quindi il Pannello di Navigazione diventa simile ad un rendiconto standard. Un rendiconto può avere un solo sottolivello nell'elenco.
|
Per poter creare uno script è
necessario comprendere la struttura base del database. Questo è
strutturato come mostrato di seguito:
(Nota del traduttore: ho lasciato i termini in inglese poiché lo script va comunque creato in inglese)
Struttura base di MMEX |
|
Tabella delle Informazioni
Questo schema mostra i nomi delle tabelle con i campi associati, nonché il collegamento che lega la tabella tramite il campo indice primario della tabella.
Nomi tabella |
Descrizione tabella |
InfoTable_V1 |
Contiene le impostazioni specifiche del database. |
CurrencyFormats_V1 |
Contiene i valori delle Valute nel database. |
AccountList_V1 |
Contiene tutti i nomi dei Conti e i dati ad essi collegati. |
Payee_V1 |
Contiene tutti i Beneficiari e le ultime Categorie utilizzate per quel beneficiario. |
Category_V1 |
Questo è l'elenco di tutte le Categorie del sistema. |
SubCategory_V1 |
Questo è l'elenco di tutte le Sottocategorie. |
CheckingAccount_V1 |
Questa è la tabella principale che contiene tutte le Operazioni |
SplitTransactions_V1 |
Contiene i dati associati alle Operazioni Suddivise. |
Stock_V1 |
Utilizzata per i Titoli, e collegata alla tabella: AccountList_V1 utilizzando il campo HeldAt |
Assets_V1 |
Contiene tutti i dettagli dei Beni |
BudgetYear_V1 |
Contiene l'Anno specificato per il Budget |
BudgetTable_V1 |
Dettagli del Budget |
BudgetSplitTransactions_V1 |
Operazioni Suddivise per il Budget |
BillDeposit_V1 |
Contiene tutte le informazioni per le Operazioni Ricorrenti. Simile alla tabella: CheckingAccountV1 |
Tabella Inizializzazione di MMEX |
|
mmexini.db3 |
Questa tabella contiene le impostazioni di MMEX, esse vengono utilizzate per inizializzare MMEX all'avvio del sistema. |
Tabella View |
Definizione della tabella speciale conosciuta come View |
AllData |
Questa visualizzazione (View) riunisce, quasi, tutti i dati delle tabelle CheckingAccount_V1,
AccountList_V1, Payee_V1, (sub)category_V1 e CurrencyFormats_v1. |
Tabella View: AllData (TuttiDati)
MMEX crea una visualizzazione speciale chiamata AllData.
Questa visualizzazione può essere facilmente utilizzata con Script SQL
per creare rendiconti specifici che gli utenti possono richiedere senza
dover creare script complessi.
Per maggiori informazioni utilizzare il Comando SQL: select * from AllData (seleziona * da AllData);
Per un'analisi più approfondita, si può creare un file di script per
visualizzare i dati in ogni tabella utilizzando il seguente Comando SQL:
select * from <Table_Name> (seleziona * da <nome_tabella>)
dove <nome_tabella> è uno dei nomi tabella precdenti
Tabella Views
SQL ha la peculiarità di creare definizioni di tabelle virtuali da tabelle esistenti. Questa tabelle virtuali, chiamateViews, utilizzano i dati delle tabelle base originali e possono essere usate nei rendiconti come tabelle. Il comando SQL per creare una visualizzazione (View) è:
create view <VIEW_NAME> as <SQL STATEMENT>;
Dove:
<VIEW_NAME> è il nome della visualizzazione.
<SQL_STATEMENT> sono le istruzioni SQL che definiscono la visualizzazione (view).
Esempio:
create view budget as
select * from
BudgetYear_V1 BY, BudgetTable_V1 BT, Category_V1 C, SubCategory_V1
SC
where BY.BudgetYearID = BT.BudgetYearID and BT.CategID =
C.CategID and BT.SubCategID = SC.SubCategID;
Per controllare la visualizzazione usa il comando SQL: select * from Budget;
Per eliminare la visualizzazione usa il comando SQL: drop view Budget;
|
Il tentativo di insegnare la programmazione SQL va al di là di questo piccolo file d'aiuto, tuttavia quella che segue è una breve guida alla comprensione di base degli script, possibilmente al fine di riuscire a creare, se si desidera, il proprio script personalizzato.
Nella creazione dello script, il comando principale che tendiamo ad utilizzare è l'indicazione SELECT.
Il formato base è:
SELECT <nome> |
<nome> rappresenta il campo nome della tabella, o * per tutti i nomi. |
FROM <tabella> |
<tabella> rappresenta la tabella o le tabelle a cui è rivolto il comando. |
WHERE <condizioni dovute> |
[facoltativo] qui testiamo determinate condizioni scelte. |
ORDER BY <parametro> |
|
[facoltativo] ordina il risultato secondo questo parametro. |
Esempi:
SELECT * FROM
AccountList_V1;
* Questo visualizzerà tutti i campi della tabella:
AccountList_V1
SELECT AccountName, Status FROM AccountList_V1 WHERE AccountType = “Term”;
*
Questo visualizzerà i nomi Conti a Termine e lo Stato dei conti dalla tabella: AccountList_V1
Di seguito viene descritto uno script più complesso:
Sebbene questo script sia inefficace, serve a dimostrare alcuni principi di base. |
select
pT.PayeeName payee, |
In questo esempio vediamo che il nome della tabella è: payee_V1 ed il nome del campo è: PayeeName
Nella sezione FROM vediamo il nome della tabella: payee_V1 pT
* Qui il pT alla fine, agisce come un alias per il nome della tabella.
Adesso in SELECT vediamo:
pT.PayeeName payee (beneficiario)
* pT. è usato per indicare la tabella a cui appartiene il campo PayeeName
* Il payee (beneficiario) finale, è un alias per la combinazione tabella.campo-nome
Possiamo separare i nomi delle tabelle e quelli dei campi con delle virgole, così vedremo più tabelle e campi in questo esempio.
Nella sezione WHERE , vediamo: pT.categID = cT.categID
* Qui ci accertiamo che due campi siano della stessa tabella.
Adesso nella sezione ORDER BY, ora possiamo utilizzare il nome semplificato di payee (beneficiario) che abbiamo definito nella sezione SELECT.
Mi auguro che questa breve introduzione aiuti a rendere un po' più comprensibile i file di script come abbiamo visto sul Forum di MMEX nella sezione dedicata agli script per il Rendiconto SQL Personalizzato.
Traduzione della Guida di MMEX di Maurizio Ballo [utente
forum: Mau.13] - Italian translation of MMEX Help by Maurizio Ballo [forum
user: Mau.13]