He desarrollado una aplicación para importar de forma dinámica 12 conjuntos de datos junto con 43 tablas usando el comando LOAD DATA, que carga los datos de una fuente a una tabla SQL de IRIS.
Lista de los conjuntos de datos
- 1 - Synthetic Medical Data: Datos sintéticos de historiales clínicos para Introducción a la Ciencia de Datos Biomédicos. LICENCIA:Dominio público
- 2 - Health Care Analytics - 1: Parte del Janatahack Hackathon en Analytics Vidhya LICENCIA:Dominio público
- 3 - Global Suicide Data: Conjunto de datos de la Organización Mundial de la Salud (OMS) LICENCIA:Dominio público
- 4 - COVID-19 Polls: Datos de las encuestas para conocer la opinión de los estadounidenses sobre la pandemia de coronavirus y la respuesta del presidente LICENCIA:CC-BY
- 5 - Cancer Rates by U.S. Estado: Las tasas son las cifras sobre 100,000 personas que desarrollaron o murieron de cáncer cada año. LICENCIA:Dominio público
- 6 - Opioid Overdose Deaths: La adicción a los opiáceos y las tasas de mortalidad en Estados Unidos y en el extranjero ha alcanzado niveles "epidémicos". Los datos de los CDC (Centros para el Control y Prevención de Enfermedades) reflejan el increíble aumento de sobredosis causadas por medicamentos que contienen opiáceos. LICENCIA:Dominio público
- 7 - Heart Disease Prediction: Este conjunto de datos procede del repositorio de datos de la Universidad de California en Irvine y se utiliza para predecir enfermedades cardíacas LICENCIA:Dominio público
- 8 - Yellowpages medical services dataset: Conjunto de datos de las Páginas Amarillas, con más de 400,000 registros procedentes de fuentes de rastreo. LICENCIA:Dominio público
- 9 - Hospital ratings: Son los conjuntos de datos oficiales utilizados en la página web Medicare.gov, ofrecidos por los Centros de Servicios Medicare y Medicaid. Estos datos permiten comparar la calidad de la atención médica en más de 4,000 hospitales certificados por Medicare en todo el país. LICENCIA:Dominio público
- 10 -Heart Failure Prediction: 12 características clínicas por las que se puede pronosticar la muerte. LICENCIA:Atribución 4.0 Internacional (CC BY 4.0)
- 11 -Diabetes Dataset: Este conjunto de datos procede del Instituto Nacional de Diabetes y Enfermedades Digestivas y Renales. El objetivo es predecir, a partir de pruebas de diagnóstico, si un paciente tiene diabetes. LICENCIA:Dominio público
- 12 -Chronic Kidney Disease: Este conjunto de datos procede del Repositorio de Machine Learning de la Universidad de California en Irvine. El objetivo del conjunto de datos es predecir de forma diagnóstica si un paciente padece una enfermedad renal crónica o no, basándose en ciertas pruebas de diagnóstico que se incluyen en el conjunto de datos. LICENCIA:Dominio público
Características
- Creación dinámica de tablas basadas en los datos de un archivo CSV.
- Importación del conjunto de datos mediante la función LOAD DATA por medio de Terminal o de la aplicación web.
- Eliminación del conjunto de datos de forma programada mediante Terminal o la aplicación web.
- Consulta de forma dinámica de los datos importados desde la aplicación web.
- Funcionalidad para importar datos en formato CSV, Excel o PDF.
- Aplicación web para consultar el estado del conjunto de datos.
- Alguno o todos los conjuntos de datos se pueden instalar o eliminar mediante un solo comando.
- Uso de las tablas %SQL_Diag.Result y %SQL_Diag.Message con LOAD DATA
Se recomienda leer la documentación relacionada LOAD DATA (SQL).
Cómo instalar o eliminar cualquier conjunto de datos desde Terminal
Utiliza el siguiente comando para importar un conjunto de datos en particular al introducir su ID o utiliza 999 para importar todos los conjuntos de datos
do ##class(dc.data.medical.utility).ImportDS(1)
A continuación se muestra el script principal para crear la tabla de forma dinámica y cargar los datos mediante la función LOAD DATA. Ten en cuenta que la tabla se crea de forma dinámica
//Get file name
SET filename=tRS.Get("Name")
//Remove .csv from the file name
SET tableName=$REPLACE("dc_data_"_ds_"."_tRS.Get("ItemName"),".csv","")
//Get columns based on the header row of csv file
Do ##class(dc.data.medical.utility).GetColTypes(filename,.coltype)
//Dynamically create table based on tablename and column types
SET qry = "CREATE TABLE "_tableName_" ("_coltype_")"
SET rset = ##class(%SQL.Statement).%ExecDirect(,qry)
//Check if table created successfully
IF rset.%SQLCODE
{
WRITE "ERROR : ",rset.%Message,!
}
ELSE
{
//Dynamically construct LOAD DATA statement
SET qry = "LOAD DATA FROM FILE '"_filename_"' INTO "_tableName_ " "_"USING {""from"":{""file"":{""header"":""1""}}}"
SET rset = ##class(%SQL.Statement).%ExecDirect(,qry)
// Check result set sqlcode, In case of error write resultset message
IF rset.%SQLCODE
{
WRITE "ERROR Table : " _tableName_" IMPORT FAILED: ",rset.%Message,!
}
ELSE
{
WRITE "SUCCESS table : " _tableName_" created and "_rset.%ROWCOUNT_" Rows Imported Successfully",!
}
}
Utiliza el siguiente comando para eliminar un conjunto de datos en particular al introducir su ID o utiliza 999 para eliminar todos los conjuntos de datos
do ##class(dc.data.medical.utility).RemoveDS(1)
A continuación se muestra el script principal para eliminar la tabla de forma dinámica
//Get file name
SET filename=tRS.Get("Name")
//Remove .csv from file name
SET tableName=$REPLACE("dc_data_"_ds_"."_tRS.Get("ItemName"),".csv","")
//Drop table
SET qry = "DROP TABLE "_tableName
SET rset = ##class(%SQL.Statement).%ExecDirect(,qry)
//Check if table deleted successfully
IF rset.%SQLCODE
{
WRITE "ERROR : ",rset.%Message,!
}
ELSE
{
WRITE "Table "_tableName_" deleted successfully",!
}
Cómo instalar o eliminar cualquier conjunto de datos desde una aplicación web
Ve al panel de control de la aplicación: http://localhost:52773/csp/datasets/index.csp
Si el conjunto de datos no está instalado, el botón "Install DataSet" estará visible y si el conjunto de datos está instalado, el botón "Remove Dataset" estará visible.
Solo hay que hacer clic en el botón adecuado para instalar o eliminar cualquier conjunto de datos
Cómo visualizar y exportar datos desde Dataset
Ve a la página View Datasets http://localhost:52773/csp/datasets/datasets.csp
Selecciona un conjunto de datos específico y después una tabla de la lista. Haz clic en el botón Excel, CSV o PDF para exportar los datos.
Espero que os resulte útil.