Multilingual BI Server Lookup Table Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Business intelligence servers face challenges in supporting multilingual data, particularly in handling queries across different languages and large object types, which can lead to difficulties in filtering and aggregating data due to language barriers and unsupported database features.

Innovation Solution

Implementing a multilingual double column support system within the BI server using a lookup table and associated function that translates data based on user session language, allowing for queries to join the base table with the lookup table to yield translated values, thereby enabling language-independent filters and supporting large object types in group by queries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data columns are stored in a single language (e.g., English), then database structure is simple, but users cannot easily specify filters in their native language

Engineering Contradiction:
Improveuser ability to specify filters in native languageVSAvoiddatabase structure complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the data storage into two separate tables: a base table storing data in the original language (e.g., English) and a lookup table storing translations for multiple languages. This segmentation allows the database to maintain simple base data storage while providing multilingual support through the separate lookup table, resolving the contradiction between ease of operation and device complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a lookup table as an intermediary between the base table and the user interface. This lookup table acts as a mediator that translates between the stored language and the user's native language, enabling users to specify filters in their native language without complicating the core database structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If lookup tables are used for multilingual translations, then multilingual query support is improved, but query performance may deteriorate due to additional join operations

Engineering Contradiction:
Improvemultilingual query supportVSAvoidquery performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-translating and pre-storing all possible language translations in the lookup table during data loading. This allows the query execution to simply perform straightforward joins with pre-computed translation data, rather than performing complex real-time translations, thus maintaining query performance while achieving multilingual support.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If translations are performed by joining base table with lookup table, then accurate language translation is achieved, but administration complexity increases

Engineering Contradiction:
Improvetranslation accuracyVSAvoidadministration complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent uses copying by creating a lookup table that contains copied translation data from the base table, organized by language. This copying approach ensures translation accuracy by using the base table data as the source of truth, while simplifying administration by providing a dedicated structure for managing translations that can be maintained independently from the base data.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11100098B2Systems and methods for providing multilingual support for data used with a business intelligence server
Publication Date: 2021.08.24 ORACLE INT CORP
  • US11100098B2 patent drawing
  • US11100098B2 patent drawing
  • US11100098B2 patent drawing

AI summary

A business intelligence (BI) server is described that supports data and schemas stored in multiple languages. The BI server implements a lookup table and lookup function that allows users to work with queries in different languages. When the user logs in, a session object is created for the user, which maintains the state information. A session variable specifies the language currently being used by the user. The BI server can inspect this session variable to determine the language of the user and perform the lookup translations as necessary. For example, if the language used by the session is different from the language of the base table storing the necessary information, the BI server can perform a translation by invoking a lookup function. The execution of the lookup can include performing a join operation of the base table with the lookup table to yield a translated value requested by the query.