Antal borgere der er tilflyttet, minus dem der er fraflyttet | Tilflytning, 005-0011-001-1-0-0, minus Fraflytning, 005-0011-001-2-0-0. | /*AntalBorgere_TilflyttetMinusFraflyttet*/
SELECT [M0].[DimTidID]
,[M0].Kommunenummer
,CAST(ISNULL([M0].[FormelResultat], 0) + ISNULL([M1].[FormelResultat], 0) AS DECIMAL(18, 5)) AS [FormelResultat]
FROM (
SELECT [Beregning].[DimTidID]
,[Sammenligningsgrupper].[SammenligningsgruppeNummer] Kommunenummer
,AVG([Beregning].[FormelResultat]) AS [FormelResultat]
FROM (
SELECT [TidPeriode].[Dato]
,[TidPeriode].[DimTidID]
,[DimGeografi].[Kommunenummer] [KommuneNummer]
,CAST(SUM([FactBorger].[Tilflyttet]) AS DECIMAL(18, 5)) AS [FormelResultat]
FROM [Borger].[FactBorger]
INNER JOIN [Borger].[DimGeografi]
ON [FactBorger].[DimGeografiAdresse] = [DimGeografi].[DimGeografiID]
INNER JOIN [Generel].[DimTid] AS [TidOpgørelse]
ON [FactBorger].[DimTid] = [TidOpgørelse].[DimTidID]
INNER JOIN [Generel].[DimTid] AS [TidPeriode]
ON [TidPeriode].[DimTidID] = [TidOpgørelse].[DimTidID]
WHERE (
([TidPeriode].[År] >= 2007)
AND ([TidPeriode].[MånedFørsteDag] = 1)
)
GROUP BY [TidPeriode].[Dato]
,[TidPeriode].[DimTidID]
,[DimGeografi].[Kommunenummer]
) [Beregning]([Dato], [DimTidID], [KommuneNummer], [FormelResultat])
INNER JOIN (
SELECT [SammenligningsgruppeNummer]
,[SammenligningsgruppeNummer] [KommuneNummer]
FROM [Nøgletal].[DimSammenligningsgruppe]
WHERE [SerieNummer] = 0
AND [SerieNummer] <> [SammenligningsgruppeNummer]
) AS [Sammenligningsgrupper]
ON [Sammenligningsgrupper].[KommuneNummer] = [Beregning].[KommuneNummer]
GROUP BY [Beregning].[DimTidID]
,[Sammenligningsgrupper].[SammenligningsgruppeNummer]
) AS [M0]
LEFT OUTER JOIN (
SELECT [Beregning].[DimTidID]
,[Sammenligningsgrupper].[SammenligningsgruppeNummer] Kommunenummer
,AVG([Beregning].[FormelResultat]) AS [FormelResultat]
FROM (
SELECT [TidPeriode].[Dato]
,[TidPeriode].[DimTidID]
,[DimGeografi].[Kommunenummer] [KommuneNummer]
,CAST((SUM([FactBorger].[Fraflyttet]) * - 1) AS DECIMAL(18, 5)) AS [FormelResultat]
FROM [Borger].[FactBorger]
INNER JOIN [Borger].[DimGeografi]
ON [FactBorger].[DimGeografiAdresse] = [DimGeografi].[DimGeografiID]
INNER JOIN [Generel].[DimTid] AS [TidOpgørelse]
ON [FactBorger].[DimTid] = [TidOpgørelse].[DimTidID]
INNER JOIN [Generel].[DimTid] AS [TidPeriode]
ON [TidPeriode].[DimTidID] = [TidOpgørelse].[DimTidID]
WHERE (
([TidPeriode].[År] >= 2007)
AND ([TidPeriode].[MånedFørsteDag] = 1)
)
GROUP BY [TidPeriode].[Dato]
,[TidPeriode].[DimTidID]
,[DimGeografi].[Kommunenummer]
) [Beregning]([Dato], [DimTidID], [KommuneNummer], [FormelResultat])
INNER JOIN (
SELECT [SammenligningsgruppeNummer]
,[SammenligningsgruppeNummer] [KommuneNummer]
FROM [Nøgletal].[DimSammenligningsgruppe]
WHERE [SerieNummer] = 0
AND [SerieNummer] <> [SammenligningsgruppeNummer]
) AS [Sammenligningsgrupper]
ON [Sammenligningsgrupper].[KommuneNummer] = [Beregning].[KommuneNummer]
GROUP BY [Beregning].[DimTidID]
,[Sammenligningsgrupper].[SammenligningsgruppeNummer]
) AS [M1]
ON [M0].[DimTidID] = [M1].[DimTidID]
AND [M0].Kommunenummer = [M1].Kommunenummer | Borger |