Attaching items and sending email via Groovy in Integrator

Attaching items and sending email via Groovy in Integrator

Hello, dear readers! Today, I want to share with you an important use case that might be very useful in your daily work with Jedox. If you are working with Jedox Integrator and Report Designer, sometimes you need to automate processes to make your work easier and faster. One of these tasks might be copying a file from Report Designer, saving it to your file system, and then sending it as an email attachment. I will show you how to do this using a Groovy script. Let’s imagine a scenario where this might be necessary. Business Scenario Let’s say you are working in the finance department of a company, and every month you prepare financial reports using Jedox. These reports could be in different formats, like Excel (XLSX), CSV, or even images like PNG. After preparing these reports, you need to send them to your colleagues or your boss for review. For example, you generate a monthly sales report in Excel format using...
Read More
Loading GPS Coordinates – Jedox XML Connection

Loading GPS Coordinates – Jedox XML Connection

Happy New Year, fellow Jedox enthusiasts! In today's article, we'll be delving into an interesting use case: extracting GPS coordinates in XML format from the OpenStreetMap Nominatim API (https://nominatim.openstreetmap.org/). This adventure will involve using a constant table as a source for countries and cities, interacting with the Nominatim API to retrieve latitude and longitude data, and finally looping and storing this valuable information in the Jedox database. This type of use case is often visible when our cube contains a Geography dimension and then we would like to enhance attribute collection by additional parameters like latitude and longitude. These are very useful in case you would like to create a widget map. Something similar can be found: https://jedox4beginners.com/geocharts-visualisation-in-jedox/ Let us follow the next 4 Steps. Step 1: The Constant Table: In Jedox, we'll create a constant table containing a list of countries and cities. This table will serve as our foundation for the XML extraction process. Think of it as a map guiding us...
Read More
Mastering File Compression and Extraction in Jedox

Mastering File Compression and Extraction in Jedox

Welcome, Jedox enthusiasts! In today's tutorial, we'll dive into file compression and extraction using Jedox, specifically, the powerful FILE.unzip function. As a prerequisite, we will need to create some folders in our backend which will be used for testing purposes. Connect to your backend with some tool like WinSCP. If you don't have your credentials check the cloud console. If you do not have access to the cloud console - contact cloud support. Once you are connected create 2 folders in /etl_data/files/etl_data/files/For Zipping/etl_data/files/For Unzipping In "For Zipping" folder add Excel files 1,2,3. In the "For Unzipping" folder add two zipped files "ZippedWithoutPass" and "ZippedWithPass". The password for unzipping is in the file pass. (Download the whole project at the bottom of the page) At the same time we need to create some directory and file locations in Jedox which will be used as a path for the following scenarios: Scenario 1: Compressing a File into a Zip Folder The first scenario we'll explore is the basic compression of a...
Read More
Jedox password policy

Jedox password policy

Starting from 2022.2 version Jedox implemented password policy change. That means that users cannot have abc123 passwords. Something more sophisticated should be done. Therefor certain rules needs to be followed: at least 10 characters at least one digit at least one of the symbols !@#$%^&* at least one uppercase or lowercase letter [A-Z] [a-z] cannot contain a period or space Example: Q20J!b5ei0951 This policy can be changed if the company has different set of rules. in that case parameter password-pattern in palo.ini allows you to change the password settings concerning the password length and the password pattern/complexity. Any attempt to change the password that does not match the defined pattern will result in an error displayed in the Change Password dialog. The password pattern can be defined by the key password-pattern <regular_expression>. If the new password does not match the pattern, an error message (error code 1004) is returned. <according to KB>. if in any case you built up the ETL which automatically assign the passwords to newly created users, groovy should look something like this: def user = API.getProperty('user'); def generator = { String alphabet, int...
Read More
How to copy database via ETL

How to copy database via ETL

In this article, we will show you how to copy databases via ETL. This method does not require a service restart. All you need is a groovy script that is run in Groovy job. For this example, we will use the "Demo" database. Groovy script copyJedoxDatabase( 'Demo', 'Demo_Copy' )void copyJedoxDatabase( String jedoxConnectionSrc, String jedoxDatabaseDst ) {String jedoxDatabaseSrc = OLAP.getDatabase( jedoxConnectionSrc ).getName()String backupFilename = API.getProperty( "Demo_Copy" ) + jedoxDatabaseSrc + '.zip'// Remove backupFile if exists (e.g. from a previous run)new File( backupFilename ).delete()IDatabase db = OLAP.getDatabase( jedoxConnectionSrc )LOG.info( 'Saving database ' + jedoxDatabaseSrc + ' to ' + backupFilename )db.backup( backupFilename )IConnection conn = OLAP.getConnection( jedoxConnectionSrc )LOG.info( 'Restoring database ' + jedoxDatabaseDst + ' from ' + backupFilename )conn.addDatabase( jedoxDatabaseDst, backupFilename )boolean fileSuccessfullyDeleted = new File( backupFilename ).delete()} Once the job is run, the new database will appear in the modeler. ETL job can be downloaded from this location....
Read More
How to rename elements from Jedox ETL?

How to rename elements from Jedox ETL?

Sometimes it could happen that there is a request to rename element in modeler outside of the spreahsheet or manual. For that puspose we could use ETL and more speciefically groovy job. In following example we will show how to rename element from User dimension using groovy job. API.executeLoad("Users_Load"); LOG.info("Start renaming elements"); source = API.initSource("Users_Extract","EA",0); String oldNames = "joe"; String newNames = "Martin"; OLAP.erename("olapsystem","#_USER_",oldNames as String,newNames as String); LOG.info("Finished renaming elements"); In the graph we could see that for this action we need: Extract from dimension Connection to dimension ETL is extracting all elements and then searching for joe and replacing it with Martin. ETL project could be downloaded on this link. Other PHP APIs could be found here ....
Read More