How to create a colour picker in Jedox?

How to create a colour picker in Jedox?

Jedox has a wide range of possibilities when it comes to reporting since it is working based on Excel technology. Having that in mind it might happen that sometimes you will need to add a colour picker to your dashboard. Here is an example of how it could be done. On the spreadsheet, you can put the colours which could be chosen Set up a macro which will be trigged when colour is clicked ="<a href=""#"" title='"&U5&"' style=""height:100%;width:100%;display:inline-block;color:"&U5&";background-color:"&U5&";"" onclick=""Jedox.wss.macro.exec([true,['Module1.saveColorToVariable','"&V5&"']])""> </a>" Create the macro in the Macro Editor function saveColorToVariable ( $color ) { define_variable ( 'varColor' , $color ); //return do_close(); } That is it!! In case you are not a person who has much sense for colours, there are amazing patterns of colours on this website. An example of the project can be found here....
Read More
How to return IP address from the Spreadsheet in Jedox

How to return IP address from the Spreadsheet in Jedox

Here is the sample of the macro PHP code which can help you to return the IP address of the current server from the spreadsheet. It could be useful when reports contain download functionality which is the source on the server name. So in order not to have a hardcoded server DNS name you could use this funcionality. -------- function temp(){ $localIP = getHostByName(getHostName()); return __msgbox("myComplexVariable=".print_r($localIP , TRUE ), 'Test', 'Info'); } --------...
Read More
How to create paging in Jedox?

How to create paging in Jedox?

When crafting reports in Jedox, it's not uncommon to encounter scenarios where the large volume of rows becomes unwieldy. In such cases, the implementation of paging proves invaluable. Paging not only ensures a clear presentation of the table but also serves to optimize server resources during report access. In the example provided below, we illustrate a two-step approach to introduce a paging solution, leveraging the Jedox BikerBest database. Step 1: Create the Table of Elements The table, presented via Dyna-range, reveals an extensive list of elements that stretches to the bottom, posing navigation challenges. To address this, a subset of Dyna-range is strategically employed to showcase all base elements within the 'Product' dimension. Step 2: Limit the number of rows based on the variables and introduce paging It's common practice to incorporate external variables into the subset. StartPosition - > from which element we want to start [Inital 0]. NumberOfElements -> how many elements we want to see in the table [editable but set on 30 for...
Read More
Create slideshow widget in Jedox

Create slideshow widget in Jedox

Jedox provides many possibilities when creating a report or a dashboard. Apart from native components like buttons, combo, and checkboxes, lists and dynaranges Jedox allow developers to code their own widgets. One of them could be the slideshow widget. This widget can make your dashboard more interactive and interesting. Widgets in Jedox are coded via HTML and this is how you can create one. For our example, we will use Biker's best database whereas for dimension Product we will add attribute images. Value of attribute is the location of the image behind [ Example /pr/jedox/images/Bikes/Mountain Bikes.png ] Idea is to create an array of elements that could be used in the widget, which will contain: Product Name Product Image Data of selected Measure Measure That we will do with Dynarange and it should look something like this: Since coding behind the widget is a bit complex there will be a project available for download here. To learn more about widgets and what possibilities you can have with them check the...
Read More
Exchange rate Cubes

Exchange rate Cubes

In this post, we will show you examples of an exchange rate cube, a planning cube, and how to set up the rules between them. This topic is very much present in a lot of projects and therefore we will explain the simple logic behind it. Exchange rate cube For every project exchange rate functionality is probably one of the must-have cubes. The logic behind is simple. We need a place to store rates and the place where we calculate them with the planned data. For keeping rates somewhere we need a cube with at least 2 dimensions: Month or Day Currency It is important to dedicate one reporting currency. In our case the central currency is EUR. All the other currency data will be converted to EUR. Another cube is the place where we plan the data. This cube will contain more dimensions like: Month Version Country Currency Measure In the end connection between these two cubes will be done by a rule: In this rule, we are dividing data that is...
Read More
Version blending

Version blending

Version blending is functionality that brings actual figures to be visible in the forecast versions. Each forecast element in the Version dimension can be configured in the Actual Months attribute to contain actual figures for the first given number of months, starting with January. Here we could see that versions have 3,6,9 months of actual data for corresponding forecast versions. This can be achieved if in the version dimension we add the attribute Actual Month. [is already there if you use Version template dimension when creating]. After that rule needs to be set on the cube level. Here is a good description of this feature in Jedox Knowledge Base. Also, you can download the mini-project of version blending from here....
Read More
Audit in Jedox

Audit in Jedox

When the cycle of planning starts it is important to track all inputs. One reason is for monitoring purposes [Who did when what and why] and the second is to keep the log of how data looked before that step. For that purpose, we will use Audit functionality. This functionality can be found in the Administration tab: By default, an audit is not started until the user enables it in Settings Panel. Auditing can be done for 1,7,30 or 365 days. Have in mind that a larger auditing period is selected, the file on your server will take more memory. Once you select the cube which should be monitored, add some value inside. In our case, we will add 400 Units for Handlebars inside Orders Cube which we previously enabled in Audit. After hitting that splash functionality new value is visible in the Audit section. Now, you can check why the values are appearing in the report since everybody claims it was not their...
Read More
Creating sudoku in Jedox

Creating sudoku in Jedox

Primarily designed as a planning tool, Jedox offers a wide range of possibilities when it comes to development. If we forget for a second HR, cost center, or some financial consolidation model and let our creative mind flow, we could come to this kind of application. Sudoku is a game that is designed in matrix form where the goal is to fill the cells with numbers from 1 to 9 that are not repeating on any axes. For our little project, we will design a database that will keep scores of users and set up the Sudoku. Dimensions inside will be: User (Copied from System database) Day Version of Sudoku [Easy,Medium,Advanced] Measure [Duration] For the Sudoku setup itself, we would have two dimensions Xaxe and Uaxe. Series of conditional formatting values will be responsible for checking if the numbers are in the correct order. Here you can find the whole project.  ...
Read More
How to create a top 10 list of a certain dimension?

How to create a top 10 list of a certain dimension?

The crucial part of every dashboard is the top 10 list analysis. Many companies would like to see what are their best-selling products, best performing months, or perhaps top 10 customers. Like other reporting tools, Jedox has a specific way to deal with it. So in order to achieve that we will use subsets. There are 3 segments to pay attention to: PALO.DATA - to create top 10 of anything we need to decide which data need to be sorted PALO.SORT - to sort data based on the value PALO.HIERARCHY to select only base level The last step is in the General tab to select Layout - Flat In the end, the report should like something like this: More on segments of the Palo subset can be found here. Report with an example can be downloaded here....
Read More
Slowly Changing Dimensions

Slowly Changing Dimensions

Slowly Changing Dimensions are a recurring topic in Business Intelligence and Data Warehousing in general. Theterm describes the unpredictable change of dimensions over the life-cycle of a data model and the approachesused to capture and document historical data for future reference. Before: After: There are 4 ways to deal with them: Dimension Update Parallel Hierarchies Split information over different dimensions Attribute/Control Cube Dimension Update (Slowly Changing Dimensions) The first approach is the so-called “Update” approach. As the word “Update” suggests, this approach removes theold structure and replaces it with the new one. This approach has proven to be efficient, in the case when no historicalcomparison is required. The latest structural changes should simply be displayed in the respective dimension. Parallel Hierarchies (Slowly Changing Dimensions) An approach to preserve historical structures and information is to create so-called “parallel hierarchies”. Herebythe new structure is created under a new consolidated element in the respective dimension.Attention should be paid to how many parallel hierarchies are being set up as this method can quickly “clog” thedimensions...
Read More