W dzisiejszych czasach narzędzia analityczne takie jak kostki OLAP są bardzo pożądane. Fast Report posiada taki system i umożliwia wyświetlanie kostek danych z plastrami w aplikacjach .NET, np. w NET 5.0. Teraz porozmawiamy o tym, jak to wykorzystać w swoich raportach.
Aby móc korzystać z bibliotek FastCube.Core, należy je wstępnie złożyć z kodów źródłowych. Aby złożyć FastCube.Core dla .NET 5.0, należy użyć rozwiązania FastCube.Core.sln.
Po uruchomieniu tego rozwiązania, zmień docelowe środowisko pracy na .NET 5.0. Następnie zmontuj projekt, w naszym katalogu roboczym pojawi się FastCube.Core.2020.2.1.nupkg. Umieść ten pakiet w folderze, który będziesz używał jako lokalne źródło pakietów.
Teraz możemy przystąpić do tworzenia projektu .NET Core.
Przede wszystkim należy dodać bibliotekę FastCube.Core do projektu który przygotowujesz. W tym celu należy skorzystać z menedżera pakietów NuGet. Ponieważ pakiety z bibliotekami umieszczane są na dysku lokalnym, będziemy musieli dodać lokalne źródło pakietów. Klikamy na ikonę koła zębatego w prawym górnym rogu menedżera pakietów i dodajemy nowe źródło, które będzie odwoływało się do lokalnego folderu z naszymi pakietami nupkg:
Na tym etapie można wybrać z rozwijanej listy dodane źródło i ustawić pakiety:
Dodaliśmy bibliotekę do projektu, teraz należy ją podłączyć poprzez zapis w pliku .cs:
using FastReport.Olap
Aby sprawdzić jak to działa, użyj następującego kodu:
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(); // create cube and slice Cube cube = new Cube(); Slice cubeSlice = new Slice(); cubeSlice.Cube = cube; // load cube cube.Load(Path.Combine(dataFolder, "Cubes", "2_0_sample_en1.mdc")); // open cube cube.Active = true; // export slice HTMLExport export = new HTMLExport(); export.Slice = cubeSlice; export.Export(Path.Combine(Config.ApplicationFolder, "export.html")); } } }
Następnie w katalogu naszej aplikacji zobaczymy plik w formacie .html. Otwieramy go w dowolnym edytorze i otrzymujemy następujący wynik:
W ten sposób obejrzeliśmy wykorzystanie biblioteki FastCube.Core w aplikacji konsolowej. Jak widać, biblioteka doskonale współpracuje z NET 5.0. Teraz możesz już używać kostek danych w swoich aplikacjach.