Esempio: inserire campi numerici in formato internazionale
Questo esempio descrive come utilizzare Prism Analytics per importare dati esterni che includono un campo numerico contenente numeri in formato internazionale.
L'azienda dispone di un file delimitato con dati numerici formattati utilizzando punti per separare le migliaia e virgole per separare i decimali. Si desidera importare questi dati in Prism Analytics come campo numerico in modo da poter eseguire calcoli sui dati. Tuttavia, il sistema riconosce i dati in un file esterno come dati numerici validi solo quando:
- Utilizza un punto come segno decimale.
- Non utilizza alcun carattere per separare le migliaia.
Si dispone di un file CSV (delimitato da virgole) con i seguenti dati:
Key,Amount 1,"9.000,1222-" 2,"11.111,2333" 3,"9.999.999,34-" 4,"7.777.777,45" 5,"8.888,56"
Nel file, nessun valore contiene più di 4 cifre dopo il segno decimale.
Creare una tabella per caricamento file, utilizzando il file CSV per definire lo schema di origine. La tabella deve contenere i seguenti campi:
- Chiavedi tipo Numerico
- Importodi tipo Testo
Creare un set di dati derivato in base alla tabella e utilizzare DDS Intl come nome del set di dati.
Criteri di sicurezza:
- Prism: Tables Createnell'area funzionale Prism Analytics.
- DominioPrism: Manage File Containersnell'area funzionale Prism Analytics.
- Prism Datasets: Createdominio nell'area funzionale Prism Analytics.
- DominioPrism Datasets: Managenell'area funzionale Prism Analytics.
- Accedere all'attivitàModifica trasformazioni set di datiper il set di dati DDS Intl.
- Creare un campo calcolato Prism che rimuova i separatori delle migliaia sostituendo qualsiasi punto con una stringa vuota.
- SelezionareAggiungi campo.
- Immettere questa espressione nell'editor delle espressioni e premere Invio o A capo sulla tastiera:REGEX_REPLACE([Amount],"\.","")
- Nel pannello di ispezione, immettere come nome del campo:Importo non migliaia
- Creare un campo calcolato Prism che sostituisca la virgola decimale con un punto decimale.
- SelezionareAggiungi campo.
- Immettere questa espressione nell'editor delle espressioni e premere Invio o A capo sulla tastiera:REGEX_REPLACE([Amount no thousands],",",".")
- Nel pannello di ispezione, immettere come nome del campo:Importo periodo decimale
- Creare un campo calcolato Prism che aggiunga qualsiasi segno negativo presente alla fine del valore all'inizio del valore.
- SelezionareAggiungi campo.
- Immettere questa espressione nell'editor delle espressioni e premere Invio o A capo sulla tastiera:CASE WHEN SUBSTRING([Amount decimal period], LENGTH([Amount decimal period])-1, LENGTH([Amount decimal period])) = "-" THEN CONCAT("-",REGEX_REPLACE([Amount decimal period],",","")) ELSE [Amount decimal period] END
- Nel pannello di ispezione, immettere come nome del campo:Importo segno meno
- Creare un campo calcolato Prism che rimuova il segno meno alla fine del valore.
- SelezionareAggiungi campo.
- Immettere questa espressione nell'editor delle espressioni e premere Invio o A capo sulla tastiera:CASE WHEN SUBSTRING([Amount minus sign], LENGTH([Amount minus sign])-1, LENGTH([Amount minus sign])) = "-" THEN SUBSTRING([Amount minus sign], 0, LENGTH([Amount minus sign])-1) ELSE [Amount minus sign] END
- Nel pannello di ispezione, immettere come nome del campo:Importo finale
- Creare un campo calcolato Prism che converta il campo di testo [Amount final] in un campo numerico.
- SelezionareAggiungi campo.
- Immettere questa espressione nell'editor delle espressioni e premere Invio o A capo sulla tastiera:CAST([Amount final] AS Decimal(20,4))
- Nel pannello di ispezione, immettere come nome del campo:Importo Numerico
- SelezionareAggiungi fase, quindi selezionareGestisci campi.
- Nascondere i seguenti campi facendo clic sull'icona a forma di occhio:
- Importo
- Importo non migliaia
- Importo periodo decimale
- Importo segno meno
- Importo finale
- SelezionareFatto.
- Salvareil set di dati.
Il set di dati contiene i seguenti campi:
- Digitare il tipo Numerico
- Importo numerico come tipo Numerico, con 20 cifre prima del decimale e 4 cifre dopo.