diff --git a/ifrs17/Report/ReportScopes.ipynb b/ifrs17/Report/ReportScopes.ipynb index 1933fbe3..5e562000 100644 --- a/ifrs17/Report/ReportScopes.ipynb +++ b/ifrs17/Report/ReportScopes.ipynb @@ -1546,8 +1546,11 @@ "\n private IDataCube FcfDeltas => GetScope(Identity).Fcf.Filter((\"VariableType\", \"!BOP\"),(\"VariableType\", \"!EOP\")) +", "\n GetScope(Identity).Fcf.Filter((\"VariableType\", AocTypes.BOP),(\"Novelty\", \"!I\"));", "\n ", - "\n private IDataCube CurrentFcfDeltas => GetScope(Identity).CurrentFcf.Filter((\"VariableType\", \"!BOP\"),(\"VariableType\", \"!EOP\")) +", - "\n GetScope(Identity).CurrentFcf.Filter((\"VariableType\", AocTypes.BOP),(\"Novelty\", \"!I\"));", + "\n private IDataCube CurrentFcfDeltas => Identity.Id switch {", + "\n { ValuationApproach: ValuationApproaches.PAA, LiabilityType: LiabilityTypes.LRC } => FcfDeltas,", + "\n _ => GetScope(Identity).CurrentFcf.Filter((\"VariableType\", \"!BOP\"),(\"VariableType\", \"!EOP\")) +", + "\n GetScope(Identity).CurrentFcf.Filter((\"VariableType\", AocTypes.BOP),(\"Novelty\", \"!I\"))", + "\n };", "\n ", "\n // Financial Fp", "\n private string variableTypeFpFinancial => Identity.Id switch {", @@ -1614,13 +1617,46 @@ "\n // LoReCo", "\n private IDataCube Loreco => GetScope(Identity).Loreco.Filter((\"VariableType\", \"!BOP\"),(\"VariableType\", \"!EOP\")) +", "\n GetScope(Identity).Loreco.Filter((\"VariableType\", AocTypes.BOP),(\"Novelty\", \"!I\"));", - "\n ", + "\n", "\n private IDataCube LorecoFx => -1 * Loreco.Filter((\"VariableType\", AocTypes.FX))", "\n .AggregateOver(nameof(Novelty))", "\n .SelectToDataCube(v => v with { VariableType = \"IFIE3\" });", "\n", + "\n // PAA Revenues", + "\n private IDataCube PaaRevenue => GetScope(Identity).Revenues.Filter((\"VariableType\", \"!BOP\"),(\"VariableType\", \"!EOP\")) +", + "\n GetScope(Identity).Revenues.Filter((\"VariableType\", AocTypes.BOP),(\"Novelty\", \"!I\"));", + "\n", + "\n private IDataCube PaaRevenueFx => -1 * PaaRevenue.Filter((\"VariableType\", AocTypes.FX))", + "\n .AggregateOver(nameof(Novelty))", + "\n .SelectToDataCube(v => v with { VariableType = \"IFIE3\" });", + "\n", + "\n private IDataCube PaaRevenueFinancialChanges => 1 * (PaaRevenue.Filter((\"VariableType\", AocTypes.IA)) +", + "\n PaaRevenue.Filter((\"VariableType\", AocTypes.YCU)) +", + "\n PaaRevenue.Filter((\"VariableType\", AocTypes.CRU)) )", + "\n .AggregateOver(nameof(Novelty), nameof(VariableType))", + "\n .SelectToDataCube(v => v with { Novelty = Novelties.C, VariableType = variableTypeFpFinancial });", + "\n", + "\n // PAA Deferrals", + "\n private IDataCube PaaDeferrals => Identity.Id switch {", + "\n { ValuationApproach: ValuationApproaches.PAA, LiabilityType: LiabilityTypes.LRC }", + "\n => GetScope(Identity).Deferrals.Filter((\"VariableType\", \"!BOP\"),(\"VariableType\", \"!EOP\")) +", + "\n GetScope(Identity).Deferrals.Filter((\"VariableType\", AocTypes.BOP),(\"Novelty\", \"!I\")),", + "\n _ => Enumerable.Empty().ToArray().ToDataCube()", + "\n };", + "\n", + "\n private IDataCube PaaDeferralsFx => -1 * PaaDeferrals.Filter((\"VariableType\", AocTypes.FX))", + "\n .AggregateOver(nameof(Novelty))", + "\n .SelectToDataCube(v => v with { VariableType = \"IFIE3\" });", + "\n", + "\n private IDataCube PaaDeferralsFinancialChanges => 1 * (PaaDeferrals.Filter((\"VariableType\", AocTypes.IA)) +", + "\n PaaDeferrals.Filter((\"VariableType\", AocTypes.YCU)) +", + "\n PaaDeferrals.Filter((\"VariableType\", AocTypes.CRU)) )", + "\n .AggregateOver(nameof(Novelty), nameof(VariableType))", + "\n .SelectToDataCube(v => v with { Novelty = Novelties.C, VariableType = variableTypeFpFinancial });", + "\n", "\n //Insurance Finance Income/Expense Oci", - "\n IDataCube InsuranceFinanceIncomeExpenseOci => FpFcfFx + FpFcfFinancial + OciFcfFx + OciFcfFinancial + CsmFx + CsmFinancialChanges + LcFx + LcFinancialChanges + LorecoFx;", + "\n IDataCube InsuranceFinanceIncomeExpenseOci => FpFcfFx + FpFcfFinancial + OciFcfFx + OciFcfFinancial + CsmFx + CsmFinancialChanges + LcFx + LcFinancialChanges + LorecoFx", + "\n + PaaRevenueFinancialChanges + PaaRevenueFx + PaaDeferralsFinancialChanges + PaaDeferralsFx;", "\n}" ], "metadata": {},