[MSSQL] - jak na klouzave soucty - updated
protoze jsem problem stale nevyresil pokusim se preformulovat co vlastne potrebuji:
resim exporty z ekonomickeho systemu
jedna se o data z dokladu (ruzne polozky jako paragraf, obdobi, atp - pro me zajimavy sloupce jsou MD a DAL). Potrebuji z nich dostat data o rozpoctu (jsou to pouze urcite doklady ktere se do rozpoctu zohlednuji)
nemam problem je vyselectovat pomoci group by, ale problem je, ze potrebuji abych mel jeste 2 nove sloupce, ktere by obsahovaly soucty MD a DAL.
Data chodi kazdy den, ale chodi pouze takova ktera se zmeni (tj stavy s MD a DAL kde by byla castka 0 neprijdou). Tj potrebuji abych v kazdem obdobi mel vzdy soucty pro vsechny kombinace pouzitych sloupcu (paragraf a dalsi cleneni) prave tyto soucty. Zjednodusene receno jsou to klouzave soucty, ale s tim rozdilem ze podminka podle ktere se tyto soucty tvori (obdobi) nemusi jit presne za sebou, ale mohou byt nektere vynechany. (tak kde budou vynechany by se mely objevit soucty za vsechny predchozi - tj pricist 0)
pokud bych vedel jak vlozim do databaze radky, ktere jiz byly pouzity pouze se zmenenou jednou polozkou (obdobi) tak myslim ze by bylo vyhrano - kdyby data sla postupne, uz by asi nebyl takovy problem klouzave soucty vytvorit
doufam ze mi podarilo alespon lepe popsat zadani problemu, diky za jakoukoliv pomoc
Re: [MSSQL] - jak na klouzave soucty
updatoval jsem zadani, snad se mi podarilo lepe vystihnout kde mam problem
Re: [MSSQL] - jak na klouzave soucty
Tak od poloviny jsem prestal chapat :-)
Muzes sem hodit nejaky maly priklad? 3-4 radky, jen potrebne sloupce a co z toho chces udelat
Re: [MSSQL] - jak na klouzave soucty
vyselektovana data ze zdrojovych udaju vypadaji napr takhle:
http://imagesh.net/gallery/view.php?...&image_id=2015
(vsechny jsou z jednoho obdobi)
az sem by nebyl problem, a tohle by mohlo byt i vysledkem ktery zapisu do jine tabulky, kdyby v nejakem (nebo vsech) predchozich obdobich nebyl jiz zapsan radek se stejnymi hodnotami ve sloupcich (samozrejme krom MD a DAL). Pokud jiz takovy radek v dbs je tak je treba aby se MD a DAL sloupce pricetly k MD a DAL z minulych obdobi.
+ navic je potreba vzdy kdyz se zmeni obdobi doplnit radky ktere se v minulosti vyskytly a nyni neprisly a pricetla se k nim 0 (tj kopie strasich radku pouze s aktualnim obdobim)
vse slouzi k tomu aby na konci mesice (obdobi) se uzivatel mohl podivat do databaze a uvidel jaka data jsou v rozpoctu
kdyz by se podarilo pri zmene obdobi dopnit radky pouzite v minulem obdobi (ktere v aktualnim nemely zadny pohyb na MD nebo DAL) tak vytvorit soucty by jiz nebyl takovy problem...
snad je to jiz pochopitelnejsi
Re: [MSSQL] - jak na klouzave soucty
Jestli to chapu spravne, tak vlastne jediny problem mas ten, ze nevis, jak do te vysledne tabulky pridat i obdobi, ve kterych nic neprislo.
Tu tabulku chces vytvaret pri kazdem exportu nebo ji mit trvale ulozenou a pravidelne ji aktualizovat?
Re: [MSSQL] - jak na klouzave soucty
Citace:
Původně odeslal
zivan
Jestli to chapu spravne, tak vlastne jediny problem mas ten, ze nevis, jak do te vysledne tabulky pridat i obdobi, ve kterych nic neprislo.
Tu tabulku chces vytvaret pri kazdem exportu nebo ji mit trvale ulozenou a pravidelne ji aktualizovat?
vlastne ano, to by vetsi cast problemu vyresilo. (pridat radky s pouzitou kombinaci sloupcu pouze s jinym - aktualnim obdobim)
tabulka bude trvale ulozena, protoze budou chodit pouze prirustky. Ale nebyl by problem nastavit aby se vzdycky vytvorila a predchozi data se natahnuly ze zalohy a az pak nove prichozi
Re: [MSSQL] - jak na klouzave soucty
A jak mas reseno pridavani radku do te puvodni tabulky? Pokud nejakou funkci, tak by slo pri kazdem pridani aktualizovat "souhrnou" tabulku a pri zmene obdobi doplnit i ta prazdna (pokud by se nejake preskocilo).
Re: [MSSQL] - jak na klouzave soucty
Citace:
Původně odeslal
zivan
A jak mas reseno pridavani radku do te puvodni tabulky? Pokud nejakou funkci, tak by slo pri kazdem pridani aktualizovat "souhrnou" tabulku a pri zmene obdobi doplnit i ta prazdna (pokud by se nejake preskocilo).
data jsou transformovana datovou pumpou (tenhle projekt je na SQL 2000)