Skip to main content
Join our Live Demos, Every Thursday. Register Now

Building reports and dashboards that can deal with multiple currencies is vital for business intelligence applications that handle complex reporting requirements of the global market. Currency exchange rates fluctuate daily and can have a significant impact on financial analysis for any business.

The Currency Conversion Challenge

A leading global investment bank wanted to analyze billions of daily trades carried out in more than 200 different currencies so that it could assess its daily risk exposure more accurately. When their users tried to analyze these trades, they saw each transaction in a different currency, making it difficult to compare data or pull any useful insights. Dealing with currency conversions was challenging, as the volume of their daily transactions was very high. Conversions had to be quick as the business needed a consolidated view of their risks each day. Besides, they had to serve a variety of business users who wanted to see their data in different currencies.

Storing data in every possible currency combination or doing batch conversions to meet the needs of the business users was not a viable option, especially while handling the massive data.

They needed a solution that could handle currency conversions more effectively – a solution that worked on data at a massive scale.

Run-time conversions were the need of the hour.

How Kyvos Handles Currency Conversions

Kyvos uses its innovative OLAP technology to manage on-the-fly currency conversions on massive volumes of data stored on the cloud and on-premise data lakes. Its unique cubing technology delivers instant currency conversions, irrespective of the size of the data. Kyvos supports multiple currencies and provides users the flexibility to choose the currency in which they want to see data on their dashboards.

Understanding the Basics

Most currency conversion requirements depend upon the user’s needs and context. However, depending upon the exchange direction, currency conversion use cases can be categorized as follows:

  • One-to-many: You have one or more measure fields, for example, Sales Amount, in USD, but your BI dashboard should toggle between multiple currencies.
  • Many-to-one: Your measure fields have data in multiple currencies, but you want to standardize them to a single currency such as USD on your BI dashboard to ease comparisons.
  • Many-to-many: Measure fields have data in multiple currencies, and it needs to be converted to different currencies depending upon the user’s preference.

To describe the Kyvos solution, let’s take a simple example of the many-to-many conversion. We will use the following terminology:

  • Transaction Currency: The currency in which the actual transactions are stored.
  • Base Currency: The currency against which exchange rates are stored in the currency master table.
  • Reporting Currency: The currency to which transactions must be converted for analytics.

The daily exchange rate information is stored in a separate Currency Master table.

Below is how a typical Currency Master and Transaction table looks like:

Table Name: Currency Master Table

Date Base Currency Reporting Currency Conversion Rate
30-June-2019 USD EURO 000.8840
01-July-2019 USD EURO 000.8861
29-June-2019 USD INR 068.0825
30-June-2019 USD INR 065.9405
29-June-2019 USD JPY 119.5120
30-June-2019 USD JPY 120.0525

Figure 1: Sample Currency Master Table with conversion rates from a single base currency – USD in this case

Table Name: Transaction Table

Product Date Transaction Amount Transaction Currency
P1 29-June-2019 10 EUR
P2 30-June-2019 14 INR
P3 01-July-2019 30 EUR
P4 02-July-2019 50 INR

Figure 2: Sample Transaction Table with transactions in different currencies

Kyvos Solution

Kyvos solves the currency conversion problem by building multi-fact cubes using its innovative OLAP technology. The currency dimension behaves as a fact, and calculated measures are used for on-the-fly conversions.

Step 1: Transformation

The values in the Transaction Table need to be converted to the Base Currency before building a cube over it. For this, the Transaction Table and the Currency Master table are joined in a dataset based on Transaction Currency and Transaction Date.

Table Name: Transaction Table

Product Date Transaction Amount Transaction Currency Amount in USD
P1 29-June-2019 10 EUR 011.3882
P2 30-June-2019 14 INR 000.2030
P3 01-July-2019 30 EUR 033.8562
P4 02-July-2019 50 INR 000.7237

Figure 3: Join of Transaction Table and Currency Master Table

Step 2: Designing the schema

The next step is to create a multi-fact schema. As you can see in this example, two fact tables joined by a bridge dimension.

  • Fact 1- Transaction Table
  • Fact 2- Currency Master Table
  • The two Facts have Date as a shared dimension

Custom visualization on Big Data

Figure 4: Sample Schema
(Facts on the right and left; Dimension in the center)

Step 3: Designing the cube

The cube is designed using the following dimensions and measures:


  • Transaction Id and Transaction Currency from the Transaction Table
  • Reporting Currency from the Currency Master Table
  • Date from Date dimension


  • Conversion Rate from Currency Master table
  • Transaction Amount and Amount in USD from Transaction Table
  • Amount in Reporting Currency (Calculated Measure = Amount in USD * Conversion Rate)

Custom visualization on Big Data

Figure 5: Sample Cube Design

Calculated Measure – Amount in Reporting Currency

Figure 6: Calculated Measure – Amount in Reporting Currency

Step 4: Visualization

Once the cube is created, the business user can use any BI tool to drag dimensions into their visualizations for analysis. They can then select their filters and switch currencies on their dashboard with instant response times even for trillions of rows of data.

As seen in the image below, we have created a sample visualization with the following dimensions:

  • Transaction Id
  • Transaction Amount
  • Amount in Reporting Currency

Then, filters are applied on Date and Reporting Currency. Now, when the user changes the Reporting Currency filter from EURO to INR or vice-versa, the Transaction Amount immediately gets converted to the selected currency. This conversion happens on-the-fly and delivers instant responses even for trillions of rows of data.

Sample Visualization

Figure 7: Sample Visualization

The Kyvos Advantage and how it helps

Though the ability to handle multiple currencies is an essential feature of any modern BI solution, achieving it on massive-scale data takes the Kyvos solution to the next level. Some of the unique features of the solution are as follows:

  • On-the-fly conversions: Runtime currency conversions eliminate the need to store all combinations. Scheduled automatic incremental cube builds cater to the daily changing conversion rates.
  • Unlimited Scalability: Revolutionary technology enables currency conversions on data at a massive scale with high performance. Enables analysis in as many currencies as needed.
  • Fast responses: Leverages the compute capacity of the cloud or on-premise data lakes to process data at high speeds. Multiple servers work in parallel to deliver sub-second responses for trillions of transactions.
  • Concurrent users: Can handle thousands of concurrent users without slowdowns or any impact on performance.
  • Analytical Flexibility: Provides the users with the flexibility to choose the reporting currency on their dashboards and switch views as needed, using any visualization tool of their choice.

If you want to learn more about how we enabled seamless currency conversions for several Fortune companies and how our solution can help you, get in touch now.

Close Menu