Strutture If-Else espandibili: funzionano come un'istruzione switch in MapForce

In risposta a diverse richieste degli utenti, il componente "if-else" in MapForce è stato migliorato nella versione MapForce 2011 Release 2 per supportare un numero qualsiasi di variabili. Questa funzionalità, equivalente a un'istruzione "switch" in molti linguaggi di programmazione, consente di controllare facilmente il flusso dei dati in un progetto di mappatura, associando un valore a un criterio selezionato. Ad esempio, lo screenshot qui sotto mostra il componente "if-then" utilizzato in combinazione con altri componenti per analizzare dati di temperatura e produrre i seguenti risultati:

  • Se la temperatura è maggiore di 20, il valore "vero" viene assegnato alla variabile booleana bool1 e la stringa "alto" viene assegnata alla variabile value-true1.
  • Se la temperatura è inferiore a 5, il valore "true" viene passato a "bool2" e la stringa "low" viene passata a "value-true2".
  • Solo uno dei parametri "valore-vero" può essere impostato a "vero" per una data temperatura, e questo è il parametro che viene trasmesso all'attributo "desc" nel componente di destinazione.

Lo screenshot qui sopra è stato estratto dal file di esempio "Classify Temperatures.mfd" incluso durante l'installazione di MapForce, quindi è possibile elaborare immediatamente i dati di esempio o modificare la mappatura per visualizzare i risultati direttamente. La nuova funzionalità "if-else" espandibile aiuta gli sviluppatori a creare mappature dei dati più rapidamente, genera un diagramma di mappatura che visualizza in modo più efficace il test condizionale e facilita il testing e il debug, poiché la funzione "if-else" espandibile è molto più facile da leggere rispetto a una struttura a cascata di singoli componenti. Questo è ancora più evidente quando è necessario valutare un gran numero di condizioni. Lo screenshot qui sotto mostra una conversione da stringa a numero, in cui la stringa è costituita da un'abbreviazione di tre lettere del mese. (Per risparmiare spazio, in questo caso la funzione "if-else" elabora solo le stringhe relative ai primi sei mesi dell'anno.)

A causa di un errore di copia-incolla, abbiamo dimenticato di aggiornare il valore della costante di output per il mese di maggio, passando da 4 a 5. Questo tipo di errore è molto più facile da individuare e correggere quando si può visualizzare tutta la logica in un'unica schermata! (AGGIORNAMENTO: Inizialmente, abbiamo creato questo esempio per illustrare i vantaggi di "If-Else" estesi rispetto alle strutture "If-Else" nidificate o a cascata, che possono rapidamente diventare troppo grandi per essere visualizzate su un singolo schermo. Per una soluzione migliore per risolvere questo e altri problemi simili, utilizzando una tabella di ricerca, consultare il post del blog "Istruzione Switch vs. Tabella di Ricerca in MapForce")

Scoprite di persona quanto è facile utilizzare le funzioni "if-else" avanzate nei vostri progetti di mappatura dei dati. Scarica una prova gratuita di 30 giorni di MapForce.