Цитата:
Сообщение от
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