D_ENTRPRS_SZ_CLCLTD1

Create datasets, respectively containing:

– counterparties that are either [simple_tooltip content='Not an enterprise as defined in the Annex to Recommendation 2003/361/EC (article 1).']Not an enterprise (1)[/simple_tooltip] or an [simple_tooltip content='Autonomous enterprise as defined in the Annex to Recommendation 2003/361/EC (article 3, paragraph 1).']Autonomous enterprise (2)[/simple_tooltip]
and for which enterprise size is calculated
– calculated values for the previous period
where missing values are assigned as null
– counterparties for which size is already provided in a structure comparable to the calculations

Aggregation of values:

– for Partner enterprises relevant figures have to multiplied by the percentage of interest in the capital of voting rights
– for Group enterprises relevant figures are taken from group data
– relevant figures for all counterparties are aggregated until there is one single value for each counterparty

The preliminary setting is:
– the pure calculation of enterprise size before considering previous period results
where [simple_tooltip content='ENTRPRS_SZ_PRLMNRY; Classification of enterprises by size, in accordance with the Annex to Commission Recommendation 2003/361/EC.']Enterprise size (preliminary)[/simple_tooltip] is spread out in brackets determing by thresholds of the aggregated values of [simple_tooltip content='NMBR_EMPLYS; Number of employees working for the counterparty, in accordance with Article 5 of the Annex to Recommendation 2003/361/EC.']Number of employees[/simple_tooltip] and [simple_tooltip content='BLNC_SHT_TTL; Carrying value of total assets in accordance with Regulation (EU) 549/2013.']Balance sheet total[/simple_tooltip]

The final setting takes into account:
– if the enterprise is [simple_tooltip content='Not an enterprise as defined in the Annex to Recommendation 2003/361/EC (article 1).']Not an enterprise (1)[/simple_tooltip]
– if the enterprise is controlled by public bodies
– if there was no input data ([simple_tooltip content='ENTRPRS_SZ_PRLMNRY; Classification of enterprises by size, in accordance with the Annex to Commission Recommendation 2003/361/EC.']Enterprise size (preliminary)[/simple_tooltip] is [simple_tooltip content='Enterprise not qualifying as a micro, small or medium-sized enterprise (SME), in accordance with the Annex to Recommendation 2003/361/EC, as classified because of absence of input data.']Large enterprise because of absence of input data (7)[/simple_tooltip])
– there was no information for previous periods
– mergers and acquisitions exception applies
– in any other case: the interaction between the result of the calculation for current period plus results for previous period applies

Calculated enterprise size is thus a union of:
– the final setting
– data for counterparties for which size was already provided

Scheme dependencies:

    [simple_tooltip content='Create datasets, respectively containing:

    - counterparties that are either Not an enterprise (1) or an Autonomous enterprise (2)
    and for which enterprise size is calculated
    - calculated values for the previous period
    where missing values are assigned as null
    - counterparties for which size is already provided in a structure comparable to the calculations

    Aggregation of values:

    - for Partner enterprises relevant figures have to multiplied by the percentage of interest in the capital of voting rights
    - for Group enterprises relevant figures are taken from group data
    - relevant figures for all counterparties are aggregated until there is one single value for each counterparty

    The preliminary setting is:
    - the pure calculation of enterprise size before considering previous period results
    where Enterprise size (preliminary) is spread out in brackets determing by thresholds of the aggregated values of Number of employees and Balance sheet total

    The final setting takes into account:
    - if the enterprise is Not an enterprise (1)
    - if the enterprise is controlled by public bodies
    - if there was no input data (Enterprise size (preliminary) is Large enterprise because of absence of input data (7))
    - there was no information for previous periods
    - mergers and acquisitions exception applies
    - in any other case: the interaction between the result of the calculation for current period plus results for previous period applies

    Calculated enterprise size is thus a union of:
    - the final setting
    - data for counterparties for which size was already provided']D_ENTRPRS_SZ_CLCLTD1[/simple_tooltip]
    [simple_tooltip content='Get Partner enterprises data']T_GT_PRTNR_ENTRPRSS[/simple_tooltip]
    [simple_tooltip content='Get Enterprise size (previous period) data']T_GT_ENTRPRS_SZ_PRVS_PRD[/simple_tooltip]
    [simple_tooltip content='Get Group counterparty relationship data']T_GT_GRP_CNTRPRTY_RLTNSHP[/simple_tooltip]
    [simple_tooltip content='Get Linked enterprises data']T_GT_LNKD_ENTRPRSS[/simple_tooltip]
    [simple_tooltip content='Get Group data data']T_GT_GRP_DT[/simple_tooltip]
    [simple_tooltip content='Get Counterparties data']T_GT_CNTRPRTS[/simple_tooltip]

Transformation Scheme ID

D_ENTRPRS_SZ_CLCLTD1

Description

Derivation of “Enterprise size”

Classification

Phase Type Subtype Related entity
Enrichment Derivation Business CNTRPRTS

Natural language

Create datasets, respectively containing:

– counterparties that are either Not an enterprise (1) or an Autonomous enterprise (2)
and for which enterprise size is calculated
– calculated values for the previous period
where missing values are assigned as null
– counterparties for which size is already provided in a structure comparable to the calculations

Aggregation of values:

– for Partner enterprises relevant figures have to multiplied by the percentage of interest in the capital of voting rights
– for Group enterprises relevant figures are taken from group data
– relevant figures for all counterparties are aggregated until there is one single value for each counterparty

The preliminary setting is:
– the pure calculation of enterprise size before considering previous period results
where Enterprise size (preliminary) is spread out in brackets determing by thresholds of the aggregated values of Number of employees and Balance sheet total

The final setting takes into account:
– if the enterprise is Not an enterprise (1)
– if the enterprise is controlled by public bodies
– if there was no input data (Enterprise size (preliminary) is Large enterprise because of absence of input data (7))
– there was no information for previous periods
– mergers and acquisitions exception applies
– in any other case: the interaction between the result of the calculation for current period plus results for previous period applies

Calculated enterprise size is thus a union of:
– the final setting
– data for counterparties for which size was already provided

Scheme dependencies:

VTL Syntax

0 CNTRPRTS_ATNMS := CNTRPRTS [filter (ENTRPRS_SZ_CHC = "0" and TYP_ENTRPRS in ("1", "2")), keep (CNTRPRTY_ID, NMBR_EMPLYS, BLNC_SHT_TTL, ANNL_TRNVR, TYP_ENTRPRS, CNTRL_PBLC_BDS, EXCPTN_MRG_ACQSTN)];
1 CNTRPRTS_PRVS := [left CNTRPRTS as "A", ENTRPRS_SZ_PRVS_PRD as "B" on A.CNTRPRTY_ID = B.CNTRPRTY_ID] {keep (A.CNTRPRTY_ID, B.ENTRPRS_SZ_CLCLTD, B.ENTRPRS_SZ_PRLMNRY)};
2 PRTNR_ENTRPRSS_AGG := PRTNR_ENTRPRSS [calc PRCNTG_INTRST_CPTL_VTNG_RGHTS * BLNC_SHT_TTL as "AGGRGBL_BLNC_SHT_TTL" role Measure];
3 GRP_ENTRPRSS_AGG := [inner GRP_DT as "A", GRP_CNTRPRTY_RLTNSHP as "B" on A.GRP_INTRNL_ID = B.GRP_INTRNL_ID] {keep (B.CNTRPRTY_ID, A.NMBR_EMPLYS as "AGGRGBL_NMBR_EMPLYS", A.BLNC_SHT_TTL as "AGGRGBL_BLNC_SHT_TTL", A.ANNL_TRNVR as "AGGRGBL_ANNL_TRNVR")};
4 TTL_AGG := PRTNR_ENTRPRSS_AGG [keep (CNTRPRTY_ID, AGGRGBL_BLNC_SHT_TTL, AGGRGBL_NMBR_EMPLYS, AGGRGBL_ANNL_TRNVR)] + LNKD_ENTRPRSS [keep (CNTRPRTY_ID, NMBR_EMPLYS as "AGGRGBL_NMBR_EMPLYS", BLNC_SHT_TTL as "AGGRGBL_BLNC_SHT_TTL", ANNL_TRNVR as "AGGRGBL_ANNL_TRNVR")] + GRP_ENTRPRSS_AGG [keep (CNTRPRTY_ID, AGGRGBL_BLNC_SHT_TTL, AGGRGBL_NMBR_EMPLYS, AGGRGBL_ANNL_TRNVR)] + CNTRPRTS_ATNMS [keep (CNTRPRTY_ID, BLNC_SHT_TTL as "AGGRGBL_BLNC_SHT_TTL", NMBR_EMPLYS as "AGGRGBL_NMBR_EMPLYS", ANNL_TRNVR as "AGGRGBL_ANNL_TRNVR")];
5 PRLMNRY_STTNG := TTL_AGG [calc (
if isnull (AGGRGBL_NMBR_EMPLYS) or isnull (AGGRGBL_BLNC_SHT_TTL) and isnull (AGGRGBL_ANNL_TRNVR) then "7"
elseif AGGRGBL_NMBR_EMPLYS < 10 and AGGRGBL_BLNC_SHT_TTL <= 2000000 or AGGRGBL_ANNL_TRNVR <= 2000000 then "4"
elseif AGGRGBL_NMBR_EMPLYS < 50 and AGGRGBL_BLNC_SHT_TTL <= 10000000 or AGGRGBL_ANNL_TRNVR <= 10000000 then "3"
elseif AGGRGBL_NMBR_EMPLYS < 250 and AGGRGBL_BLNC_SHT_TTL <= 43000000 or AGGRGBL_ANNL_TRNVR <= 50000000 then "2"
else "6"
) as "ENTRPRS_SZ_PRLMNRY_T"];
6 ALL := [inner PRLMNRY_STTNG as "A", CNTRPRTS_PRVS as "B" on A.CNTRPRTY_ID = B.CNTRPRTY_ID] {keep (A.CNTRPRTY_ID, A.ENTRPRS_SZ_PRLMNRY_T, B.ENTRPRS_SZ_CLCLTD, B.ENTRPRS_SZ_PRLMNRY)};
7 ALL := [inner ALL as "A", CNTRPRTS as "C" on A.CNTRPRTY_ID = C.CNTRPRTY_ID] {keep (A.ALL_VARIABLES, C.TYP_ENTRPRS, C.CNTRL_PBLC_BDS, C.EXCPTN_MRG_ACQSTN as "MRGACQ")};
8 FNL_STTNG := ALL [calc (
if TYP_ENTRPRS = "1" then "9"
elseif CNTRL_PBLC_BDS = "1" then "6"
elseif ENTRPRS_SZ_PRLMNRY_T = "7" then "7"
elseif ENTRPRS_SZ_CLCLTD = null then ENTRPRS_SZ_PRLMNRY_T
elseif MRGACQ = 1 then ENTRPRS_SZ_PRLMNRY_T
elseif ENTRPRS_SZ_PRLMNRY_T = "4" then (
if ENTRPRS_SZ_CLCLTD = "4" then "4"
elseif ENTRPRS_SZ_CLCLTD in ("6", "2", "3", "7") and ENTRPRS_SZ_PRLMNRY = "4" then "4"
elseif ENTRPRS_SZ_CLCLTD = "3" and ENTRPRS_SZ_PRLMNRY in ("6", "2", "3", "7") then "3"
elseif ENTRPRS_SZ_CLCLTD = "2" and ENTRPRS_SZ_PRLMNRY = "3" then "3"
elseif ENTRPRS_SZ_CLCLTD = "2" and ENTRPRS_SZ_PRLMNRY in ("6", "2", "7") then "2"
elseif ENTRPRS_SZ_CLCLTD in ("6", "7") and ENTRPRS_SZ_PRLMNRY = "3" then "3"
elseif ENTRPRS_SZ_CLCLTD in ("6", "7") and ENTRPRS_SZ_PRLMNRY = "2" then "2"
elseif ENTRPRS_SZ_CLCLTD in ("6", "7") and ENTRPRS_SZ_PRLMNRY in ("6", "7") then "6"
else null
)
elseif ENTRPRS_SZ_PRLMNRY_T = "3" then (
if ENTRPRS_SZ_CLCLTD = "3" then "3"
elseif ENTRPRS_SZ_CLCLTD in ("6", "2", "4", "7") and ENTRPRS_SZ_PRLMNRY = "3" then "3"
elseif ENTRPRS_SZ_CLCLTD = "4" and ENTRPRS_SZ_PRLMNRY = "4" then "4"
elseif ENTRPRS_SZ_CLCLTD = "4" and ENTRPRS_SZ_PRLMNRY in ("6", "2", "7") then "3"
elseif ENTRPRS_SZ_CLCLTD = "2" and ENTRPRS_SZ_PRLMNRY = "4" then "3"
elseif ENTRPRS_SZ_CLCLTD = "2" and ENTRPRS_SZ_PRLMNRY in ("6", "2", "7") then "2"
elseif ENTRPRS_SZ_CLCLTD in ("6", "7") and ENTRPRS_SZ_PRLMNRY = "4" then "3"
elseif ENTRPRS_SZ_CLCLTD in ("6", "7") and ENTRPRS_SZ_PRLMNRY = "2" then "2"
elseif ENTRPRS_SZ_CLCLTD in ("6", "7") and ENTRPRS_SZ_PRLMNRY in ("6", "7") then "6"
else null
)
elseif ENTRPRS_SZ_PRLMNRY_T = "2" then (
if ENTRPRS_SZ_CLCLTD = "2" then "2"
elseif ENTRPRS_SZ_CLCLTD in ("6", "3", "4", "7") and ENTRPRS_SZ_PRLMNRY = "2" then "2"
elseif ENTRPRS_SZ_CLCLTD = "4" and ENTRPRS_SZ_PRLMNRY = "4" then "4"
elseif ENTRPRS_SZ_CLCLTD = "4" and ENTRPRS_SZ_PRLMNRY = "3" then "3"
elseif ENTRPRS_SZ_CLCLTD = "4" and ENTRPRS_SZ_PRLMNRY in ("6", "7") then "2"
elseif ENTRPRS_SZ_CLCLTD = "3" and ENTRPRS_SZ_PRLMNRY = "4" then "3"
elseif ENTRPRS_SZ_CLCLTD = "3" and ENTRPRS_SZ_PRLMNRY in (6, 7) then "2"
elseif ENTRPRS_SZ_CLCLTD = "3" and ENTRPRS_SZ_PRLMNRY = "3" then "3"
elseif ENTRPRS_SZ_CLCLTD in ("6", "7") and ENTRPRS_SZ_PRLMNRY in ("3", "4") then "2"
else (
if ENTRPRS_SZ_CLCLTD in ("6", "7") and ENTRPRS_SZ_PRLMNRY in ("6", "7") then "6"
else null
)
)
elseif ENTRPRS_SZ_PRLMNRY_T = 6 then (
if ENTRPRS_SZ_CLCLTD in ("6", "7") then "6"
elseif ENTRPRS_SZ_CLCLTD in ("2", "3", "4") and ENTRPRS_SZ_PRLMNRY in ("6", "7") then "6"
elseif ENTRPRS_SZ_CLCLTD = "2" and ENTRPRS_SZ_PRLMNRY in ("2", "3", "4") then "2"
elseif ENTRPRS_SZ_CLCLTD = "3" and ENTRPRS_SZ_PRLMNRY = "2" then "2"
elseif ENTRPRS_SZ_CLCLTD = "3" and ENTRPRS_SZ_PRLMNRY in ("3", "4") then "3"
elseif ENTRPRS_SZ_CLCLTD = "4" and ENTRPRS_SZ_PRLMNRY = "2" then "2"
elseif ENTRPRS_SZ_CLCLTD = "4" and ENTRPRS_SZ_PRLMNRY = "3" then "3"
elseif ENTRPRS_SZ_CLCLTD = "4" and ENTRPRS_SZ_PRLMNRY = "4" then "4"
else null
)
else null
) as "ENTRPRS_SZ_CLCLTD_T"];
9 FNL_STTNG := FNL_STTNG [keep (CNTRPRTY_ID, ENTRPRS_SZ_CLCLTD_T as "ENTRPRS_SZ_CLCLTD"), calc "T" as "IS_DRVD_ENTRPRS_SZ" role Measure];
10 CNTRPRTS_INPT := CNTRPRTS [filter (ENTRPRS_SZ_CHC = "1"), keep (CNTRPRTY_ID, ENTRPRS_SZ as "ENTRPRS_SZ_CLCLTD"), calc "F" as "IS_DRVD_ENTRPRS_SZ" role Measure];
11 D_ENTRPRS_SZ_CLCLTD1 := union (FNL_STTNG, CNTRPRTS_INPT);
12 D_ENTRPRS_SZ_CLCLTD1 := D_ENTRPRS_SZ_CLCLTD1 [calc (
if ENTRPRS_SZ_CLCLTD in ("0", "9") then "0"
else (
if ENTRPRS_SZ_CLCLTD in ("1", "6", "7") then "1"
else ENTRPRS_SZ_CLCLTD
)
) as "ENTRPRS_SZ"];
13 D_ENTRPRS_SZ_CLCLTD1 := D_ENTRPRS_SZ_CLCLTD1 [keep (CNTRPRTY_ID, ENTRPRS_SZ, IS_DRVD_ENTRPRS_SZ)];