FineBI Version
5.0
How to import or synchronize their department hierarchical structure when you import or synchronize users?
In a database, you can often see a table structure with two fields (ID and Parent ID) or with a field who has certain length pattern. This table structure can form a tree dataset, through which a tree-like hierarchical structure can be generated.
Click to download the data table: Company Department.xls.
The information of the table is shown in the following figure.
Add Company Department Table to your own database, or create a user information table in your database.
Log in to the decision-making system as the admin, choose System Management > Data Connection > Server Dataset, move your crusor to Create Dataset, click SQL Dataset, set Dataset Name to Company Department, enter SQL statements, and click Save.
The SQL statement is as follows.
select *from Company Department
1. Click Tree Dataset, set Dataset Name to Department Tree, and set Original Tag Field to Department ID and Parent Tag Field to Parent ID.
The tree dataset comes from the SQL dataset created in section "Creating a SQL Dataet". There are Department ID and Parent ID fields in Company Department, so you can choose Create Tree Depending on Parent Tag Field of Selected Dataset.
In this case, there needs to be a unique root node (a node with an empty Parent ID). If not, the index cannot be established normally when you build the tree.
2. Click Preview. Then you can see the data as shown in the following figure.
Three new fields can be seen in the dataset: FR_GEN_0 (the first level of the tree structure), FR_GEN_1 (the second level of the tree structure), FR_GEN_2 (the third level of the tree structure).
3. Click Save.
1. Click Tree Dataset, set Dataset Name to Department Tree, and set Original Tag Field to Department ID.
The level of fields (without parent fields) in the data table is determined by their length. The length of the field Department ID in Company Department is different. But there is a certain pattern. The first number represents the department ID of the first-level department. The second number together with the first number represents the department ID of the second-level department, and so on.
Department ID, Parent Department ID, and Department Name are three tree-building fields. In actual operation, the Department ID and Department Name fields must correspond with each other. There cannot be duplicate Department IDs.
The above data table is a complete tree dataset. When you build the tree dataset, the Department ID is Original Tag Field, and the Parent ID is Parent Tag Field.
The first row indicates that the tag of Headquarter is 1, with empty parent tag, meaning that Headquarter is a root department without a parent department. (Usually, if a department does not have a parent department, the parent department tag is empty.) The second row indicates that the original tag of Human Resources Department is 11, with parent department tagged as 1. You can query the parent department based on this tag.
You can know all department and position information in the dataset. According to Parent ID, you can locate Department ID, search for the corresponding Department Name, and create the field Parent Department.
Any tag (except those being empty) in Parent ID must be found in the corresponding tag of Department ID. All values of Parent ID in the above figure have corresponding values in Department ID.
If Parent ID is 2, with no Department ID as 2, the tree is considered incomplete, because it is impossible to construct the department information with Parent ID as 2. If the dataset that contains user information is synchronized, it will fail.
When you build the tree dataset, the Department ID is Original Tag Field, and the Parent ID is Parent Tag Field.
The tag of Parent ID need to be found in Department ID, otherwise synchronization will be rejected.
The following shows necessary conditions that can help you determine whether a tree dataset is correct.
1. The values (except those being empty) in parent tag fields have corresponding values in original tag fields.
2. Rows with the same original tag fields need to have the same department name and parent tag fields (like the last two rows of the data table shown above).
3. Rows with the same parent tag fields and department name need to have the same original tag fields (like the last two rows of the data table shown above).
The following shows scenarios in which a tree datasets cannot be created.
1. If a department has two parent departments, the table is not a tree structure.
2. If a tag has different department names, the synchronization will not be finished.
3. If the department name is unique, its department tag will also be unique (under the condition that there is a definitive parent department). The following figure shows an incorrect scenario.
Department names can be the same. For example, Performance Group can be included both in the sales department and in the R&D department. If the parent department is determined, however, department names cannot be duplicated.
For example, both Lyon and Loy are in Performance Group, whose parent tags are both d. The tags of same departments should also be same. But in the figure, the department tags of Lyon and Loy are different, which will lead to an error and a synchronization failure. If Parent Department is determined, you can determine a unique department according to Department Name.
4. Some enterprises who perform flat management may have flexible superior-suordinate relations. For example, department A is the parent department of department B, which is also the parent department of department A at the same time. This scenario (very rare) will also lead to synchronization failure.
Tags like 0 and 0000000 cannot be contained in original fields and parent tag fields, because these tags will be parsed as 0, which is a reserved field in the program and is the ID of all departments. You need to avoid using them as much as possible.
If a department does not have a parent department, keep Parent Department field empty when you create a tree structure.
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
Submitted successfully
Network busy