Horizon custom field examples

Horizon custom field examples

Customer dimension

In the example below, a Customer dimension with two hierarchy levels Customer type and Customer is defined. This dimension contains both key and name fields for both levels and is linked  to the measures (Transaction dimension) using customer_code key field. In this example, customer_name is defined both for Customer and Transaction dimension import. This allows for Customer dimension member creation from the Transaction record in case a matching customer code is not found in the Customer dimension.

[TdmGramatSL.customer_code] default_custom_field = true cube_name = 'Horizon Financials' name = 'Transaction Customer Code' rest_api_field = 'D.K.KODS' for_custom_dimension = 'Customer' bind_field_name = 'customer_code' [TDdmKlBaseSar.customer_type_code] default_custom_field = true cube_name = 'Horizon Financials' dimension_name = 'Customer' level_name = 'Customer Type' name = 'Customer Type Code' rest_api_field = 'K.KTIPS' key_field = true [TDdmKlBaseSar.customer_type_name] default_custom_field = true cube_name = 'Horizon Financials' dimension_name = 'Customer' level_name = 'Customer Type' name = 'Customer Type Name' skip_request = true name_field = true javascript_code = ''' cust_type = doc.K_KTIPS; switch(cust_type) { case "0": doc.customer_type_name = "Active"; break; case "1": doc.customer_type_name = "Potential"; break; } ''' [TDdmKlBaseSar.customer_code] default_custom_field = true cube_name = 'Horizon Financials' dimension_name = 'Customer' name = 'Customer Code' rest_api_field = "K.KODS" key_field = true [TDdmKlBaseSar.customer_name] default_custom_field = true cube_name = 'Horizon Financials' dimension_name = 'Customer' name = 'Customer Name' rest_api_field = "K.NOSAUK" name_field = true [TDdmKlBaseSar.customer_pvn_reg_no] default_custom_field = true cube_name = 'Horizon Financials' dimension_name = 'Customer' name = 'VAT Registration No' rest_api_field = "K.PVN_REGNR" property = true

Consolidation

In the example below custom fields are used to define an Account dimension with a Company hierarchy level at the bottom for consolidation.

[TdmAccEdList.account_type_code] default_custom_field = true cube_name = 'Horizon Financials' dimension_name = 'Account' level_name = 'Account Type' name = 'Account Type Code' skip_request = true key_field = true javascript_code = ''' acc_code = doc.KON_KODS; if (acc_code) { expense_regex = /(^82.*|^7.*|^8810|^8891)/; income_regex = /(^81.*|^6.*)/; doc.account_type_code = '3'; if (acc_code.match(expense_regex)) { doc.account_type_code = '2' }; if (acc_code.match(income_regex)) { doc.account_type_code = '1' }; } ''' [TdmAccEdList.account_type_name] default_custom_field = true cube_name = 'Horizon Financials' dimension_name = 'Account' level_name = 'Account Type' name = 'Account Type Name' skip_request = true name_field = true javascript_code = ''' acc_type = doc.account_type_code; switch(acc_type) { case '2': doc.account_type_name = 'Expense'; break; case '1': doc.account_type_name = 'Income'; break; case '3': doc.account_type_name = 'Other'; } ''' [TdmAccEdList.account_code] default_custom_field = true cube_name = 'Horizon Financials' dimension_name = 'Account' name = 'Account Code' rest_api_field = 'KON.KODS' key_field = true [TdmAccEdList.account_name] default_custom_field = true cube_name = 'Horizon Financials' dimension_name = 'Account' name = 'Account Name' rest_api_field = 'KON.NOSAUK' name_field = true [TdmAccEdList.acc_company_code] default_custom_field = true cube_name = 'Horizon Financials' dimension_name = 'Account' level_name = "Company" name = 'Account company code' rest_api_field = "source_company_code" skip_request = true key_field = true [TdmAccEdList.acc_company_name] default_custom_field = true cube_name = 'Horizon Financials' dimension_name = 'Account' level_name = "Company" name = 'Account company name' rest_api_field = "source_company_name" skip_request = true name_field = true