Показать сообщение отдельно
Старый 16.06.2009, 20:42   #17  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от Logger Посмотреть сообщение
Это что же вы такое считаете что такие коэффициенты лезут ???
Достаточно того, чтобы коэффициент был периодической дробью и расчет шел, скажем, из километров в граммы и сразу же обратно.

Вот мои изыскания 3-х летней давности:

Цитата:
Axapta speichert alle numerische Daten in Feldern vom Typ „,numeric(28, 12)“ in der SQL-Datenbank. D.h. eine Zahl kann nur mit maximal 12 Nachkommastellen gespeichert werden. Die interne Darstellung von Axapta erlaubt angeblich 16 Dezimalstellen jeglicher Art.

Vorschlag: ein globaler Parameter (Multiplikator) im DAX, so dass alle Faktoren in der Form
Faktor * Multiplikator gespeichert werden können. (Natürlich lassen sich alle Umrechnungsfaktoren automatisiert neu aufbauen.)

Beispiel:
30 000 m = 1 Rolle
Faktor (Axapta) = 0,000033333333|3333333
Multiplikator = 1000000
Faktor (gespeichert) = 3,333333333333
Прошу прощения за автоматизированный перевод, лень мозги напрягать:
Цитата:
Axapta сохраняет все данные в числовых полей типа "numeric(28, 12)" в базе данных SQL. То есть ряд можно только до 12 десятичных знаков хранятся. Внутреннее представление Axapta якобы позволили 16 десятичных знаков в какой бы то ни было

Предложение: глобальный параметр (множитель) в DAX, с тем, что все факторы, в виде
* Множителя может быть сохранен. (Конечно, все коэффициенты автоматизированной восстановить.)

Пример:
30 000 м = 1 рулон
Фактор (Axapta) = 0,000033333333|3333333
Multiplier = 1000000
Фактор (хранится) = 3,333333333333
Ок, я уже сам забыл: речь идет даже не о 16, а о том, что из 16 как минимум 4 знака на SQL съедаются сразу. Итоговая точность может быть и того меньше в зависимости от исходных данных (см. пример выше - от периодической дроби осталось только 8 значащих мест в мантиссе).

Проверил в 2009 - все то же самое: numeric(28, 12).

См. также Real Data Type - No of decimals

Последний раз редактировалось EVGL; 16.06.2009 в 21:10.