Debugging and Favorite Board Features
Featuring: Community Captain Enric Gil Garcia, Senior Software Engineer, Wipro
Today, we’re welcoming one of the final Community Captains of 2024 —Enric Gil Garcia— as he shares his insights on debugging and his favorite Board features!
Enric has been working as a Board consultant for over eight years and has helped companies from different sectors, especially pharmaceutical companies, to improve their decision-making processes and reduce financial risks. He has worked on complex projects, from defining project requirements to the live implementation and staff training, always focused on helping and facilitating his clients' work.
On many occasions we don’t start a project from scratch, we start from an already built BOARD solution and we need to solve issues or to modify it. From my point of view, the debugging is as important as the build, so here you have my favorite features and how I use them:
Analysis (Basic)
Inside the data model there is an Analysis feature for both Entities and Cubes. The purpose of this feature is to get an overview of where the Entity/Cube is used and to gain time finding out the exact data readers or dataflows that are linked to it, instead of searching one by one.
It works by selecting an Entity or a Cube, clicking on the Analysis Tab, and waiting a few times until it displays all the information related to it: data readers, dataflows, screens and procedures.
It’s important to highlight the difference between dataflows and procedures, as the dataflows refer only to procedures where the entity/cube is used in a dataflow, meanwhile procedures refer to any steps that use the Entity/Cube as dataflows, select entity based on cube or clear cube.
Impact Analysis (Advanced)
Also in the data model, there is a section called Impact Analysis:
This section allows the developer to check any relationship between most of the data model and Capsules elements. As an example, I’m going to show how I would investigate where the information from a cube is coming from:
- We click on the WHAT to unselect all the elements and then we select Cubes.
- BOARD will select by default all the Linked to elements, so we unselect the undesired ones until we keep only Data reader, Procedures and Capsule procedures.
- We click the Analysis tab at the top left of the screen.
- We select the cube that we want to analyse. We can use the search tool to be faster.
- We change the view to Table mode.
- We search the procedures where our cube is Target Data Block.
- There is a button to download all the data to Excel. This can be used for documentation.
Data Model Log (Advanced)
How about the performance? Is there a way we can check that BOARD is doing all the steps with efficiency? We can use the Log to do so, a file that has registered all the steps executed in the data model for the current month. This file can help us find which steps (especially data readers and dataflows) take more time than intended by checking the elapsed time.
Once identified the time-consuming dataflows, we can focus on the dataflow mode. This column will help us understand how the information flows, and from there we can decide what to do. The most common changes are:
- Change the dataflow domain (and extend some of the entities)
- Change the structure of the cube
- Split the dataflow in two steps or more with few combinations
If you want to know more about the dataflow performance, you must read the following article: The Dataflow Action
In addition to the Operations tab, there are three more tabs that you should know:
- Saturation: It’s the details of entities and the cubes that are structured by those entities. It also shows the members’ percentage of an entity that are being used in a sparsity. (This can make you decide to change an entity from sparse to dense in a cube structure).
- Diagnostics: Here you can see various diagnostic details of the data model in XML format.
- Data model list: Shows a full list of the data models that are currently active (that are loaded in the platform memory (RAM) and other miscellaneous information.
Thank you, Enric, for sharing these helpful insights as a Board Community Captain!
What Board features do you find particularly useful in your experience? Help the Community improve by sharing your feedback in the comments below.
Comments
-
@Enric Thanks for the thoughtful knowledge share to round out 2024!
1 -
Thank you @Enric ! When looking at the database logs, it indicates the logs location for most of them but some of them don't show any path. How can we read logs that do no show any path ? Thank you!
0 -
Hi @Catalina ,
the step you've picked there is a dataflow and the header "File" is somewhat misleading here because when looking at a dataflow the log shows the name of the target cube that is being populated.
That's why you can't find any file information in this case—a dataflow is running in memory and does not need a file as source or target. And a dataflow does not produce any logfile, just an entry in the database log.
Best,
Helmut1 -
thank you @Helmut Heimann !
1 -
Hi @Catalina, that rows are telling where the backups are stored. If you want to check all the logs, you can select a specific path, as the defaults ones are only accessible for BOARD. You can check all the information in the following link:
0