Qlik Sense Блог

Числовой формат данных. Число с плавающей точкой Qlik. Округление

В этой статье будет рассмотрено “Числовой формат данных. Число с плавающей точкой Qlik. Округление”

Qlik Sense Блог

QlikView и Qlik Sense используют 64-битный двоичный формат двойной точности с плавающей запятой (IEEE 754 – широко используемый стандарт IEEE, описывающий формат представления чисел с плавающей точкой) для хранения всех чисел. 

Это означает, что для хранения числа используются 64 бита:

  • один бит для знака,
  • 11 бит для показателя степени и
  • 52 бита для самого числа.

52-битное число соответствует приблизительно 15 значащим десятичным разрядам. Это означает, что Qlik Sense может хранить целые числа до 14 цифр, сохраняя при этом точность числа. Однако целые числа, содержащие более 14 цифр, будут округлены до 14 значащих цифр.

Для нецелых чисел ситуация немного отличается. Некоторые дробные числа могут храниться в точной форме, например, 0.5 и 0.25, поскольку они имеют точный двоичный аналог. Но другие не могут, например, 0.1 и 0.2, поскольку они не имеют точного двоичного аналога.

Это не ошибки ни в Qlik Sense, ни в IEEE 754. Скорее они представляют ошибки в ожидании двоичных чисел с плавающей запятой. Просто некоторые значения не могут быть точно представлены в виде двоичных чисел, поэтому получаются ошибки округления. Обойти это невозможно, кроме как сначала преобразовать число с плавающей запятой в целое число (путем умножения) (не оставляя десятичной части), а затем округлить (или усечь) целое число соответствующим образом и, наконец, преобразовать целое число обратно в число с плавающей запятой (делением).

Если в приложении необходимо получить высокую точность в вычислениях, скажем, до двух цифр после десятичной запятой, Вы можете умножить необработанные данные на 100, прежде чем они будут сохранены, как число в Qlik Sense (в скрипте загрузки данных в модель). Сохраняйте все такие числа в 100 раз больше, чем они должны быть, а затем делите их на 100 в любом вычислении при построении визуализации.

3 2 голосов
Рейтинг статьи
qliksense-expert

Recent Posts

Доступ к системным данным и переменным в Extension Qlik Sense

Введение Иногда при создании расширения Qlik Sense вам необходимо получить доступ к системным данным. Это…

3 года ago

Как собрать с помощью PowerShell информацию по всем QVD из всех директорий?

// Команда, которая будет запускаться в Powershell на сервере LET vPowershellCommand = 'Get-ChildItem -Path ''lib://Data/QVDs''…

3 года ago

Как построить диаграмму Control Chart со скользящим средним в Qlik Sense?

Как построить диаграмму Control Chart со скользящим средним в Qlik Sense? В этой статье будет…

3 года ago

Как сделать чередование цвета в строках прямой таблицы Qlik Sense?

Как сделать чередование цвета в строках прямой таблицы Qlik Sense? Если порядок строк неважен, то…

3 года ago

Как создать Qlik Sense Extension с помощью Nebula.js и React

Обзор В этой серии руководств мы собираемся создать расширение Qlik Sense с использованием Nebula.js и…

3 года ago

Создание Extension с помощью qlik nebula.js и D3.js – Tutorial

Создание расширенного расширения визуализации с использованием Qlik Nebula.js и D3.js   В моем последнем посте я рассказал…

3 года ago

This website uses cookies.