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

Pivot, problem sa datumima

[es] :: MS SQL :: Pivot, problem sa datumima

[ Pregleda: 1211 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.static.isp.telekom.rs.



+322 Profil

icon Pivot, problem sa datumima07.03.2020. u 17:37 - pre 49 meseci
Code (sql):


CREATE TABLE TestPivot (
     Sifra INT NOT NULL,
     Iznos DECIMAL(18,2) NOT NULL,
     DatumValute DATE NOT NULL)



INSERT INTO TestPivot SELECT 1,  1000, '2019-06-01'
INSERT INTO TestPivot SELECT 1,     1, '2019-07-05'
INSERT INTO TestPivot SELECT 1,  1000, '2019-07-06'
INSERT INTO TestPivot SELECT 1,     2, '2019-08-20'
INSERT INTO TestPivot SELECT 1,  1000, '2019-08-20'
INSERT INTO TestPivot SELECT 1,     3, '2019-08-20'
INSERT INTO TestPivot SELECT 1,  1000, '2020-01-01'
INSERT INTO TestPivot SELECT 1,     4, '2020-01-05'
INSERT INTO TestPivot SELECT 1,  1005, '2020-02-05'
INSERT INTO TestPivot SELECT 2,  1006, '2020-03-01'
INSERT INTO TestPivot SELECT 2,  1007, '2020-03-02'
INSERT INTO TestPivot SELECT 2,  1007, '2020-03-03'
INSERT INTO TestPivot SELECT 2,  1007, '2020-03-06'
INSERT INTO TestPivot SELECT 2,  1007, '2020-03-08'
INSERT INTO TestPivot SELECT 3,  1008, '2020-04-01'



SELECT *
FROM (
          SELECT  Sifra,
                    Iznos,
                    YEAR(DatumValute) AS Godina,
                    MONTH(DatumValute) AS Mesec
                    DAY(DatumValute) AS Dan
          FROM TestPivot
      ) AS a
PIVOT (SUM(Iznos) FOR Godina IN ([2019],[2020])) AS pv
 


Da li je izvodljivo da se napravi pivot na način da će dugovanje kupaca predstaviti po godinama (kao u primeru gore), ali kada dođe do 2020. godine nju da pokaže zbirno po mesecima, s tim što će 3. mesec da predstavi tako što će se videti kako kupcima dospevaju na plaćanje fakture na dnevnom nivou.

Ako se nisam precizno izrazio, pregled treba da pokaže spisak svih kupaca kojima sa pregledom kada im fakture dospevaju (ili su već dospele za plaćanje) tako što će ih grupisati po godinama u kojima im je bila valuta plaćanja a 2020. godinu treba da predstavlja tako što će na mesečnom nivou prikazati kom komitentu je koliko dospelo na plaćanje, s tim što će 3. mesec (kao trenutno aktuelni) da prikaže najdetaljnije, na dnevnom nivou.
Konačno rešenje bi trebalo da izgleda slično kao u tabeli.

Prikačeni fajlovi
 
Odgovor na temu

ser_nicky
BI Developer

Član broj: 307062
Poruke: 97
80.120.61.*



+32 Profil

icon Re: Pivot, problem sa datumima09.03.2020. u 08:44 - pre 49 meseci
Samo jedno pitanje: da li je "pod moranje" da sve to radis u SQL (da li je ovo neki zadatak, ili zaista realan zahtev)?

Pitam, jer ne vidim razlog da radis pivotiranje u SQL, morao bi da radis pivot do najnizeg hijerarhijskog nivoa podataka, u tvom slucaju do nivoa dana u mesecu, kako bi dobio sumu iznosa za taj nivo, pa posle da proveravas da li je odredjeni period u aktuelnom mesecu, pa onda dinamicki da kreiras prikaz, itd... Nepotrebno po mom misljenju, kad vec postoje alati koji rade to: Excel (zato se i zove Pivot tabela:)), SSRS (Matrix), Power BI (Matrix), ako govorimo o MS platformi.
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.static.isp.telekom.rs.



+322 Profil

icon Re: Pivot, problem sa datumima09.03.2020. u 14:29 - pre 49 meseci
Pa suštinski, ja to uradim na osnovu gore pomenutog upita i onda podatke koje dobijem pivotiram u Excel-u sa par klikova i dobijem ono što želim ali pošto to radim svakodnevno, nekako mi je logičnije da to uradim kroz SQL kad mi on već "donosi" sve potrebne podatke.
 
Odgovor na temu

[es] :: MS SQL :: Pivot, problem sa datumima

[ Pregleda: 1211 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

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