Dimensions are used in multiple scenarios throughout Business Central. It can be assigned to master data, transactional data, or a combination. By assigning a dimension you can build an extra layer of information that is valuable for your reporting, but you can also use dimensions to ensure sudden combinations aren’t represented.
When we are referring to dimensions, we are often referring to the two main tables; the Dimensions and the Dimension Values which is table 348 and 349 in Business Central. This article will mainly focus on the before mentioned tables but also dive into the usage of tables 352 Default Dimensions when operating in a multi company setup having Multi Entity Management by XtensionIT installed.
We assume in the following that the basic setup around Dimensions is done.
The scenario is often that the user of Multi Entity Management wants all relevant dimensions, dimension values and default dimensions setup replicated from master to subscriber. Some customers want to allow the subscribers to add records in the Dimension Value table and some only wants to replicate specific default dimensions to the subscribing company – no matter what the need is, it can be set up in Multi Entity Management. Following examples as inspiration to accomplish a best practice setup.
First thing we need to do is to expose the data from our master company by doing following setup:
As you can see, we are using my G/L Account table and Resource table as reference tables of master data. It could also have been Customer and Vendor or something different. You will also notice that there is a value in Associated Tables and a true Boolean in the field Added as Associated Table. By using Associated tables, you create a combination between the different tables. For this setup following tables are associated:
Default Dimension -> G/L Account
Default Dimension -> Resource
Dimension Value -> Dimension
You do the association by selecting the managing table and then click Associated Tables in the ribbon above the lines. In here you simple just put the table you want to be associated with the master table. It is important to mention that you cannot associate all tables in Business Central.
If you want to apply more default dimensions to the master data table in the master company than you want to replicate to the subscribing companies, you can use the function Individual Setup for Default Dimensions. By using this function, you can select which specific default dimensions you want to replicate. The function also supports you to go deeper and control which fields on the default dimension record that should be replicated along. With other words – this enables you to leave some records behind in the Master company and not replicate them to the subscriber even though you are running full subscribe or just have the default dimension table as associated table.
For the field setup related to the Dimension Values it is preferred to have following setup to ensure transferring values that is autoincrement or automatically set when adding the value in the subscribing company:
When it comes to moving the value from the master company to the subscribing companies you can do a full subscribe, which will transfer all records in the respective tables, but you can also omit from running a full subscribe and just do push and/or pull of dimensions and dimension values to/from the subscriber. The dimensions and dimension values can be pushed from master using the function shown below:
In the subscriber company all relevant tables are being put in to the dependent on page part. In this setup I have chosen not to have subscribe on any of my tables, so I can pick the records I want transferred myself.
Note 1: for the Dimension values you can chose to have them fully replicated by enabling the subscribe Boolean. The Dimension Values will not be replicated with the Default Dimensions as the Dimensions are due to the relation. Alternatively, you must push the relevant Dimension Values from the Master to the subscriber or let the subscriber pull them manually when they need them.
Note 2: if you chose to replicate all data during the initial setup adding a checkmark in Subscribe it will replicate all records and ignore the setup on Individual Default Dimension Setup.
Note 3: if you chose to push or pull records in the master data table it will ignore the setup on Individual Default Dimension Setup.
In our Master company we have created four dimensions with three-dimension values each. None of them are replicated to the subscriber. At the same time, we have created two G/L accounts and four resources.
For the first test G/L account we have assigned the dimensions above.
Afterwards we decide to go to my subscriber and template G/L Account 01111 Test Account 1 with the function shown below:
The result from the transfer is like pasted below:
The interesting thing here is that all the default dimensions records for the specific G/L account is replicated automatically together with the G/L account. The only Dimension which isn’t transferred is DEMO3, and the reason for this is that we excluded it in the setup for Individual Setup for Default Dimensions.
To get the Dimension values transferred you need to push them from the master or pull them from subscriber. Often, we see the master is pushing the values when a new dimension value is created. It can be done by navigating to the dimension values and click Transfer record on the Dimension Value you want to push.
If you want to allow the subscribing customer to have custom default dimension settings on a specific table, you can enable that by setting the Boolean marked below to true.