Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <MapConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <DataProviders>
- <!--<CsvProvider Name="CsvProvider" DBPath="c:\Users\HP\Dropbox\Exquance Dev Desktop\Client Data Import\Tapiola\Migration source files\31.12.2017" Delimiter=";"/>-->
- <CsvProvider Name="CsvProvider" DBPath="c:\Users\maxwave\Dropbox\Exquance Dev Desktop\Client Data Import\Tapiola\Migration source files" Delimiter=";"/>
- <CsvProvider Name="TsvProvider" DBPath="c:\Users\maxwave\Dropbox\Exquance Dev Desktop\Client Data Import\Tapiola\Migration source files\" Delimiter="	" CacheData="true"/>
- <!--<XQDataProvider Name="XqProvider" ConnectionString="data source=(localdb)\v12.0;Database=xqdb_tapiola_import_8;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" />-->
- <XQDataProvider Name="XqProvider" ConnectionString="data source=xq-dev-mssql.exquance.com, 1414;Database=maxwave_tapiola;MultipleActiveResultSets=True;App=EntityFramework;User=sa;Password=tRsD]kZ70ydO" />
- <!--<XQDataProvider Name="XqProvider" ConnectionString="data source=188.117.31.20,1433;Database=xqdb_tapiola_import_8;MultipleActiveResultSets=True;App=EntityFramework;User=tapiola;Password=btZU3V8Mai5Gi8Y3jabn" />-->
- </DataProviders>
- <MapActions>
- <MapAction MapDataBaseName="MainPart"
- DefaultSourceProviderName="CsvProvider"
- DefaultTargetProviderName="XqProvider"
- DoMapping="true">
- </MapAction>
- </MapActions>
- <TransitionGroups>
- <TransitionGroup TraceLevel="ObjectSet">
- <GlobalObjectTransition Name="GlobalObject">
- <ValueTransition From="{ 71 }" To="asset_country_id"/>
- <ValueTransition From="{ 49 }" To="main_currency_id"/>
- <ValueTransition From="{ 'c:\\Users\\maxwave\\Dropbox\\Exquance Dev Desktop\\Client Data Import\\Tapiola\\Migration source files' }" To="source_files_path"/>
- </GlobalObjectTransition>
- <ObjectSetTransition Name="Asset segments" Enabled="false" QueryToSource="segments.txt" SourceProviderName="TsvProvider" SaveCount="200">
- <ObjectTransition TargetDataSetId="segment">
- <KeyTransition SourceKey="name" TargetKey="name"/>
- <ValueTransition From="name" To="name"/>
- <ValueTransition From="fullname" To="fullname" />
- <ValueTransition From="default_ppe_category" To="default_ppe_category" DataType="int" />
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Asset grades" Enabled="false" QueryToSource="asset_grades.txt" SourceProviderName="TsvProvider" SaveCount="200">
- <ObjectTransition TargetDataSetId="asset_grade">
- <KeyTransition SourceKey="name" TargetKey="name"/>
- <ValueTransition From="name" To="name" />
- <ValueTransition From="fullname" To="fullname" />
- <LookupValueTransition From="segment_name" To="segment" LookupDataSetId="segment" LookupKeyExpr="name"/>
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Master analyses" Enabled="false" QueryToSource="master_analyses.csv" SourceProviderName="TsvProvider">
- <ConditionUnit Expression="{SRC[migrate]=='false'}" OnTrue="SkipObject"/>
- <GlobalObjectTransition Name="GlobalObject">
- <ValueTransition From="{ SRC[uuid] }" To="ma_uuid"/>
- </GlobalObjectTransition>
- <ObjectTransition TargetDataSetId="master_analysis">
- <KeyTransition SourceKey="uuid" TargetKey="uuid"/>
- <ValueTransition From="uuid" To="uuid" />
- <ValueTransition From="name" To="name" />
- <ValueTransition From="{ GLOBAL[main_currency_id] }" To="value_currency_id" DataType="int" />
- <ValueTransition From="{ 13 }" To="owner_user_id" />
- <!--some already created user in db-->
- <ValueTransition From="valuation_date" To="valuation_date" DataType="DateTime" />
- <ValueTransition From="project_id" To="project_id" DataType="int" />
- <UseTypeAssumptionsTransition AssumptionType="IdleTime">
- <LookupValueTransition
- From="name"
- LookupDataSetId="use_types_assumptions.csv"
- ProviderName="TsvProvider"
- LookupKeyExpr="Use Type"
- DataType="double"
- Return="Idle Time (mths)" />
- </UseTypeAssumptionsTransition>
- <UseTypeAssumptionsTransition AssumptionType="TiCostPerSqm">
- <LookupValueTransition
- From="name"
- LookupDataSetId="use_types_assumptions.csv"
- ProviderName="TsvProvider"
- LookupKeyExpr="Use Type"
- DataType="double"
- Return="TI Cost/sqm" />
- </UseTypeAssumptionsTransition>
- </ObjectTransition>
- <ObjectTransition TargetDataSetId="analysis_currency">
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{GLOBAL[main_currency_id]}" TargetKey="{Field(VALUE[master_analysis],'uuid')}/{VALUE[currency_id]}"/>
- <LookupValueTransition From="{ GLOBAL[ma_uuid] }" LookupDataSetId="master_analysis" LookupKeyExpr="uuid" To="master_analysis"/>
- <ValueTransition From="{GLOBAL[main_currency_id]}" To="currency_id" />
- </ObjectTransition>
- </ObjectSetTransition>
- <ForEachTransition Name="Master analyses Assets data" QueryToSource="master_analyses.csv" SourceProviderName="TsvProvider">
- <CsvProvider DBPath="{ GLOBAL[source_files_path] }" Query="master_analyses.csv" Delimiter="	"/>
- <ConditionUnit Expression="{SRC[migrate]=='false'}" OnTrue="SkipObject"/>
- <GlobalObjectTransition Name="GlobalObject">
- <ValueTransition From="{ SRC[uuid] }" To="ma_uuid"/>
- <ValueTransition From="{ SRC[prev_ma_uuid] }" To="prev_ma_uuid" />
- <ValueTransition From="{ SRC[valuation_date] }" To="valuation_date" />
- <ValueTransition From="{ SRC[valuation_date] }" To="file_postfix" >
- <TypeConvertTransitUnit DataType="DateTime"/>
- <TransitUnit Expression="{((DateTime)VALUE).ToString('yyyyMM')}"/>
- </ValueTransition>
- <ValueTransition From="{ SRC[default_acquisition_date] }" DataType="DateTime" To="default_acquisition_date"/>
- </GlobalObjectTransition>
- <ObjectSetTransition Name="Growth Rates" Enabled="false" QueryToSource="growth_rates_template.csv" SourceProviderName="TsvProvider" >
- <ObjectTransition TargetDataSetId="rate_growth">
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{SRC[Name]}" TargetKey="{Field(VALUE[master_analysis],'uuid')}/{VALUE[name]}"/>
- <ValueTransition From="Name" To="name" />
- <LookupValueTransition From="{ GLOBAL[ma_uuid] }" LookupDataSetId="master_analysis" LookupKeyExpr="uuid" To="master_analysis"/>
- <ValueTransition From="{GLOBAL[asset_country_id]}" To="country_id" />
- <ValueTransition From="value_y9999" To="value_y9999" DataType="float" />
- <ValueTransition From="value_y1" To="value_y1" DataType="float" />
- <ValueTransition From="value_y2" To="value_y2" DataType="float" />
- <ValueTransition From="value_y3" To="value_y3" DataType="float" />
- <ValueTransition From="value_y4" To="value_y4" DataType="float" />
- <ValueTransition From="value_y5" To="value_y5" DataType="float" />
- <ValueTransition From="value_y6" To="value_y6" DataType="float" />
- <ValueTransition From="value_y7" To="value_y7" DataType="float" />
- <ValueTransition From="value_y8" To="value_y8" DataType="float" />
- <ValueTransition From="value_y9" To="value_y9" DataType="float" />
- <ValueTransition From="value_y10" To="value_y10" DataType="float" />
- <ValueTransition From="value_y11" To="value_y11" DataType="float" />
- <ValueTransition From="value_y12" To="value_y12" DataType="float" />
- <ValueTransition From="value_y13" To="value_y13" DataType="float" />
- <ValueTransition From="value_y14" To="value_y14" DataType="float" />
- <ValueTransition From="value_y15" To="value_y15" DataType="float" />
- <ValueTransition From="value_y16" To="value_y16" DataType="float" />
- <ValueTransition From="value_y17" To="value_y17" DataType="float" />
- <ValueTransition From="value_y18" To="value_y18" DataType="float" />
- <ValueTransition From="value_y19" To="value_y19" DataType="float" />
- <ValueTransition From="value_y20" To="value_y20" DataType="float" />
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Cities" Enabled="false" QueryToSource="{SRC[valuation_date]}\\assets_{GLOBAL[file_postfix]}.csv" SaveCount="200">
- <ObjectTransition TargetDataSetId="city" >
- <KeyTransition SourceKey="Postitoimipaikka" TargetKey="name"/>
- <ValueTransition From="Postitoimipaikka" To="name" />
- <ValueTransition From="{ 71 }" To="country_id" DataType="int"/> `
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Tenants" Enabled="false" QueryToSource="{SRC[valuation_date]}\\Rentroll_{GLOBAL[file_postfix]}.csv" SaveCount="500">
- <ObjectTransition TargetDataSetId="tenant">
- <KeyTransition SourceKey="VUOKRALAINEN" TargetKey="name"/>
- <ValueTransition From="{ CapitalizeWordLetters(SRC[VUOKRALAINEN])}" To="name"/>
- </ObjectTransition>
- </ObjectSetTransition>
- WARNING: After REIMPORTING ASSETS NEED TO IMPORT 'Asset actuals' and 'Repair budget timeseries' transitions
- <ObjectSetTransition Name="Assets" Enabled="false" QueryToSource="{SRC[valuation_date]}\\assets_{GLOBAL[file_postfix]}.csv" SaveCount="10">
- <AssetTransition TargetDataSetId="asset">
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[Kitunnus]}" TargetKey="external_id"/>
- <ValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[Kitunnus]}" To="external_id" />
- <ValueTransition From="Kitunnus" To="cost_center" />
- <ValueTransition From="{ 10 }" To="forecasting_period_years"/>
- <LookupValueTransition From="{ GLOBAL[ma_uuid] }" LookupDataSetId="master_analysis" LookupKeyExpr="uuid" To="master_analysis"/>
- Set cash_flow_template and market_value_currency_id before calling InitAsset method!
- <LookupValueTransition From="{ 3 }" LookupDataSetId="cash_flow_template" LookupKeyExpr="id"
- To="{ THIS.SetCashFlowTemplate(TARGET,VALUE) }"/>
- Important to write in asset.currency (not in market_value_currency_id)
- <LookupValueTransition From="{ GLOBAL[main_currency_id] }" LookupDataSetId="currency" LookupKeyExpr="id" To="currency"/>
- Copy all cash flow values from previous asset. Important to do it before InitAsset method
- WARNING: After REIMPORTING ASSETS NEED TO IMPORT 'Asset actuals' NODE (wollowing node erase it)
- <LookupValueTransition From="{GLOBAL[prev_ma_uuid]}/{SRC[Kitunnus]}"
- To="cash_flow_model"
- LookupDataSetId="asset"
- LookupKeyExpr="external_id"
- OnNotFound="Continue"
- Return="{VALUE !=null ? VALUE[cash_flow_model] : null }" />
- <ValueTransition To="{ THIS.InitAsset(TARGET) }"/>
- <ValueTransition From="{ CapitalizeWordLetters(SRC[Kohteen nimi])}" To="name" Replace="@empty=Asset" />
- <ValueTransition From="{TARGET[name]}" To="fullname" />
- <ValueTransition From="{ CapitalizeWordLetters(SRC[Osoite])}" To="address" Replace="@empty={null}" />
- <ValueTransition From="Postinumero" Replace="@any={ Format('\{0:#####\}', VALUE)}" To="zip" />
- <ValueTransition From="{ GLOBAL[asset_country_id] }" To="country_id" DataType="int"/>
- <LookupValueTransition From="Postitoimipaikka" To="city" LookupDataSetId="city" LookupKeyExpr="name" OnNotFound="SkipValue"/>
- <LookupValueTransition From="Pääkäyttötarkoitus" To="segment" LookupDataSetId="segment" LookupKeyExpr="name">
- <ConditionUnit Expression="{IsNullOrEmptyString(VALUE)}" OnTrue="SkipValue"/>
- </LookupValueTransition>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{'Consumer Price Index'}" LookupDataSetId="rate_growth" LookupKeyExpr="{Field(VALUE[master_analysis],'uuid')}/{VALUE[name]}" To="rate_growth_market_rent"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{'Consumer Price Index'}" LookupDataSetId="rate_growth" LookupKeyExpr="{Field(VALUE[master_analysis],'uuid')}/{VALUE[name]}" To="rate_growth_opex"/>
- <ValueTransition From="{ true }" To="is_holdsell_applied"/>`
- <ValueTransition From="{ 0.06 }" DataType="float" To="holdsell_irr_criteria"/>
- <ValueTransition From="{ 0.3 }" DataType="float" To="holdsell_irr_scale"/>
- <ValueTransition From="{ 0.1 }" DataType="float" To="valuation_accuracy"/>
- <ValueTransition From="{ 1 }" To="investment_type_id"/>
- <ValueTransition From="{ CapitalizeWordLetters(SRC[KOHDEPÄÄLLIKKÖ])}" To="asset_manager_name"/>
- -- COORDINATES--
- <LookupValueTransition From="Kitunnus"
- To="longitude"
- LookupDataSetId="asset_coordinates.csv"
- OnNotFound="SkipValue"
- LookupKeyExpr="cost_center"
- ProviderName="TsvProvider"
- DataType="float"
- Return="longitude" />
- <LookupValueTransition From="Kitunnus"
- To="latitude"
- LookupDataSetId="asset_coordinates.csv"
- OnNotFound="SkipValue"
- LookupKeyExpr="cost_center"
- ProviderName="TsvProvider"
- DataType="float"
- Return="latitude" />
- <ValueTransition From="{VALUE[Pääkäyttötarkoitus]}/{VALUE[Postitoimipaikka]}" To="rate_growth_sale_price">
- <LookupValueTransition LookupDataSetId="growth_sale_price_lookup.csv"
- LookupKeyExpr="{VALUE[segment_name]}/{VALUE[city.name]}"
- ProviderName="TsvProvider"
- OnNotFound="Continue"
- Return="{VALUE !=null ? VALUE[growth_name] : 'Consumer Price Index'}"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{VALUE}"
- LookupDataSetId="rate_growth"
- LookupKeyExpr="{Field(VALUE[master_analysis],'uuid')}/{VALUE[name]}"/>
- </ValueTransition>
- -- ASSUMPTIONS --
- WARNING: After REIMPORTING ASSETS NEED TO IMPORT 'Repair budget timeseries' NODE (wollowing node erase it)
- <ValueTransition From="Peruskorjaus (d)" DataType="double" To="{ THIS.SetAssumptionValue(TARGET,'RepairCost',VALUE) }" />
- <ValueTransition From="{0.15}" DataType="double" To="{ THIS.SetAssumptionValue(TARGET,'LeasingCommissions',VALUE) }"/>
- <ValueTransition From="VAC oletus %" DataType="double" To="{ THIS.SetAssumptionValue(TARGET,'ExitVacancyRate',(double)VALUE*0.01) }">
- <ConditionUnit Expression="{(int)Field(TARGET[cash_flow_template],'id')!=1}" OnTrue="SkipValue"/>
- <ConditionUnit Expression="{IsNullOrEmptyString(VALUE)}" OnTrue="SkipValue"/>
- </ValueTransition>
- <ValueTransition From="Pääomituskorko" DataType="double" To="{ THIS.SetAssumptionValue(TARGET,'ExitCapRate',(double)VALUE*0.01) }">
- <ConditionUnit Expression="{(int)Field(TARGET[cash_flow_template],'id')!=1}" OnTrue="SkipValue"/>
- <ConditionUnit Expression="{IsNullOrEmptyString(VALUE)}" OnTrue="SkipValue"/>
- </ValueTransition>
- <ValueTransition From="VAC oletus %" DataType="double" To="{ THIS.SetAssumptionValue(TARGET,'GeneralVacancyRate',(double)VALUE*0.01) }">
- <ConditionUnit Expression="{IsNullOrEmptyString(VALUE)}" OnTrue="SkipValue"/>
- </ValueTransition>
- --DEPEND FROM PREVIOUS MASTER ANALYSIS VALUES--
- acquisition date/price importing logic
- <LookupValueTransition From="{GLOBAL[prev_ma_uuid]}/{SRC[Kitunnus]}"
- To="acquisition_price"
- LookupDataSetId="asset"
- LookupKeyExpr="external_id"
- OnNotFound="Continue"
- DataType="long"
- Return="{VALUE !=null ? VALUE[acquisition_price] : SRC[Käypäarvo] }" />
- <LookupValueTransition From="{GLOBAL[prev_ma_uuid]}/{SRC[Kitunnus]}"
- To="uuid"
- LookupDataSetId="asset"
- LookupKeyExpr="external_id"
- OnNotFound="Continue"
- Return="{VALUE !=null ? VALUE[uuid] : TARGET[uuid] ?? Guid()}" />
- <LookupValueTransition From="{GLOBAL[prev_ma_uuid]}/{SRC[Kitunnus]}"
- To="acquisition_date"
- LookupDataSetId="asset"
- LookupKeyExpr="external_id"
- OnNotFound="Continue"
- Return="{VALUE !=null ? VALUE[acquisition_date] : GLOBAL[default_acquisition_date]}"
- DataType="DateTime" />
- Get previous market values (and other actuals) from previous assets
- <LookupValueTransition From="{GLOBAL[prev_ma_uuid]}/{SRC[Kitunnus]}"
- To="cash_flow_model"
- LookupDataSetId="asset"
- LookupKeyExpr="external_id"
- OnNotFound="Continue"
- Return="{VALUE !=null ? VALUE[cash_flow_model] : null }" />
- New logic of importing Market Value. In this case Tapiola must provide source data for migration each month!
- Otherwise Market Value actuals will be not fully-filled
- <ValueTransition From="Käypäarvo" >
- <TypeConvertTransitUnit DataType="decimal" />
- <AssetActualMarketValueTransitUnit/>
- </ValueTransition>
- <ValueTransition From="Myyntipvm" To="exit_date">
- <ConditionUnit Expression="{IsNullOrEmptyString(VALUE)}" OnTrue="SkipValue"/>
- <TypeConvertTransitUnit DataType="DateTime"/>
- <TransitUnit Expression="{ (DateTime)VALUE <= (DateTime)Field(TARGET[master_analysis],'valuation_date') ? VALUE : null }"/>
- </ValueTransition>
- </AssetTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Asset valuations" Enabled="false" QueryToSource="{SRC[valuation_date]}\\assets_{GLOBAL[file_postfix]}.csv" SaveCount="400" >
- <ObjectTransition TargetDataSetId="asset_valuation">
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[Kitunnus]}" TargetKey="{Field(VALUE[asset],'external_id')}"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[Kitunnus]}" To="asset" LookupDataSetId="asset" LookupKeyExpr="external_id" OnEmpty="SkipObject"/>
- <ValueTransition From="Diskonttauskorko" To="dcf_discount_rate" DataType="float" >
- <TypeConvertTransitUnit DataType="float"/>
- <TransitUnit Expression="{ VALUE != null ? (float)VALUE * 0.01: null}"/>
- </ValueTransition>
- <ValueTransition From="Pääomituskorko" To="dcf_terminal_caprate" DataType="float">
- <TypeConvertTransitUnit DataType="float"/>
- <TransitUnit Expression="{ VALUE != null ? (float)VALUE * 0.01: null}"/>
- </ValueTransition>
- <ValueTransition From="Käyttämätön rakoik markarvo" To="dcf_other_value" DataType="float"/>
- <ValueTransition From="VAC oletus %" To="dcf_terminal_vacancy_rate" DataType="float">
- <TypeConvertTransitUnit DataType="float"/>
- <TransitUnit Expression="{ VALUE != null ? (float)VALUE * 0.01: null}"/>
- </ValueTransition>
- <ValueTransition From="{ 7 }" To="valuation_method_id" />
- <ValueTransition From="{100}" To="relevance" DataType="int" />
- <ValueTransition From="{TARGET[valuation_method_id]}" Replace="!7={SRC[Käypäarvo]}; @any={null}" To="market_value" DataType="int64" />
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Asset actuals" Enabled="false" QueryToSource="{SRC[valuation_date]}\\actuals_{GLOBAL[file_postfix]}.csv" SaveCount="100">
- <AssetActualsTransition TargetDataSetId="asset" TransitMode="OnlyExistedObjects">
- <ConditionUnit Expression="{GLOBAL[prev_ma_uuid]=='0'}" OnTrue="SkipObjectSet"/>
- <!--don't need to import actuals for this MA because Tapiola decided to start all analysis from scratch-->
- <ConditionUnit Expression="{GLOBAL[ma_uuid]=='78a1239d-574e-408e-af4b-5f82dde13584'}" OnTrue="SkipObjectSet"/>
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[KITUNNUS]}" TargetKey="external_id"/>
- <ValueTransition To="{ THIS.SetActualsValue(TARGET, HISTORY('cf_item_transition'),(DateTime)HISTORY('date_transition'), SRC[EUROT], HISTORY('previous_acquisition_price')) }">
- <LookupValueTransition From="{SRC[TILIRYHMA]}/{TARGET[cf_template_id]}"
- LookupDataSetId="accounts_lookup.csv"
- LookupKeyExpr="{VALUE[ACCOUNT]}/{VALUE[cf_template_id]}"
- ProviderName="CsvProvider"
- Return="asset.actual.cf_item_id"
- OnNotFound="SkipObject" />
- <LookupValueTransition Name="cf_item_transition"
- LookupDataSetId="cash_flow_item"
- LookupKeyExpr="id" />
- <ConditionUnit Expression="{IsNullOrEmptyString(SRC[RAPPVM])}" OnTrue="RaiseError" Message="Date for actuals value is required!"/>
- <ValueTransition Name="date_transition" From="{SRC[RAPPVM]}" DataType="DateTime" />
- <LookupValueTransition From="{GLOBAL[prev_ma_uuid]}/{SRC[KITUNNUS]}"
- Name="previous_acquisition_price"
- LookupDataSetId="asset"
- LookupKeyExpr="external_id"
- OnNotFound="Continue"
- DataType="decimal"
- Return="{VALUE != null ? TARGET[acquisition_date] : null}" />
- </ValueTransition>
- </AssetActualsTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Asset pictures" Enabled="false" QueryToSource="{SRC[valuation_date]}\\assets_{GLOBAL[file_postfix]}.csv" SaveCount="400" >
- <ObjectTransition TargetDataSetId="assetPicture">
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[Kitunnus]}/true" TargetKey="{Field(VALUE[asset],'external_id')}/{VALUE[is_main]}"/>
- <LookupValueTransition From="{GLOBAL[prev_ma_uuid]}/{SRC[Kitunnus]}/true"
- To="picture_id"
- LookupDataSetId="assetPicture"
- LookupKeyExpr="{Field(VALUE[asset],'external_id')}/{VALUE[is_main]}"
- TraceWarnings="false"
- OnNotFound="SkipObject"
- Return="{VALUE != null ? VALUE[picture_id] : null}"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{SRC[Kitunnus]}"
- To="asset"
- LookupDataSetId="asset"
- LookupKeyExpr="external_id" />
- <ValueTransition From="{ true }" DataType="bool" To="is_main" />
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Asset opexes" Enabled="false" QueryToSource="{SRC[valuation_date]}\\actuals_{GLOBAL[file_postfix]}.csv" SaveCount="300" >
- <ObjectTransition TargetDataSetId="asset_opex" TransitMode="OnlyExistedObjects">
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[KITUNNUS]}/{VALUE[TILIRYHMA]}"
- TargetKey="{Field(VALUE[asset],'external_id')}/{VALUE[external_code]}"/>
- <ValueTransition From="{ GLOBAL[main_currency_id] }" To="currency_id" DataType="int"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{'Consumer Price Index'}"
- LookupDataSetId="rate_growth"
- LookupKeyExpr="{Field(VALUE[master_analysis],'uuid')}/{VALUE[name]}" To="rate_growth"/>
- <ValueTransition From="BUDJETTIV">
- <TypeConvertTransitUnit DataType="float" DecimalSeparator=","/>
- <AssetOpexValueTransition/>
- </ValueTransition>
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Not existed Ppes" Enabled="false" QueryToSource="{SRC[valuation_date]}\\Rentroll_{GLOBAL[file_postfix]}.csv" SaveCount="200">
- <ObjectTransition TargetDataSetId="ppe">
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[RATUNNUS]}" TargetKey="external_id"/>
- <ValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[RATUNNUS]}" To="external_id" />
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[KITUNNUS]}" To="asset" LookupDataSetId="asset"
- LookupKeyExpr="external_id" OnNotFound="SkipObject" TraceWarnings="false"/>
- <ValueTransition From="New building ({SRC[RATUNNUS]})" To="name" />
- <ValueTransition From="{TARGET[name]}" To="fullname" />
- <ValueTransition From="{ 12 }" To="ppe_type_id" DataType="int" />
- <ValueTransition From="{ 39 }" To="ppe_category_id" DataType="int" />
- <ValueTransition From="{ Guid() }" To="uuid"/>
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Ppes" Enabled="false" QueryToSource="{SRC[valuation_date]}\\buildings_{GLOBAL[file_postfix]}.csv" SaveCount="200" >
- <ObjectTransition TargetDataSetId="ppe">
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[Ratunnus]}" TargetKey="external_id"/>
- <ValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[Ratunnus]}" To="external_id"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[Kitunnus]}" To="asset" LookupDataSetId="asset"
- LookupKeyExpr="external_id" OnNotFound="SkipObject" TraceWarnings="false"/>
- <ValueTransition From="{ CapitalizeWordLetters(SRC[Rakennuksen Nimi])}" To="name" Replace="@empty=New building ({SRC[Kitunnus]})" />
- <ValueTransition From="{TARGET[name]}" To="fullname" />
- <ValueTransition From="Bruttoala (m2)" To="area_size" DataType="float" DecimalSeparator="," />
- <ValueTransition From="{ 12 }" To="ppe_type_id" />
- <ValueTransition From="{ 39 }" To="ppe_category_id" />
- <ValueTransition From="{ TARGET[uuid] ?? Guid() }" To="uuid"/>
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Land plots" Enabled="false" QueryToSource="{SRC[valuation_date]}\\sites_{GLOBAL[file_postfix]}.csv" SaveCount="200">
- <ObjectTransition TargetDataSetId="ppe">
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[Hmtunnus]}" TargetKey="external_id"/>
- <ValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[Hmtunnus]}" To="external_id"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[Kitunnus]}" To="asset" LookupDataSetId="asset"
- LookupKeyExpr="external_id" OnNotFound="SkipObject" TraceWarnings="false"/>
- <ValueTransition From="Kiinteistörekisteritunnus" To="name"/>
- <ValueTransition From="{TARGET[name]}" To="fullname" />
- <ValueTransition From="{ 1 }" To="ppe_type_id" />
- <ValueTransition From="{ 1 }" To="ppe_category_id" />
- <ValueTransition From="{ TARGET[uuid] ?? Guid() }" To="uuid"/>
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Floors" Enabled="false" QueryToSource="{SRC[valuation_date]}\\Rentroll_{GLOBAL[file_postfix]}.csv" SaveCount="100">
- <ObjectTransition TargetDataSetId="floor">
- <ConditionUnit Expression="{ IsNullOrEmptyString(SRC[KERROS]) }" OnTrue="SkipObject"/>
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[RATUNNUS]}/{VALUE[KERROS]}"
- TargetKey="{Field(VALUE[ppe],'external_id')}/{VALUE[label]}"/>
- <ValueTransition From="KERROS" To="label"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[RATUNNUS]}" To="ppe" TraceWarnings="true"
- LookupDataSetId="ppe" LookupKeyExpr="external_id" OnNotFound="SkipObject"/>
- <ValueTransition From="{ TARGET[uuid] ?? Guid() }" To="uuid"/>
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Legals" Enabled="false" QueryToSource="{SRC[valuation_date]}\\assets_{GLOBAL[file_postfix]}.csv" SaveCount="300">
- <ObjectSetTransition FetchMode="SourceObject" QueryToSource="Pivot OMISTAJA\d$ as Owner">
- <ObjectTransition TargetDataSetId="legal_entity">
- <ConditionUnit Expression="{ IsNullOrEmptyString(SRC[Owner]) }" OnTrue="SkipObject"/>
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[Owner]}" TargetKey="{Field(VALUE[master_analysis], 'uuid')}/{VALUE[name]}"/>
- <ValueTransition From="{ CapitalizeWordLetters(SRC[Owner])}" To="name" />
- <ValueTransition From="{TARGET[name]}" To="fullname" />
- <ValueTransition From="{ TARGET[uuid] ?? Guid() }" To="uuid"/>
- <LookupValueTransition From="{ GLOBAL[ma_uuid] }" LookupDataSetId="master_analysis" LookupKeyExpr="uuid" To="master_analysis"/>
- </ObjectTransition>
- </ObjectSetTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Legal relations" Enabled="false" QueryToSource="{SRC[valuation_date]}\\assets_{GLOBAL[file_postfix]}.csv" SaveCount="300">
- <ObjectSetTransition FetchMode="SourceObject" QueryToSource="Pivot OMISTAJA\d$ as Owner and OMISTAJA\d OSUUS as OwnerShare">
- <ObjectTransition TargetDataSetId="legal2asset_relation">
- <ConditionUnit Expression="{ IsNullOrEmptyString(SRC[Owner]) }" OnTrue="SkipObject"/>
- <KeyTransition SourceKey="{VALUE[Owner]}/{GLOBAL[ma_uuid]}/{VALUE[Kitunnus]}"
- TargetKey="{Field(VALUE[legal_entity],'name')}/{Field(VALUE[asset],'external_id')}"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{SRC[Kitunnus]}" To="asset" LookupDataSetId="asset" LookupKeyExpr="external_id"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{SRC[Owner]}" To="legal_entity" LookupDataSetId="legal_entity"
- LookupKeyExpr="{Field(VALUE[master_analysis], 'uuid')}/{VALUE[name]}"/>
- <ValueTransition From="OwnerShare" To="share" DataType="float"/>
- <ValueTransition From="{ 'Ownership' }" To="name" />
- </ObjectTransition>
- </ObjectSetTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Premises" Enabled="false" QueryToSource="{SRC[valuation_date]}\\Rentroll_{GLOBAL[file_postfix]}.csv" SaveCount="300">
- <ObjectTransition TargetDataSetId="premis">
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[KITUNNUS]}/{VALUE[KOHDETUNNUS]}/{VALUE[TUNNUS]}" TargetKey="external_id"/>
- <ValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[KITUNNUS]}/{SRC[KOHDETUNNUS]}/{SRC[TUNNUS]}" To="external_id"/>
- <ValueTransition From="KOHDETUNNUS" To="number"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[RATUNNUS]}" To="ppe"
- LookupDataSetId="ppe" LookupKeyExpr="external_id" OnNotFound="SkipObject" TraceWarnings="false"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{SRC[RATUNNUS]}/{SRC[KERROS]}" LookupDataSetId="floor"
- LookupKeyExpr="{Field(VALUE[ppe],'external_id')}/{VALUE[label]}"
- To="floor" OnNotFound="Continue" TraceWarnings="false"/>
- <ValueTransition From="KÄYTTÖTARKOITUS" To="use">
- <ConditionUnit Expression="{ IsNullOrEmptyString(VALUE) }" OnTrue="SkipValue"/>
- <ConditionUnit Expression="{ Str(SRC[KÄYTTÖTARKOITUS]).Contains('määrittelemätön') }" OnTrue="SkipValue"/>
- <ReplaceTransition ReplaceRules="ä=a;ö=o;Ä=A;Ö=O"/>
- <LookupValueTransition LookupDataSetId="use_type" LookupKeyExpr="name" />
- <LookupValueTransition From="{Field(TARGET[ppe],'ppe_category_id')}/{VALUE[id]}" LookupDataSetId="use" LookupKeyExpr="{VALUE[ppe_category_id]}/{VALUE[use_type_id]}"/>
- </ValueTransition>
- <ValueTransition From="PINTA-ALA LASKENTA" To="area_size">
- <ConditionUnit Expression="{ IsNullOrEmptyString(VALUE) }" OnTrue="SkipValue"/>
- <TypeConvertTransitUnit DataType="float" DecimalSeparator=","/>
- <AreaAccumulatorTransition/>
- </ValueTransition>
- <ValueTransition From="KPL" To="quantity" DataType="int" >
- <ConditionUnit Expression="{ VALUE == '0'}" OnTrue="SkipValue"/>
- <!--row data validation-->
- <ConditionUnit Expression="{ !IsNullOrEmptyString(SRC[KPL]) && !IsNullOrEmptyString(SRC[PINTA-ALA LASKENTA]) && SRC[PINTA-ALA LASKENTA]!='0' && SRC[KPL]!='0' }" OnTrue="RaiseError"/>
- </ValueTransition>
- <ValueTransition From="HSTONIMI" To="classification" />
- <ValueTransition From="{ true }" To="is_leasable" DataType="bool" />
- <ValueTransition From="{ !IsNullOrEmptyString(SRC[VUOKRALAINEN]) }" To="is_occupied" DataType="bool" />
- <ValueTransition From="{ TARGET[uuid] ?? Guid() }" To="uuid"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[VUOKRANANTAJA]}" LookupDataSetId="legal_entity" TraceWarnings="false"
- LookupKeyExpr="{Field(VALUE[master_analysis], 'uuid')}/{VALUE[name]}" To="legal_entity" OnNotFound="SkipValue" />
- <ValueTransition From="MV">
- <TypeConvertTransitUnit DataType="double" DecimalSeparator=","/>
- <PremisesMarketValueTransitUnit/>
- </ValueTransition>
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Rentrolls" Enabled="false" QueryToSource="{SRC[valuation_date]}\\Rentroll_{GLOBAL[file_postfix]}.csv" SaveCount="300">
- <ObjectTransition TargetDataSetId="rent_roll" >
- <ConditionUnit Expression="{ IsNullOrEmptyString(SRC[VUOKRALAINEN]) }" OnTrue="SkipObject"/>
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[KITUNNUS]}/{VALUE[KOHDETUNNUS]}/{VALUE[TUNNUS]}/rentroll" TargetKey="external_id"/>
- <ValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[KITUNNUS]}/{SRC[KOHDETUNNUS]}/{SRC[TUNNUS]}/rentroll" To="external_id"/>
- <LookupValueTransition From="{GLOBAL[ma_uuid]}/{VALUE[KITUNNUS]}/{VALUE[KOHDETUNNUS]}/{VALUE[TUNNUS]}"
- To="premis"
- LookupDataSetId="premis"
- LookupKeyExpr="external_id"
- TraceWarnings="false"
- OnNotFound="SkipObject"/>
- <LookupValueTransition From="VUOKRALAINEN" To="tenant" LookupDataSetId="tenant" LookupKeyExpr="name" />
- <ValueTransition From="TUNNUS" To="agreement_number" />
- <ValueTransition From="ALKAMISPVM" To="lease_start_date" DataType="DateTime" DataTypeFormat="yyyyMMdd" />
- <ValueTransition From="LOPPUMISPVM" To="lease_end_date" DataType="DateTime" DataTypeFormat="yyyyMMdd"/>
- <ValueTransition From="ENS IRTISANOMISPVM" To="earliest_notice_date" DataType="DateTime" DataTypeFormat="yyyyMMdd"/>
- <ValueTransition From="{SRC[MAARAIK]}{SRC[C_JATKUVA]}" To="lease_type_id" DataType="int" Replace="!TF=1;!@regexp:F\w=2;TT=3" />
- <ValueTransition From="{GLOBAL[main_currency_id]}" To="current_rent_currency_id" DataType="int" />
- <ValueTransition From="{TARGET[lease_type_id]}" Replace="!1=;@any=24" To="extension_length_months" DataType="int" />
- <!--<ValueTransition From="Muutarkistusperuste" To="indexation_id" DataType="int" Replace="!EI=;@any=1" />-->
- <LookupValueTransition From="Muutarkistusperuste"
- LookupDataSetId="rate_growth"
- ReplaceBeforeLookup="!EI=;@any={GLOBAL[ma_uuid]}/{'Consumer Price Index'}"
- LookupKeyExpr="{Field(VALUE[master_analysis],'uuid')}/{VALUE[name]}"
- To="rate_growth"/>
- <ValueTransition From="PINTA-ALA VUOKRATTU" To="leased_area">
- <ConditionUnit Expression="{ IsNullOrEmptyString(VALUE) }" OnTrue="SkipValue"/>
- <TypeConvertTransitUnit DataType="float" DecimalSeparator=","/>
- <AreaAccumulatorTransition/>
- </ValueTransition>
- <ValueTransition From="KPL" To="leased_quantity" DataType="int">
- <ConditionUnit Expression="{ !IsNullOrEmptyString(SRC[KPL]) && !IsNullOrEmptyString(SRC[PINTA-ALA VUOKRATTU]) && SRC[PINTA-ALA VUOKRATTU]!='0' && SRC[KPL]!='0' }" OnTrue="RaiseError"/>
- </ValueTransition>
- <!--this transition also can rewrite lease_end_date-->
- <ValueTransition To="notice_period_months">
- <NoticePeriodMonthsTransition />
- </ValueTransition>
- <ValueTransition To="comment">
- <TransitUnit Expression="{ Format('MAKSULAJI: \{0\}/',SRC[MAKSULAJI]) }"/>
- <TransitUnit Expression="{VALUE}{Format('Sopimusjatkuva: \{0\}/',SRC[Sopimusjatkuva]) }"/>
- <TransitUnit Expression="{VALUE}{Format('Sopimus jatkuu: \{0\}/',SRC[Sopimusjatkuu]) }"/>
- <TransitUnit Expression="{VALUE}{Format('VAPAAKK/ALENNUS: \{0\}/',SRC[VAPAAKK/ALENNUS]) }"/>
- <TransitUnit Expression="{VALUE}{SRC[TARKISTUSPERUSTE]=='MUU' ? 'TARKISTUSPERUSTE: MUU' + Format(' (Tarkistusperuste: \{0\})',SRC[Muutarkistusperuste]) : '' }"/>
- <TransitUnit Expression="{VALUE}{Format(' (Muu tarkistus: \{0\})',SRC[Muutarkistus]) }"/>
- <TransitUnit Expression="{VALUE}{Format(' (Muunselite: \{0\})',SRC[Muunselite]) }"/>
- <TransitUnit Expression="{VALUE}{Format(' (Muutospros: \{0\})',SRC[Muutospros]) }"/>
- <TransitUnit Expression="{VALUE}/{SRC[ERIKSEEN_LASKUTETTAVAA]=='X' ? 'Erikseen laskutettavaa: KYLLÄ' : ''}"/>
- </ValueTransition>
- <ValueTransition From="Tarkistuskk" To="rate_growth_recurrance_pattern" >
- <RentrollIndexationRecurranceTransitUnit/>
- </ValueTransition>
- <ValueTransition From="{ TARGET[uuid] ?? Guid() }" To="uuid"/>
- <ValueTransition From="KK-VUOKRA">
- <ConditionUnit Expression="{ IsNullOrEmptyString(VALUE) }" OnTrue="SkipValue"/>
- <TypeConvertTransitUnit Name="AssumptionValueTransition" DataType="double" DecimalSeparator=","/>
- <LookupValueTransition From="{SRC[MAKSULAJI]}"
- LookupDataSetId="rentroll_assumptions_lookup.csv"
- LookupKeyExpr="tapiola_account_name"
- ProviderName="TsvProvider"
- DataType="int"
- Return="{VALUE != null ? VALUE[xq_assumption_id] : '59' }"
- OnNotFound="Continue" />
- <RentrollAssumptionTransition/>
- </ValueTransition>
- </ObjectTransition>
- </ObjectSetTransition>
- <ObjectSetTransition Name="Repair budget timeseries" Enabled="false" QueryToSource="{SRC[valuation_date]}\\PTS_{GLOBAL[file_postfix]}.csv">
- <ObjectSetTransition FetchMode="SourceObject" QueryToSource="Pivot 20\d\d$ as Year">
- <ObjectTransition TargetDataSetId="asset" TransitMode="OnlyExistedObjects">
- <KeyTransition TargetKey="external_id">
- <SourceKeyTransition >
- <ConditionUnit Expression="{ IsNullOrEmptyString(SRC[Kohde]) }" OnTrue="SkipObject"/>
- <LookupValueTransition From="Kohde"
- LookupDataSetId="{GLOBAL[valuation_date]}\\assets_{GLOBAL[file_postfix]}.csv"
- LookupKeyExpr="Kustannuspaikka"
- OnNotFound="SkipObject"
- ProviderName = "CsvProvider"
- Return="Kitunnus" />
- <TransitUnit Expression="{GLOBAL[ma_uuid]}/{VALUE}"/>
- </SourceKeyTransition>
- </KeyTransition>
- <RepairAssumptionValueTransition From="YearColumn" DataType="int" />
- </ObjectTransition>
- </ObjectSetTransition>
- </ObjectSetTransition>
- !!!WARNING: Need to run this transion by separate tool execution (need to fix to allow run together with the above transions)
- <ObjectSetTransition Name="RECALCULATE" Enabled="false" QueryToSource="{SRC[valuation_date]}\\assets_{GLOBAL[file_postfix]}.csv" SaveCount="100" >
- <ObjectTransition TargetDataSetId="asset" TransitMode="OnlyExistedObjects">
- <KeyTransition SourceKey="{GLOBAL[ma_uuid]}/{VALUE[Kitunnus]}" TargetKey="external_id"/>
- <!--<ValueTransition From="{ true }" To="is_dirty"/>-->
- <AssetRecalculateTransition/>
- </ObjectTransition>
- </ObjectSetTransition>
- </ForEachTransition>
- </TransitionGroup>
- </TransitionGroups>
- </MapConfig>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement