En el mundo moderno, las herramientas de análisis OLAP de Cuba tienen una demanda especial. Fast Report tiene un tal sistema que permite representar los cubos de datos con los fragmentos en las aplicaciones .NET, por ejemplo, en NET 5.0. Ahora examinamos cómo utilizarlo en sus informes.
Para utilizar las bibliotecas FastCube.Core necesita compilarlas previamente a partir de los códigos fuentes. Para la compilación FastCube.Core para .NET 5.0 utilice la solución FastCube.Core.sln.
Después de iniciar esta solución necesita cambiar el entorno de producción especial en .NET 5.0. Luego compilamos un proyecto y en nuestro directorio de trabajo aparece FastCube.Core.2020.2.1.nupkg. Ponga este paquete en una carpeta que utilizará como una fuente local de paquetes.
Ahora podemos pasar a la creación del proyecto .NET Core.
Al principio añadimos la biblioteca FastCube.Core en el proyecto creado. Para eso utilizamos el administrador de paquetes NuGet. Cómo los paquetes de bibliotecas se encuentran en el disco local, tenemos que añadir una fuente local de paquetes. Haga clic en un ícono de engranaje en la parte superior derecha del administrador de paquetes y añada una nueva fuente que referirá a una cotorra local con vuestros paquetes nupkg:
En este punto puede seleccionar una fuente de paquetes añadida en una lista desplegable y instalar los paquetes:
Hemos añadido una biblioteca en en proyecto, ahora tiene que conectarla escribiendo en el archivo .cs:
using FastReport.Olap
Para validar el funcionamiento utilizamos este código:
class Program { private static string FindDataFolder() { string dataFolder = ""; string thisFolder = Config.ApplicationFolder; for (int i = 0; i < 6; i++) { string dir = Path.Combine(thisFolder, "Data"); if (Directory.Exists(dir)) { string data_dir = Path.GetFullPath(dir); if (File.Exists(Path.Combine(data_dir, "config.xml"))) { dataFolder = data_dir; break; } } thisFolder += ".." + Path.DirectorySeparatorChar; } if (dataFolder == "") { thisFolder = Config.ApplicationFolder; for (int i = 0; i < 6; i++) { string dir = Path.Combine(thisFolder, "Demos", "Data"); if (Directory.Exists(dir)) { string data_dir = Path.GetFullPath(dir); if (File.Exists(Path.Combine(data_dir, "config.xml"))) { dataFolder = data_dir; break; } } thisFolder += ".." + Path.DirectorySeparatorChar; } } if (dataFolder == "") throw new Exception("Could not locate the Data folder."); return dataFolder; } static void Main(string[] args) { string dataFolder = FindDataFolder(); // crear cubo y corte Cube cube = new Cube(); Slice cubeSlice = new Slice(); cubeSlice.Cube = cube; // cubo de carga cube.Load(Path.Combine(dataFolder, "Cubes", "2_0_sample_en1.mdc")); // cubo abierto cube.Active = true; // exportar rebanada HTMLExport export = new HTMLExport(); export.Slice = cubeSlice; export.Export(Path.Combine(Config.ApplicationFolder, "export.html")); } } }
Luego aparece el archivo del formato .html en el directorio de nuestra aplicación. Lo abrimos por vía de cualquier editor y miramos:
En consecuencia hemos estudiado la utilización de la biblioteca FastCube.Core en una aplicación de consola. Cómo puede ver la biblioteca funciona bien en NET 5.0. Ahora puede utilizar los cubos de datos en vuestras aplicaciones.