[ 2012 @ 11.10.2015. 16:34 ] @
Ne znam da li naslov bas odgovarajuci da bi objasnio moj zahtev (problem), ali pokusacu da malo detaljnije opisem i objasnim svoj problem i pravce razmisljanja.

Imam jedan excel aplikaciju u kojoj vrsim obradu odredjenih podataka i na osnovu istih pravim odredjeni model (finansijski model) podatke koje dobijem kopiram u jedan odredjeni sheet sto je ustvari izvestaj/report. Taj izvestaj kasnije dodam kao attach na email i saljem u nekom od sledecih formata: xlsx, txt ili csv.

Na drugoj strani klijent/korisnik izvestaja ima excel aplikaciju koja ucitava attach i posle na osnovu dobijenih podataka donosi zakljucak/odluku.

To je savrseno funkcionisalo dok sam ja slao jedan ili dva-tri izvestaja dnevno. MEDJUTIM, sad nasteja problem zbog kojeg se javljam trazeci neku ideju ili neki primer iz iskustva.

Sad se javlja potreba da ja saljem izvestaj recimo na svakih 5 minuta i nisu svi korisnici aktivni u isto vreme tako da nema potrebe da dobijaju stotinu emaila ako taj dan ne rade.

Drugi problem sa email-om je sto se sad javlja problem sto ako recimo imam izvestaj na svakih 5 minuta na recimo 50 korisnika, moze da se dogodi da me optuze za spamovanje i da mi ogranice koriscenje servisa.

U vezi sa tim ja sam razmisljao da nekako povezem excel aplikaciju sa nekim od SQL servisa i da izvestaj saljem na SQL server, a da druga aplikacija (korisnicka) povlaci izvestaj sa SQL servisa. U vezi toga ja sam malo trazio po internetu i pronasao sam jednu ovakvu mogucnost: https://dev.mysql.com/downloads/windows/excel/ medjutim ja nemam nikakvog licnog ikustva sa ovim servisom pa me interesuje da li je neko radio na ovakvoj problematici. Ili mozda imate ideju ili predlog sa povezivanjem na MS SQL servis ili neki treci predlog.

Imam ovde jo jedno pitanje u vezi MS SQL ili MySQL servera: da li se na serveru napravi macro/query koji svakih 5 minuta brise stare podatke i zapisuje nove ili se takvo nesto moze uraditi u excelu (nemam ideju kako bi resio brisanje na serveru, automatizaciju slanja mogu resiti).

Ako imate neku drugaciju ideju ili predlog mozemo je razgledati i napraviti analizu iste.
[ Jpeca @ 12.10.2015. 09:54 ] @
Ako imaš odgovarujuću dozvolu za pristup SQL Server bazi nije problem da se napiše skript koji bi iz Excela upisivao podatke direktno na SQL server

Dakle ako sam dobro razumeo
1/ Ti na osnovu nekih podataka (SQL, spoljni podaci ...) formiraš neki model
2/ Kad se zadovoljan sa modelom klikneš na Update Model
3/ Klik startuje makro koji će taj model (podatke) da upiše u odgovarajuće tabele SQL server baze (VBA for run SQL query).
4/ Korisnik iz posebne aplikacije pregleda taj model

U vezi sa konkretnim pitanjem, moguće je napraviti skript koji bi se startovao svakih 5 min i preuzimoa csv fajl sa neke lokacije i upisivao u SQL server. U operativnom sistemu postoji Task scheduler koji možeš podesiti da se neki task startuje svakog dana svakih 5 min. SQL server skript sa komandne linije izvršavaš sa SQLCMD komandom. Međutim za korake koje sam napiso gore ne vidim potrebu za time

U ovakvoj situaciji ne znam kako bi korisnik dobijao notifikaciju da je nešto menjano u reportu i mora se pisati posebna aplikacija koja pristupa izveštajima na serveru.

Ukoliko ti odgovara da izveštaj bude kao Excel fajl (txt, csv) možda lakša varijanta je da se fajl snimi na sharepoint portal i onda korisnik može da postavi notifikaciju kakvu želi (svaka izmena fajla, dnevni izveštaj, nedeljni izveštaj...). Mislim da sličan opcija postoji i snimanjem na One Drive for business. Ukoliko nisi u mogućnosti da koristiš Sharepoint pogledaj rešanja sa share folder na Dropbox i Google Drive

Što se tiče konkretnih problema koje navodiš sa mailovima, može jedonstavno da se krera distributivana lista. Ti šalješ fajlova na tu distributivnu listu, a ko želi da se prijavi odjavi ...
[ 2012 @ 12.10.2015. 15:48 ] @
@ Jpeca

kako je tvoj odgovor dosta obiman i konkretan pocecu sa odgovaranjem red po red da ne bi napravio gresku.

Citat:
Ako imaš odgovarujuću dozvolu za pristup SQL Server bazi nije problem da se napiše skript koji bi iz Excela upisivao podatke direktno na SQL server


Nije problem u pristupu SQL serveru, problem je sto mi koji smo ostali u ovom poslu ne znamo da konfiguriramo SQL server i veoma malo znamo o SQL-u.

Citat:
Dakle ako sam dobro razumeo
1/ Ti na osnovu nekih podataka (SQL, spoljni podaci ...) formiraš neki model
2/ Kad se zadovoljan sa modelom klikneš na Update Model
3/ Klik startuje makro koji će taj model (podatke) da upiše u odgovarajuće tabele SQL server baze (VBA for run SQL query).
4/ Korisnik iz posebne aplikacije pregleda taj model


na osnovu spoljnih podataka i na osnovu algoritma koji obradjuje spoljne podatke mi dobijamo model, jedan deo tog modela se zarzava, a jedan deo modela (podaci/vrednosti se kopiraju u Sheet izvestaj) i onda se upotrebom macro-a salju kao attach file na email korisnika. Nije nikakakav problem da namestim triger koji ce slati na svakih 5 minuta ili na bilo koje vreme. Sada saljem email kada imam potrebu ili zelju. Mail listu kreiramo na osnovu toga ko je pretplacen na uslugu. mail adrese dobijam od PayPal-a (ali taj deo nije vazan za aplikaciju)

Citat:
U vezi sa konkretnim pitanjem, moguće je napraviti skript koji bi se startovao svakih 5 min i preuzimoa csv fajl sa neke lokacije i upisivao u SQL server. U operativnom sistemu postoji Task scheduler koji možeš podesiti da se neki task startuje svakog dana svakih 5 min. SQL server skript sa komandne linije izvršavaš sa SQLCMD komandom. Međutim za korake koje sam napiso gore ne vidim potrebu za time


Nije problem da se stratuje skripta koja ce poslati fajl na na SQL, problem je sto moramo pre toga podesiti SQL kako bi se na njega nesto zapisivalo i kako bi se sa servera nesto povlacilo. Sto se tice excela nemamo problema, to cemo sigurno odrediti.

Citat:
U ovakvoj situaciji ne znam kako bi korisnik dobijao notifikaciju da je nešto menjano u reportu i mora se pisati posebna aplikacija koja pristupa izveštajima na serveru.


Korisnik ima svoju excel aplikaciju, u toj aplikaciji dodace se neki red macroa koji ce na svakih recimo 5 minuta povlaciti podatke sa servera ili odakle vec treba bez da razmislja da li je nesto promenjeno ili ne, ako nema promene ucitace stare podatke, ako ima promene ucitace nove podatke. To nije nikakav problem.

Citat:
Ukoliko ti odgovara da izveštaj bude kao Excel fajl (txt, csv) možda lakša varijanta je da se fajl snimi na sharepoint portal i onda korisnik može da postavi notifikaciju kakvu želi (svaka izmena fajla, dnevni izveštaj, nedeljni izveštaj...). Mislim da sličan opcija postoji i snimanjem na One Drive for business. Ukoliko nisi u mogućnosti da koristiš Sharepoint pogledaj rešanja sa share folder na Dropbox i Google Drive


Mislim da je ovde negde i resenje problema. Probacu da vidim koje opcije mozemo dobiti od Dropbox-a, koje od One Drive- a, a koje od SharePointa.
Medjutim sad cu da objasnim koji se problem javio sa OneDrive i Google Drive-om.
Resili smo problem automatskog update-ovanja podataka u odgovarejuci folder na PC-ju odakle OneDrive ili GoogleDrive povlaci podatke, medjutim obicne verzije nemaju (ili mi nismo nasli) mogucnost postavljanja pasvorda i ogranicenja pristupa podacima. Ima opcija da se posalje link na odredjeni mail preko kojeg linka ce samo taj mail pristupiti fajlu, ali nam to ne vrsi posao jer je mnogo tesko da se to poveze sa excelom i da se proces automatizuju da sve to radi na svakih 5 minuta, ili jos gore na svaki minut. Usput da napomenem da ja data feed dobijam na svakih 10 sec, ali za sad ne pomisljam da izvestaj saljem na svakih 15 sekundi.

Sad mi ostaje da vidim kako ce raditi preko SharePointa. Pretplaticu se na OneDrive for Business, tamo ima SharePoint i videcu sta mogu uraditi.

Ustvari ako skratim pricu nama je najveci problem klijentski deo i kontrola pristupa.
Klijentski deo u smislu da se napravi refresh povlacenja podataka i definiranje lokacije odakle ce aplikacija povlaciti podatke, a kontrolu pristupa nije moguce resiti u osnovnim paketima cloud servisa. Nisamo vrsili eksperimete sa SharePoint-om.