[ Blue82 @ 07.03.2020. 17:37 ] @
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.

[ ser_nicky @ 09.03.2020. 08:44 ] @
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.
[ Blue82 @ 09.03.2020. 14:29 ] @
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.