Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 0
  • 1

Cześć.

Stworzyłem bazę danych w Excelu, która jednocześnie posiada fragmentatory i makra wyszukujące dane. Dodatkowo jest tryb admin i user, który nadaje odpowiednie uprawnienia. Niestety drastycznie spadła jej wydajność i w obliczu zwiększenia ilości danych (10-krotnie), planuję przeniesienie jej do innego środowiska.

Moje pytanie brzmi: jakie środowisko wybrać do nowej bazy, przy założeniu znajomości podstaw Accessa i podstaw języka SQL. Chciałbym posiadać aplikację do obsługi bazy danych (może to być dashboard w Accesie lub aplikacja w SQLite). Dodatkowo chciałbym dać userowi uprawnienia do przeglądania danych i używania widoków, a adminowi do wprowadzania i edycji danych - najlepiej też za pomocą widoków/formularzy/bezpośredniej edycji.

Co byście polecili? Dziękuję za odpowiedzi!

Jacek_Tomaszewski
  • Zapytał
  • @ Jacek_Tomaszewski | 27.07.2017
    • 1
    • 0
    • 2

Odpowiedź (1)

  • 1

Kilka lat temu przygoda z analityką zaczęła się od zaawansowanych formuł Excela. Jednak przy dużej ilości obliczeń matrycowych sumproduct by coś zagregować i podsumować, stwierdziłem, że się nie da tak dalej i muszę się podszkolić.

Trochę liznąłem VBA i używałem do odpytywania tabel SQLa, w tle, "Access Driver", formuły z Excela zniknęły, w VBA był string połączenia z ACE OLEDB 12.0 i string SQL na tablicach Excela, do którego użytkownik mógł wstrzykiwać jako zmienną np. nazwę podgrupy, do GROUP BY, do WHERE... wynik mógł być zwracany do innej tabeli lub do Pivota. To samo rozwiązanie można było stosować do walidacji wprowadzanych danych, gdzie lista wyboru zależy od innej, i musi być ona uaktualniana, a rekordy powtarzające się eliminowane z listy, wszystko łatwo można było zrobić z ACE SQL.

Poszedłem na kurs Accessa z myślą, że przeniosę moje sznurkami wiązane rozwiązania do czegoś bardziej sensownego. Jednak użytkownicy u mnie w firmie nie używają Accessa, chcą po staremu doklejać dane do tabel copy paste. Chcą wynik sobie przekleić gdzieś dalej. Więc mój rozwój się zakończył na VBA i ACE OLEDB 12.0 (rozwiązań i kawałków kodu jest pełno w sieci), korzystałem dużo ze Stack Overflow.

Ciekawym partyzanckim rozwiązaniem jest możliwość korzystania z ACE OLEDB bez Excela, na bazach tekstowych, cały kod, połączenie sql można napisać w skrypcie VBS.

Dzisiaj jeśli potrzebuję jakichś rozwiązań (odpytać jakieś dane średniej wielkości, zrobić analizę, porządne wykresy na mapach), używam do tego języka R i R Studio i wyrzucam wyniki do Excela albo do dashboardu w postaci html. R STUDIO, to środowisko wszystko mające, przenośnie i łatwo radzące sobie ze średniej wielkości danymi (kilka mln rekordów). Jeśli są jakieś zagregowane dane, to łatwo je przedstawić w postaci interaktywnej tabeli, albo pivota generowanego w postaci strony html. W firmie są rozwiązania MS SQL, ale czas implementacji, zabawa z ticketami, dostępem - wolę Self Service. :-). Dodatkowo, jeśli chciałbyś się dalej rozwijać to R umożliwia tworzenie pakietów w C++, posiada bardzo dobry interfejs zwany Rcpp. Trwają też prace by umożliwić bezproblemowe korzystanie w skryptach R naprzemiennie z Base R i z Pythona.

Wartość dodana to olbrzymia ilość bibliotek do eksploracji danych, statystyk, data miningu, nawet sieci neuronowych.

Podpowiadam co jakiś czas ALTKOMOWI, od ponad dwóch lat, by uruchomił kurs programowania R. Microsoft i wiele innych firm zamiast zwalczać to zjawisko jako konkurencyjne, zaopatrzyło swoje produkty w interfejsy do R (MS SQL).

R i RStudio jest za darmo.

Wada. Nie obejmuje "widoków do wprowadzania danych", jest to środowisko analityczne z możliwościami bazodanowymi. Natomiast zaleta - łatwo tworzyć rozbudowane skrypty i jest masa bibliotek do czyszczenia danych, ładowania ich z baz danych (SQL Server, SAS etc), czyszczenia (daty, regex), automatyzacji zrzucania danych z tabel w sieci (scraping data), normalizacji, uzupełniania pustych miejsc, (nawet z wykorzystaniem uczenia maszynowego). Jeżeli tabelka jest mała (miasta i dane do szybkiego wykresu na mapie) to można ją wkleić do kodu i mieć ją w skrypcie w czytelnej formie, aby móc coś wprowadzić z palca (pakiet datapasta).

Jacek_Kotowski
  • Odpowiedział
  • @ Jacek_Kotowski | 01.08.2017
    • lider
    • laureat
    • ekspert
    • 60
    • 54
    • 94