• 9,5/10 uit 136 reviews
  • Sumatra Consultant van het Jaar
  • Sinds 1994 in het Exact-ecosysteem
  • First time right ingericht en getest

Globe · SQL

SQL-query: afschrijvingen van activa in de tijd

28 november 2021 · Marc van Rongen

Deze query maakt een dynamische pivot met de periodes op de x-as en de activa op de y-as, met alle periodes. Voor de handige Exact-specialist is dit makkelijk te filteren op een of meer periodes.

Let op: het gaat om de gebudgetteerde (berekende) afschrijvingen.
DECLARE @query VARCHAR(max)
DECLARE @cols VARCHAR(max)
SELECT @cols = Stuff((SELECT DISTINCT ','
+ Quotename(Cast(g.bkjrcode AS
VARCHAR(max))+RIGHT('0'+Ltrim(Rtrim(g.periode)), 2))
FROM   gbkmut g
JOIN itemnumbers a
ON a.number = g.facode
WHERE  g.bud_vers = 'MRP'
AND bdr_hfl <> 0
AND bdr_hfl IS NOT NULL
ORDER  BY ','
+ Quotename(Cast(g.bkjrcode AS
VARCHAR(max))+RIGHT('0'+Ltrim(Rtrim(g.periode)), 2))
FOR xml path(''), type).value('.', 'NVARCHAR(MAX)'), 1, 1, '');
SELECT @query = ' select  * from (select facode, cast(bkjrcode as varchar(max))+right(''0''+ltrim(rtrim(periode)),2) as periode, bdr_hfl from gbkmut g join ItemNumbers a on a.Number=g.facode where  g.bud_vers =''MRP'' and bdr_hfl <>0 and bdr_hfl is not null  ) src pivot ( sum(bdr_hfl) for periode in (' + @cols + ') )piv;'
EXEC (@query)

Meer over het inbrengen van activa lees je in Inbrengen van activa in Exact.