Modellguide för tjänsten Lokalt Fysiskt Tillträde

Installation, körning, indata, beräkningsflöde, utdata och funktionsöversikt

Syfte

Modellguidens primära syfte är att vägleda användaren i hur modellpaketet konfigureras och körs samt att beskriva dess tekniska implementering, dataflöde, kodstruktur och resultatfiler. Guiden avser modellpaketet för kostnadsberäkning av lokalt fysiskt tillträde till fiberaccessnät. Modellpaketet använder modellerade nätkvantiteter per accessområde tillsammans med tillgångsspecifika investerings- och kostnadsparametrar för att beräkna investeringsvärden och, utifrån dessa, återkommande månadskostnader för matnings- och distributionssegmenten. Kod för framtagning av geomodellerade nätverkskvantiteter ingår inte i modellpaketet. Dessa kvantiteter utgör i stället utgångspunkten för kalkylens indata.

Det medföljande modellpaketet är konfigurerat för en fiktiv operatör och innehåller fiktiva nätkvantiteter samt fiktiva investerings- och kostnadsparametrar. Den fiktiva operatören består av tre accessområden, vilka tillsammans utgör underlaget för modellens beräkningar och exporterade resultat. Uppgifterna är framtagna för att illustrera modellens struktur, beräkningsflöde och resultatredovisning och ska inte tolkas som uppgifter om en verklig operatör eller ett verkligt accessnät.

Guiden beskriver hur beräkningsprinciperna har implementerats i R men ersätter inte modellreferensdokumentet (MRD) eller modelldokumentet. Dessa dokument beskriver modellens metodmässiga grund.

Modellens kod, variabelnamn, Excel-struktur och resultatbenämningar är i huvudsak på engelska. Denna modellguide är skriven på svenska.

Egenskap Värde
Modell Kalkylmodell för tjänsten Lokalt Fysiskt Tillträde
Modellens språk Engelska
Modellguidens språk Svenska
Huvudskript _run_model_local_physical_access.R
Standardindata _input/model_input_fictive_netowner.xlsx
Standardutdata _output/model_output_fictive_netowner.xlsx

Innehåll


1. Modellöversikt

Kalkylmodellen för tjänsten Lokalt Fysiskt Tillträde beräknar kostnader för den fysiska accessinfrastruktur som betjänar SDU-, MDU- och NRO-byggnader inom de accessområden som ingår i modellkörningen.

I guiden används följande förkortningar:

Förkortning Betydelse
SDU Single-dwelling units – enfamiljshus
MDU Multi-dwelling units – flerfamiljshus
NRO Non-residential and other buildings – lokaler och övriga byggnader, inklusive kommersiella, industriella och offentliga byggnader

Modellen beräknar kostnader för två inkrement. Inkrementet sdu_mdu_nro omfattar samtliga byggnadstyper och används för modellens fullständiga beräkning av nätkvantiteter, investeringar och kostnader. Därutöver beräknas inkrementet mdu_nro, där SDU exkluderas. Genom att beräkna kostnaderna separat för dessa två inkrement skapas underlaget för modellens fördelning av kostnader mellan SDU och MDU/NRO.

Kostnadsfördelningen följer princip 17 i modellreferensdokumentet (MRD). Kostnaden för inkrementet mdu_nro används för att fastställa den självständiga kostnaden för MDU och NRO. Den återstående kostnaden, beräknad som skillnaden mellan kostnaden för sdu_mdu_nro och kostnaden för mdu_nro, hänförs till SDU. På detta sätt används de två inkrementen tillsammans för att fördela kostnaderna i accessnätet mellan byggnadstyperna.

Inkrement Innehåll Användning
sdu_mdu_nro SDU, MDU och NRO Omfattar samtliga byggnadstyper och används för beräkning av nätkvantiteter, investeringar och kostnader.
mdu_nro MDU och NRO, utan SDU Används för att härleda den självständiga kostnaden för MDU och NRO och därigenom den inkrementella kostnad som hänförs till SDU.

Den modellerade infrastrukturen delas i två nätsegment:

Modellkedjan kan sammanfattas som:

Excel-indata
    ↓
Nätkvantiteter per accessområde och inkrement
    ↓
Investering per tillgångskategori
    ↓
Månatliga kostnadskomponenter
    ↓
Aggregering per accessområde och nätägare
    ↓
SDU/MDU/NRO-kostnad minus MDU/NRO-kostnad
    ↓
Inkrementell kostnad per aktiv SDU-linje
    ↓
Excel-utdata

2. Installation och körning

Detta avsnitt beskriver hur R och RStudio installeras och hur modellpaketet körs från början till slut. Vid normal användning behöver användaren endast arbeta i huvudskriptet _run_model_local_physical_access.R; övriga R-filer läses in automatiskt av huvudskriptet.

2.1 Installera R

R måste vara installerat på datorn innan modellen kan köras.

  1. Gå till den officiella distributionssidan för R: The Comprehensive R Archive Network.
  2. Välj operativsystem, exempelvis Windows eller macOS.
  3. Ladda ned aktuell installationsfil för R.
  4. Genomför standardinstallationen.

Efter installationen finns själva R-motorn på datorn. Modellen körs därefter genom RStudio Desktop, som ger ett grafiskt gränssnitt för att öppna och köra huvudskriptet.

2.2 Installera RStudio Desktop

  1. Gå till Posits officiella nedladdningssida för RStudio Desktop.
  2. Ladda ned RStudio Desktop för aktuellt operativsystem.
  3. Installera programmet.
  4. Starta RStudio.

R ska installeras före RStudio Desktop. RStudio använder den installerade R-versionen när modellskriptet körs.

2.3 R-paket installeras automatiskt

Ingen separat manuell installation av modellens R-paket krävs vid en normal modellkörning.

När huvudskriptet startas kontrolleras först att paketet rstudioapi finns tillgängligt. Därefter läses 00_packages.R, som kontrollerar om modellens övriga paket är installerade. Paket som saknas installeras automatiskt från CRAN och samtliga nödvändiga paket laddas sedan till R-sessionen.

Modellpaketet använder följande R-paket:

dplyr
stringr
tidyr
openxlsx
readxl
tibble
rstudioapi

Vid den första körningen kan internetåtkomst därför behövas för att installera paket som saknas. Vid senare körningar används de redan installerade paketen.

2.4 Placera modellpaketet

Packa upp modellpaketet innan modellen körs. Modellfilerna ska ligga tillsammans i modellmappen med _input och _output som underkataloger:

local_physical_access/
│
├── _run_model_local_physical_access.R
├── 00_packages.R
├── 01_load_source_data_functions.R
├── 02_investment_model_functions.R
├── 03_result_model_functions.R
├── 04_output_functions.R
├── 05_output_excel_formatting_functions.R
│
├── _input/
│   └── model_input_fictive_netowner.xlsx
│
└── _output/
    └── model_output_fictive_netowner.xlsx

Huvudskriptet använder rstudioapi::documentPath() för att identifiera den mapp där skriptet är sparat och sätter denna mapp som arbetskatalog. Huvudskriptet ska därför vara sparat på disk innan modellen körs.

2.5 Förbered Excel-indatan

Standardkörningen läser följande fil:

_input/model_input_fictive_netowner.xlsx

Excel-filen ska därför finnas i modellmappens _input-katalog innan huvudskriptet körs. Indatans struktur beskrivs närmare i avsnitt 3.

2.6 Starta modellen i RStudio

Modellen ska vid normal användning köras genom att hela huvudskriptet _run_model_local_physical_access.R körs från början till slut.

Det rekommenderade körsättet är Source:

  1. Starta RStudio.
  2. Öppna _run_model_local_physical_access.R från modellmappen.
  3. Kontrollera att huvudskriptet är sparat på disk.
  4. Klicka på Source ovanför källkodsfönstret.
  5. Hela huvudskriptet körs då automatiskt från början till slut. Ingen kod behöver markeras.
  6. Följ körningen i Console. Där visas körningsmeddelanden och eventuella felmeddelanden.
  7. När körningen är slutförd finns objektet model_output i RStudios Environment.
  8. Den formaterade Excel-utdatan finns i _output-katalogen.

Knappen Run kör endast markerad kod eller aktuell rad och är därför inte det rekommenderade sättet att starta en full modellkörning. Stödfilerna 00_packages.R05_output_excel_formatting_functions.R behöver inte öppnas eller köras separat.

2.7 Vad huvudskriptet gör

Vid en full körning genomför huvudskriptet följande steg i ordning:

Steg Händelse
1. Runtime initialisation R-miljön rensas, projektmappen identifieras och modellens stödfiler läses in.
2. Source model input data Excel-indatan läses och objektet model_input byggs.
3. Model result generation Modellfunktionerna för investerings-, kostnads- och resultatberäkningar anropas.
4. Model execution Modellen körs för vald nätägare och för de två modellinkrementen sdu_mdu_nro och mdu_nro. Resultaten samlas i model_output.
5. Output functions Resultaten förbereds för Excel-export.
6. Output execution De formaterade resultatfilerna skrivs till _output.

Standardinläsningen i huvudskriptet är:

model_input <- f_source_model_input(
  excel_path    = "_input/model_input_fictive_netowner.xlsx",
  show_progress = TRUE
)

Nätägarna hämtas därefter från sdu_mdu_nro-inkrementet och modellen körs separat för inkrementen sdu_mdu_nro och mdu_nro.

netowner_ids <- names(model_input$input_sdu_mdu_nro_netowner_buckets)

model_output <- f_access_model_run_results(
  investment_cost_parameters   = model_input$input_investment_cost_parameters,
  sdu_mdu_nro_netowner_buckets = model_input$input_sdu_mdu_nro_netowner_buckets,
  mdu_nro_netowner_buckets     = model_input$input_mdu_nro_netowner_buckets,
  cost_parameters_wide         = model_input$input_cost_parameters_wide,
  netowner_ids                 = netowner_ids
)

Slutligen exporteras resultatet till _output:

f_access_model_write_output(
  model_output =
    model_output,

  selected_netowners_access_area =
    model_input$input_selected_netowners_access_area,

  output_dir =
    "_output"
)

Huvudskriptet börjar med rm(list = ls()), vilket innebär att objekt i den aktuella globala R-miljön tas bort när en ny modellkörning startas.

3. Indata

Modellens standardindata finns i:

_input/model_input_fictive_netowner.xlsx

Huvudskriptet läser arbetsboken genom f_source_model_input(). Indatan består av tre huvuddelar: valda nätägare och accessområden, nätkvantiteter per inkrement samt investerings- och kostnadsparametrar.

3.1 Bladstruktur

Blad / namnmönster Innehåll
selected_netowners_access_area Koppling mellan nätägare, organisation och de accessområden som ingår i modellen.
access_area_<ID>_sdu_mdu_nro Nätkvantiteter för ett accessområde i inkrementet SDU/MDU/NRO.
access_area_<ID>_mdu_nro Nätkvantiteter för samma accessområde i inkrementet MDU/NRO.
investment_cost_parameters Investeringsparametrar och kostnadsparametrar som används i beräkningen.

För modellpaketets fiktiva operatör motsvarar accessområdesbladen de tre accessområden som ingår i exempeldata.

3.2 Valda nätägare och accessområden

Bladet selected_netowners_access_area används för att koppla accessområden till nätägare och för metadata i resultatfilerna. Centrala fält är:

Fält Användning
format_netowner Standardiserat nätägar-ID som används i modellens liststrukturer och etiketter.
access_area_id Numeriskt ID för accessområdet.
org Organisationsnamn som används i resultatbokens metadata.

Accessområdesetiketter byggs i formen:

<format_netowner>_access_area_<ID>

3.3 Nätkvantiteter per inkrement

Accessområdesbladen identifieras med prefixet access_area_ och inkrementets suffix. Varje blad innehåller modellens nät- och efterfrågekvantiteter för ett accessområde.

De centrala kolumnerna är:

Kolumn Innehåll
var_name Unikt variabelnamn som används av investerings- och resultatfunktionerna.
value Numeriskt värde för variabeln.

Exempel på variabelgrupper i accessområdesdata är:

De två inkrementen behandlas separat genom investerings- och kostnadsberäkningarna och kombineras först i den slutliga beräkningen av den kostnad som hänförs till SDU.

3.4 Investerings- och kostnadsparametrar

Bladet investment_cost_parameters innehåller både investeringsantaganden och parametrar för omvandling av investeringar till kostnader.

Följande källkolumner används av inläsningen:

Kolumn Innehåll
category_level_1 Parameterkategori eller nätkvantitet som parametern är kopplad till.
var_name Fullständigt variabelnamn.
value Parametervärde.

Poster där category_level_1 börjar med cost_ behandlas som kostnadsparametrar. Dessa formas även om till en bred tabell där exempelvis WACC, ekonomisk livslängd, prisförändring, OPEX-faktor och gemensam kostnadsfaktor kan kopplas till respektive tillgångskategori.

Övriga poster används som investeringsparametrar och omfattar bland annat enhetspriser, reservantaganden, delningsfaktorer, statsstödsparametrar och förväntad aktiveringsgrad för SDU.

3.5 Objektet model_input

Efter inläsning returnerar f_source_model_input() följande struktur:

Objekt Innehåll
input_selected_netowners_access_area Valda nätägare och accessområden.
input_sdu_mdu_nro_netowner_buckets Nätkvantiteter för inkrementet SDU/MDU/NRO, grupperade per nätägare och accessområde.
input_mdu_nro_netowner_buckets Nätkvantiteter för inkrementet MDU/NRO, grupperade per nätägare och accessområde.
input_investment_cost_parameters Komplett parameterblad.
input_investment_parameters Investeringsparametrar.
input_cost_parameters Kostnadsparametrar i lång form.
input_cost_parameters_wide Kostnadsparametrar i bred form för kostnadsberäkningen.

4. Beräkningsflöde

4.1 Investering per accessområde

Varje accessområdes nätkvantiteter behandlas separat. Investeringsfunktionerna beräknar investering för följande huvudkategorier:

Segment Huvudsakliga tillgångskategorier
Distribution Ruttning (schakt), gatukorsningar, SDU-mikrodukt, MDU/NRO-mikrodukt, SDU-kabel, MDU/NRO-kabel och markskåp.
Matning Ruttning (schakt), mikrodukt, kabel, fiberskarvning, brunnar och ODF.

Beräkningarna kombinerar modellens nätkvantiteter med relevanta enhetspriser och tekniska parametrar. Resultatet summeras per nätsegment och tillgångskategori.

Om statsstödsfunktionen är aktiverad beräknas totalt statsstöd utifrån modellens uppgifter om antal berörda byggnader och genomsnittligt stöd. Stödet fördelas proportionellt över de beräknade bruttoinvesteringarna, med ett slutligt investeringsvärde som inte understiger noll.

4.2 Månatliga kostnadsparametrar

Årliga antaganden om WACC och prisförändring omvandlas till månadsräntor:

m_wacc        = (1 + WACC/100)^(1/12) - 1
m_pricechange = (1 + pricechange/100)^(1/12) - 1

För direkt investering och respektive indirekt tillgångsklass beräknas därefter en prisanpassad kapitaliseringsfaktor med modellens ekonomiska livslängd.

4.3 Kostnadskomponenter

För varje tillgångskategori beräknas följande återkommande kostnadskomponenter:

Capital cost per month
    = Investment × direct monthly capital cost factor

Operating cost per month
    = Investment × opex_factor / 100 / 12

Indirect capital cost per month
    = Investment × combined indirect monthly capital cost factor

Common cost per month
    = (Capital cost + Operating cost + Indirect capital cost)
      × CocoFactor / 100

Total monthly cost
    = Capital cost
    + Operating cost
    + Indirect capital cost
    + Common cost

Beräkningen utförs separat för inkrementen sdu_mdu_nro och mdu_nro.

4.4 Aggregering

Resultaten byggs först per accessområde och innehåller efterfrågan, nätkvantiteter, investeringsresultat, investeringsandelar och månadskostnader.

Accessområdena aggregeras därefter till nätägarnivå. Investeringsandelar räknas om från de aggregerade investeringsvärdena i stället för att summeras över accessområden.

4.5 Inkrementell kostnad per aktiv SDU-linje

Beräkningen av den inkrementella kostnaden per aktiv SDU-linje görs på nätägarnivå.

Först beräknas den månatliga totala kostnad som hänförs till SDU som skillnaden mellan de två inkrementens totala månadskostnad:

Cost Total SDU
    = max(
        Cost Total SDU/MDU/NRO
        - Cost Total MDU/NRO,
        0
      )

Det förväntade antalet aktiva SDU-linjer beräknas genom att modellens uppskattade fiberefterfrågan för SDU multipliceras med den förväntade aktiveringsgraden:

Expected Active SDU Lines
    = round(
        Fibre Demand SDU
        × Expected Activation Rate
      )

Den inkrementella kostnaden per aktiv SDU-linje beräknas därefter som:

Incremental Cost per Active SDU Line
    = Cost Total SDU
      / Expected Active SDU Lines

Om det förväntade antalet aktiva SDU-linjer är noll redovisas resultatet som NA, eftersom kostnad per aktiv linje då inte är definierad.


5. Utdata

Modellen skapar både R-objekt för analys och en formaterad Excel-arbetsbok för rapportering.

5.1 Objektet model_output

f_access_model_run_results() returnerar följande huvudobjekt:

Objekt Innehåll
output_access_area_investment_buckets Investeringsresultat per accessområde och inkrement.
output_access_area_cost_buckets Detaljerade kostnadsresultat per accessområde och inkrement.
output_access_area_result_buckets Samlade accessområdesresultat per inkrement.
output_netowner_cost_buckets Aggregerade detaljerade kostnadstabeller per nätägare och inkrement.
output_netowner_result_buckets Slutliga nätägarresultat inklusive SDU-beräkningen.

Objekt som har inkrementgrenar använder namnen sdu_mdu_nro och mdu_nro.

5.2 Excel-utdata

Standardkörningen skriver resultatet till:

_output/model_output_fictive_netowner YYYY-MM-DD.xlsx

YYYY-MM-DD representerar körningsdatumet som läggs till i filnamnet av exportfunktionen.

Excel-arbetsboken innehåller ett översiktsblad och fyra resultatflikar. Resultaten på flik 1–3 avser inkrementet SDU/MDU/NRO. MDU/NRO-inkrementet används i den slutliga SDU-beräkningen på flik 4.

5.3 Excel-flikar

Flik Tabeller
Overview Metadata om nätägare, antal accessområden, modellversion och skapandetid samt en introduktion till resultatkedjan.
1. Network Quantities 1.1. Demand, 1.2. Network Asset Quantities, 1.3. Routing Lengths, 1.4. Cable Lengths.
2. Investment 2.1. Total Investment Cost, 2.2. Investment Share.
3. Monthly Cost 3.1. Total Monthly Cost, 3.2. Monthly Capital Cost, 3.3. Monthly Operating Cost, 3.4. Monthly Indirect Capital Cost, 3.5. Monthly Common Cost.
4. Cost per Active SDU Line 4.1. Monthly Incremental Cost per Active SDU Line.

5.4 Centrala resultatmått

Resultat Tolkning
Network quantities Efterfrågan, utvalda nätkomponentkvantiteter samt modellerade routing- och kabellängder som används för nätdimensionering och investeringsberäkningar.
Total Investment Cost [SEK] Modellerad investering per tillgångskategori och nätsegment, beräknad genom att relevanta investeringsparametrar appliceras på modellerade nätkvantiteter.
Investment Share [%] Varje tillgångskategoris andel av total modellerad investering på nätägarnivå; andelarna räknas om från aggregerade nätägartotaler och summeras inte över accessområden.
Capital Cost [SEK/month] Månatlig kapitalkostnad för direkta nätinvesteringar, annualiserad med hänsyn till WACC, tillgångsspecifika livslängder och förväntade tillgångspristrender.
Operating Cost [SEK/month] Löpande kostnad för drift och underhåll av nätet, inklusive nätverksdrift, underhåll, nätplanering och installation.
Indirect Capital Cost [SEK/month] Månatlig kapitalkostnad för stödjande investeringar som inte är direkt knutna till en viss nätutbyggnad eller tjänst, exempelvis fordon, kontors- och verkstadsutrustning, IT-system och byggnader.
Common Cost [SEK/month] Gemensamma overhead- och resurskostnader som stödjer operatörens verksamhet men inte direkt kan hänföras till en viss nättillgång eller tjänst, exempelvis ledning, ekonomi, HR, juridik och administration.
Total Monthly Cost [SEK/month] Summan av månatlig kapitalkostnad för direkt investering, driftskostnad (OPEX), indirekt kapitalkostnad och gemensam kostnad.
Cost Total MDU/NRO [SEK/month] Total månadskostnad i det separat modellerade MDU/NRO-inkrementet, som exkluderar SDU och används i SDU-kostnadsallokeringen.
Cost Total SDU [SEK/month] Skillnaden mellan total månadskostnad i SDU/MDU/NRO-inkrementet och MDU/NRO-inkrementet; skillnaden hänförs till SDU.
Expected Active SDU Lines Förväntat antal aktiva SDU-linjer, beräknat genom att förväntad aktiveringsgrad appliceras på det modellerade antalet fibrer i SDU-byggnader.
Incremental Cost per Active SDU Line [SEK/month] Inkrementell månadskostnad per aktiv SDU-linje, beräknad som Cost Total SDU [SEK/month] dividerat med Expected Active SDU Lines.

6. Modellpaketets struktur

Modellpaketet är uppdelat i ett huvudskript och sex stödfiler. Huvudskriptet är den normala startpunkten, medan stödfilerna separerar inläsning, investeringslogik, resultatlogik och Excel-export.

Skript Huvudsakligt ansvar
_run_model_local_physical_access.R Huvudflöde: initialisering, inläsning, modellkörning och export.
00_packages.R Installation och inläsning av R-paket.
01_load_source_data_functions.R Excel-inläsning och uppbyggnad av model_input.
02_investment_model_functions.R Investeringsberäkningar per nätkomponent.
03_result_model_functions.R Kostnadsparametrar, kostnadsberäkning, accessområdesresultat och nätägaraggregering.
04_output_functions.R Innehåll och struktur för Excel-exporten.
05_output_excel_formatting_functions.R Skapande, skrivning och visuell formatering av Excel-arbetsboken.

Skripten läses in i denna ordning av f_access_model_source_project_scripts().


7. Funktionsregister

Funktionsregistret nedan sammanfattar de 60 namngivna funktionsdefinitionerna i den slutliga modellkoden. Anonyma funktioner som används direkt i exempelvis lapply() eller filterdefinitioner listas inte separat.

7.1 Huvudskript

Funktionsnamn Skript (start-rad) Syfte
f_access_model_source_project_scripts _run_model_local_physical_access.R:124 Läser in modellens sex stödfiler i den beroendeordning som huvudflödet kräver.
f_access_model_lapply _run_model_local_physical_access.R:175 Sekventiell hjälpfunktion kring lapply() för modellens iterativa körningar.
f_access_model_run_results _run_model_local_physical_access.R:233 Orkestrerar modellberäkningen från valda nätägare och inkrementgrenar till accessområdes- och nätägarresultat.
f_access_model_write_output _run_model_local_physical_access.R:526 Skickar färdiga modellresultat och nätägarmetadata till Excel-exporten.

7.2 Indata och Excel-inläsning

Funktionsnamn Skript (start-rad) Syfte
f_source_regex_escape 01_load_source_data_functions.R:46 Escapar specialtecken så text kan användas säkert i reguljära uttryck.
f_source_list_excel_sheets 01_load_source_data_functions.R:60 Returnerar namnen på arbetsbokens Excel-blad.
f_source_safe_read_sheet 01_load_source_data_functions.R:79 Läser ett Excel-blad och returnerar NULL om bladet inte kan läsas.
f_source_access_area_number 01_load_source_data_functions.R:113 Extraherar numeriskt accessområdes-ID från ett ID eller en etikett.
f_source_access_area_code 01_load_source_data_functions.R:130 Formaterar accessområdes-ID med inledande nollor.
f_source_make_access_label 01_load_source_data_functions.R:151 Bygger standardiserad etikett för nätägare och accessområde.
f_source_read_selected_netowners 01_load_source_data_functions.R:215 Läser bladet som kopplar valda nätägare till accessområden.
f_source_read_access_area_buckets 01_load_source_data_functions.R:245 Läser inkrementblad per accessområde och grupperar dem per nätägare och accessområde.
f_source_read_cost_investment_params 01_load_source_data_functions.R:370 Läser den kombinerade parameterfilen och skapar investerings- och kostnadsparametrar i lång och bred form.
f_source_model_input 01_load_source_data_functions.R:514 Samlar samtliga Excel-indata i det standardiserade objektet model_input.

7.3 Investeringsfunktioner

Funktionsnamn Skript (start-rad) Syfte
f_investment_extract_quantities 02_investment_model_functions.R:46 Filtrerar nätkvantiteter med regex och extraherar typ-ID för vidare matchning.
f_investment_get_quantity_value 02_investment_model_functions.R:74 Hämtar ett enskilt kvantitetsvärde via var_name.
f_investment_get_cost_value 02_investment_model_functions.R:97 Hämtar ett enskilt parameter- eller kostnadsvärde via var_name.
f_investment_extract_costs 02_investment_model_functions.R:121 Filtrerar parameterposter med regex och extraherar typ-ID för matchning mot kvantiteter.
f_investment_compute_routing_dist 02_investment_model_functions.R:171 Beräknar investering för ruttning (schakt) i distributionssegmentet.
f_investment_compute_routing_feed 02_investment_model_functions.R:310 Beräknar investering för ruttning (schakt) i matningssegmentet.
f_investment_compute_street_crossing 02_investment_model_functions.R:440 Beräknar investering för gatukorsningar.
f_investment_compute_micro_duct_sdu_dist 02_investment_model_functions.R:543 Beräknar investering för SDU-mikrodukt i distributionssegmentet.
f_investment_compute_micro_duct_mdu_nro_dist 02_investment_model_functions.R:646 Beräknar investering för MDU/NRO-mikrodukt i distributionssegmentet.
f_investment_compute_micro_duct_feed 02_investment_model_functions.R:746 Beräknar investering för mikrodukt i matningssegmentet.
f_investment_compute_cable_sdu_dist 02_investment_model_functions.R:837 Beräknar investering för SDU-kabel i distributionssegmentet.
f_investment_compute_cable_mdu_nro_dist 02_investment_model_functions.R:945 Beräknar investering för MDU/NRO-kabel i distributionssegmentet.
f_investment_compute_cable_feed 02_investment_model_functions.R:1050 Beräknar investering för kabel i matningssegmentet.
f_investment_compute_splicing_fibre 02_investment_model_functions.R:1141 Beräknar investering för fiberskarvning i matningssegmentet.
f_investment_compute_manhole 02_investment_model_functions.R:1229 Beräknar investering för brunnar per vägtyp.
f_investment_compute_distribution_point 02_investment_model_functions.R:1338 Beräknar investering för markskåp.
f_investment_compute_odf 02_investment_model_functions.R:1440 Beräknar investering för ODF, inklusive material, installation och skarvning.

7.4 Resultat- och kostnadsfunktioner

Funktionsnamn Skript (start-rad) Syfte
f_result_compute_cost_parameters_monthly_ccf 03_result_model_functions.R:56 Omvandlar årliga kostnadsantaganden till månadsparametrar och kapitaliseringsfaktorer.
f_result_compute_access_area_investment_buckets 03_result_model_functions.R:145 Kör investeringsfunktionerna för ett accessområde, summerar per tillgångskategori och tillämpar eventuell statsstödsreduktion.
f_result_compute_access_area_cost_buckets 03_result_model_functions.R:270 Kopplar investeringar till kostnadsparametrar och beräknar modellens månatliga kostnadskomponenter.
f_result_compute_access_area_buckets 03_result_model_functions.R:323 Bygger den samlade resultattabellen för ett accessområde.
f_result_compute_netowner_buckets 03_result_model_functions.R:623 Aggregerar accessområden till nätägarnivå och beräknar inkrementell kostnad per aktiv SDU-linje.
f_result_compute_netowner_cost_buckets 03_result_model_functions.R:999 Summerar detaljerade kostnadstabeller över accessområden per nätägare.

7.5 Exportstruktur och resultatinnehåll

Funktionsnamn Skript (start-rad) Syfte
f_output_ensure_dir 04_output_functions.R:53 Skapar utdatafoldern om den inte redan finns.
f_output_safe_sheet_name 04_output_functions.R:69 Anpassar ett namn till Excels regler för bladnamn.
f_output_make_outfile_path 04_output_functions.R:88 Bygger sökväg och filnamn för en Excel-arbetsbok.
f_output_build_org_lookup 04_output_functions.R:111 Skapar uppslag mellan nätägar-ID och organisationsnamn.
f_output_get_org_from_lookup 04_output_functions.R:130 Hämtar organisationsnamn för ett nätägar-ID.
f_output_build_cost_model_info_df 04_output_functions.R:161 Bygger metadata-tabellen som visas på arbetsbokens Overview-flik.
f_output_as_table_blocks 04_output_functions.R:197 Markerar en lista som en samling formaterade tabellblock.
f_output_as_sheet_section 04_output_functions.R:216 Paketerar introduktion, tabellblock och eventuell vanlig tabell för ett Excel-blad.
f_output_is_table_filter 04_output_functions.R:237 Kontrollerar om ett objekt följer strukturen för ett tabellfilter.
f_output_normalize_filter_tabs 04_output_functions.R:250 Normaliserar filterdefinitioner till namngivna resultatflikar.
f_output_default_table_filters 04_output_functions.R:293 Definierar standardtabellerna och deras gruppering till Excel-flikarna.
f_output_build_blocks_from_filters 04_output_functions.R:505 Applicerar tabellfilter på resultatdata och bygger de tabellblock som ska skrivas.
f_output_build_tabs_from_filters 04_output_functions.R:537 Bygger namngivna Excel-flikar från grupperade tabellfilter.
f_output_build_cost_model_sheets 04_output_functions.R:580 Bygger hela bladstrukturen för en nätägares resultatbok.
f_output_write_access_model_excels 04_output_functions.R:676 Orkestrerar skapandet av formaterade Excel-arbetsböcker från nätägarresultaten.

7.6 Excel-formatering

Funktionsnamn Skript (start-rad) Syfte
f_output_save_workbook 05_output_excel_formatting_functions.R:55 Sparar en openxlsx-arbetsbok till disk.
f_output_make_table_styles 05_output_excel_formatting_functions.R:87 Skapar den återanvändbara uppsättningen Excel-format och kantlinjer.
f_output_write_sheet_intro 05_output_excel_formatting_functions.R:221 Skriver bladets titelrad, introduktionsyta och separator.
f_output_write_plain_data_table 05_output_excel_formatting_functions.R:354 Skriver en vanlig tabell utan extra titel- och underrubrikrader.
f_output_write_formatted_table 05_output_excel_formatting_functions.R:475 Skriver och formaterar ett enskilt resultatblock.
f_output_write_table_blocks 05_output_excel_formatting_functions.R:725 Skriver flera resultatblock vertikalt på samma Excel-blad.
f_output_add_full_surface_frame 05_output_excel_formatting_functions.R:854 Lägger en yttre ram runt den använda ytan på ett blad.
f_output_create_formatted_workbook 05_output_excel_formatting_functions.R:933 Skapar den slutliga formaterade openxlsx-arbetsboken från bladdefinitionerna.