Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

prosječna vrijednost za dane vezivanja

[es] :: MS SQL :: prosječna vrijednost za dane vezivanja

[ Pregleda: 2582 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

adopilot
Admir Hodžić
It menager
Sarajevo BiH

Član broj: 123492
Poruke: 134
217.199.135.*

Sajt: nemam ja to


Profil

icon prosječna vrijednost za dane vezivanja25.01.2009. u 22:50 - pre 168 meseci
Poštovani !
Radim neku poslovnu intelegenciju automackog naručivanja u firmi
Da bi odredio cikličnost nekog dobavljača najviše bi volio izračunati koliki je to prosječan broj dana između dva ulaza.

Tabela ulazni dokumenta otprilike izgleda ovako:

id,partner,datum,....
1,'Orbico','2009-01-01'
2,'Sarajmilk','2009-01-01'
3,'Teleoptik',2009-01-01'
4,'Orbico','2009-01-07'
5,'Sarajmilk','2009-01-15'
6,'Teleoptik,'2009-01-30'
7,'Obrico','2009-01-14'
8,'SArajmilk','2009-01-30'
9,Teleoptic',2009-02-02'

Na koji način ću najlakše dobiti resultsets:

partner,¸[prosjecan broj dana između dvije nabave]
'Orbico',7
'Sarajmilk',15
'Teleoptic',30

Svaki savjet bi dobrodošao
Unaprijd sam zahvalan

Malo je kasno pa mi kompajler ne radi te ću ujutro probati dati svoj prijedlog kada se naspavam
Kao i malo ljepši uzorak testnih podataka.

Lijep pozdrav

S poštovanjem
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: prosječna vrijednost za dane vezivanja26.01.2009. u 08:10 - pre 168 meseci
probaj sledeci SQL:

Code:

select partner, AVG(daySpan)
from (  select a.partner as partner, CAST(DATEDIFF(d, MAX(b.datum), a.datum) as float) as daySpan
        from ulaz a
        inner join ulaz b on a.partner = b.partner and a.datum > b.datum
        group by a.partner, a.datum ) cview
group by partner 
order by partner


cview select u principu mozes da kreiras kao view ako ti zatreba nesto, on vraca spisak svih partnera i pojedinacnih razmaka izmedju dva ulaza.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: prosječna vrijednost za dane vezivanja26.01.2009. u 14:11 - pre 168 meseci
@mmix: SQL izraz je Ok, samo me interesuje zasto mora CAST na DATEDIFF. To sam vec video negde i nije mi bilo bas jasno. Deluje mi malo nepotrebno. Ne uzbudjuje me gubitak na brzini zbog toga, vise me smeta sto cini izraz komplikovanijim nego sto bi (mozda?) trebalo.

 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: prosječna vrijednost za dane vezivanja26.01.2009. u 14:22 - pre 168 meseci
Da bi ga prebacio u float, da bi posle AVG agregat radio nad float tipom, tj da bi AVG(5, 6) bio 5.50
Kad ne bi bilo castovanja u float AVG bi radio sa int-ovima i zaokruzio rezulat na int, dakle AVG (5, 6) bi bio 6



Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: prosječna vrijednost za dane vezivanja26.01.2009. u 20:26 - pre 168 meseci
Hvala, sad je bolje :-)
 
Odgovor na temu

mkaras
Marko Karas
Beograd

Član broj: 66087
Poruke: 427



+19 Profil

icon Re: prosječna vrijednost za dane vezivanja27.01.2009. u 08:32 - pre 168 meseci
Citat:
mmix: Da bi ga prebacio u float, da bi posle AVG agregat radio nad float tipom, tj da bi AVG(5, 6) bio 5.50
Kad ne bi bilo castovanja u float AVG bi radio sa int-ovima i zaokruzio rezulat na int, dakle AVG (5, 6) bi bio 6


A zbog čega je potrebno da se dobije tačan broj. Int je tu sasvim svrsishodan. I razlika u danima između dve nabavke je ceo broj, čemu onda računati srednje vreme u danima, časovima, minutima, sekundama...?
Teoretski je to, što si uradio, sasvim korektno ali u datom slučaju je nepotrebno gubljenje vremena. U konkretnom slučaju nabavka bi se vršila posle 5 dana jer onih 0,6 ne znam kako da obračunam tj. da li se nabavka vrši posle podne ili čak i noću.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: prosječna vrijednost za dane vezivanja27.01.2009. u 11:27 - pre 168 meseci
Pa recimo da se ne slazem jer ni ja ni ti ne znamo gde ce taj broj i kako biti upotrebljen, ti si dao samo jednu najbanalniju primenu.
Medjutim, cak i kad primenis taj tvoj algoritam dovesces do eventualnog praznjejna ili prepunjavanja magacina zbog greske u zaokruzivanju. Recimo da je istorijat isporuka bio {5, 6, 5, 6} tebi ce zaokruzen rezultat rezultat biti 6 i buduca periodika ce biti {6, 6, 6, 6, ....} i sta vise ponovna primena nezaokruzene skripte ce prikazati konvergenciju srednje vrednost ka zaokruzenoj {5.6, 5.66, 5.71, itd. }. U poslovnoj implementaciji to znaci da ce roba svaki drugi put stici sa dan zakasnjenja, sto znaci da se svakih 12 dana magacin umanjuje za dnevnu kolicinu bez da ista bude pokrivena i pre ili kasnije ce rezerva biti ispraznjena. Sa druge strane ako periodiku tretiras nezaokruzenu vec zaokruzujes sledeci datum i pamtis ostatak (sati, minut) onda ce periodika nastaviti da izgleda {5, 6, 5, 6, ... } sto je verodostojnije realnoj situaciji.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

mkaras
Marko Karas
Beograd

Član broj: 66087
Poruke: 427



+19 Profil

icon Re: prosječna vrijednost za dane vezivanja27.01.2009. u 12:29 - pre 168 meseci
Citat:
mmix: Pa recimo da se ne slazem jer ni ja ni ti ne znamo gde ce taj broj i kako biti upotrebljen, ti si dao samo jednu najbanalniju primenu.
Medjutim, cak i kad primenis taj tvoj algoritam dovesces do eventualnog praznjejna ili prepunjavanja magacina zbog greske u zaokruzivanju. Recimo da je istorijat isporuka bio {5, 6, 5, 6} tebi ce zaokruzen rezultat rezultat biti 6 i buduca periodika ce biti {6, 6, 6, 6, ....} ...


Recimo da opet ne čitaš postavljeno pitanje. Moram da te podsetim da je pitanje pokretača teme bilo:

Citat:
adopilot: Poštovani !
Radim neku poslovnu intelegenciju automackog naručivanja u firmi
Da bi odredio cikličnost nekog dobavljača najviše bi volio izračunati koliki je to prosječan broj dana između dva ulaza.

Tabela ulazni dokumenta otprilike izgleda ovako:

id,partner,datum,....
1,'Orbico','2009-01-01'
2,'Sarajmilk','2009-01-01'
3,'Teleoptik',2009-01-01'
4,'Orbico','2009-01-07'
5,'Sarajmilk','2009-01-15'
6,'Teleoptik,'2009-01-30'
7,'Obrico','2009-01-14'
8,'SArajmilk','2009-01-30'
9,Teleoptic',2009-02-02'

Na koji način ću najlakše dobiti resultsets:

partner,¸[prosjecan broj dana između dvije nabave]
'Orbico',7
'Sarajmilk',15
'Teleoptic',30
...


Jasno se vidi da za pokretača teme bitan broj celih dana (pogledaj resultsets koji se zahteva). Tako da izgleda samo ti ne znaš kako će taj broj dana biti primenjen.
Čak se ni kod datuma nabavke ne računa tačno vreme kada je roba nabavljena, stigla, smeštena u magacin, itd... Vodi se evidencija samo i samo datuma.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6041



+4631 Profil

icon Re: prosječna vrijednost za dane vezivanja27.01.2009. u 12:54 - pre 168 meseci
Ja i dalje ne vidim u cemu je tvoj licni problem, ja sam izneo moje razloge zasto sam ubacio cast u float, ako ti ne odgovara a ti izbaci cast u svojoj aplikaciji, meni ni uz dzepa ni u dzep.

I btw, taj dataset i resultset nisu u sprezi jer je dayspan od 1. u mesecu do n-og u mesecu zapravo n-1 a ne n dana tako da su mu rucne kalkulacije neispravne, al ajde. Njegov resultset me ne interesuje sem kao okviran guide formata podataka jer je njegov zahtev zapravo bio resultset koji mu treba za razradu automatskog narucivanja baziranog na ciklicnosti i to je i dobio. Ako vec hoces da glumis njegovog advokata onda bar pitaj njega sta hoce ili bar procitaj celo pitanje, a posto adopilot-a niko ne drzi vezanog siguran sam da mu advokat ne treba i da ce sam da razjasni i dopuni svoje pitanje ako je neophodno.
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

adopilot
Admir Hodžić
It menager
Sarajevo BiH

Član broj: 123492
Poruke: 134
80.65.163.*

Sajt: nemam ja to


Profil

icon Re: prosječna vrijednost za dane vezivanja27.01.2009. u 13:04 - pre 168 meseci
Zahvaljujem na brzim odgovorima i dobrim odgovorima
Nažalost posao me malo previše stisnu da bi komentarisao i učestovovao u raspravi
a kući su mi sam opet imao goste.

Skripta radi izuzetno tačno ali nažalos izgleda ne funkcionalno jer je moj uzorak podatak ogroman
oko 300 Dobavljača prema 10 Objekata svaki objekat godišenj ima oko 10 000 Ulaza.
I to sve sada treba kontrolisati sql om.
Malo je preteško sve zahtjeve direkora pohvatati i napraviti neke super automatike
Ukoliko postignemo da računar odradi 50% planiranog posla biti cu na konju.
Trenutno dajem prijedlog kako bi to izgledalo kada bi računar radio pa ću vidjeti kakve će oni imati primjedbe.

Ne znam kakav je slučaj u drugim firmama postao ali mene iz dana u dan sve više izluđuje to što se poslovna politika mijenja iz sata u sat.
I to da sve manje ljudi hoće da se udubi u problem i da razradi sve probleme do detalja. Onda ja moram glumiti nostrodamusa
i govoriti da je to nemoguće po pitanju funkcionalnosti i elana poslovanja.

Lijep pozdrav
Admir
S poštovanjem
 
Odgovor na temu

mkaras
Marko Karas
Beograd

Član broj: 66087
Poruke: 427



+19 Profil

icon Re: prosječna vrijednost za dane vezivanja28.01.2009. u 08:17 - pre 168 meseci
@adopilot
Pokušaj da prosečan broj dana računaš malo drugačije. Pošto imaš veliki skup podataka onda u prvom koraku izdvoji podskup koji je mnogo manji i nad kojim računjanje ide mnogo brže. To znači da:
1. Za svakog dodavljača izvuci datum najstarije i datum najnovije nabavke kao i ukupan broj nabavki u tom periodu i
2. Razliku dana između najnovije i najstarije nabavke podeli sa ukupnim brojem nabavki.

Neko slično, samo prilagođeno, rešenje ja koristim za analizu prometa pojedine robe. Brzina rada nije baš toliko kritična jer se ne radi svaki čas već upit već jednom mesečno, kvartalno, polugodišnje ... I nije problem malo sačekati

Mada što se tiče tvog pravog problema, kako ga ja vidim, mnogo je elegantnije nabavku vršiti onda kada količina robe padne ispod neke zadate količine. Povremeno uradiš analizu prometa i na osnovu toga, a i ostalih parametara koji zavise od politike firme odrediš za svaki objekat i svaku robu minimalnu količinu potrebnu u magacinu. Prostim upitom u stanje i poredeći ga sa minimalnom količinom ti praktično trenutno imaš spisak robe koja treba da se nabavi.

 
Odgovor na temu

[es] :: MS SQL :: prosječna vrijednost za dane vezivanja

[ Pregleda: 2582 | Odgovora: 10 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.