Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
0 Kudos
Introduction :

This blog post explains how to dynamically change images based on custom use cases and requirements leveraging the ability to read custom css files in Lumira designer

Problem :

For Example, let us consider an scenario where user wants to see top sold product out of all the available products as an image for making the dashboard more interactive. We would normally approach this requirement by adding N number of  image components and controlling the visibility or having one image component and controlling the image that is being shown using an nested if statement.

This requirement can be solved using a much simpler method

Solution :

Step 1 : Getting the right data

Based on our requirement we need to know the top sold product out of 10 available products. This can be archived by using a simple rank function to obtain the Top 1 sold Product

For this example we have taken Native HANA modelling approach , The calculation view returns the Product Name and the Sold Value .Refer to the below figure showing the input data and out put data

 

Input Data :



 

Output Data :



Step 2 : Getting the Images Ready

We have collected images corresponding to each product available in the input data.

Lets Convert these images into base64 data-URIs for embedding as URLs directly into  stylesheet background-images.

It should look something like this



 

We can convert the image to base 64 using one of the many online resources available

I used https://websemantics.uk/tools/image-to-data-uri-converter/ to get the job done

Now here is the trick , Name the CSS Class of each of the images using the Product ID.

You should have 17 CSS Classes now in your custom CSS file

Step 3 :

Mapping the Image to the Data

To Represent the information I have designed a simple application with 4 text components

  • Text 1 - For Image

  • Text 2 - For Tile Title

  • Text 3 & Text 4 - Product Name and Value


The application design is shown in the below image



Now comes the coding part , The goal is archived with just a few lines of code as shown below

 



Output :



As showcased the image is dynamically set based on the top value.

 

Conclusion :

This method avoids the use of many complex case statements and helps in achieving certain requirements as stated above.Some other use cases of the above blog post is

  • Dynamically showing the Profile Photo of Top performer in a Team in a Human resources Dashboard

  • Showing a personalized profile pic corresponding to the Login user


 

 
Labels in this area