AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.06.2009, 19:32   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,941 / 3229 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от EVGL Посмотреть сообщение
Как, например, насчет того, что при коэффициенте пересчета порядка 1 E(-16) на точность начинает влиять (не лучшим образом) внутреннее представление вещественных чисел Аксапты?
Это что же вы такое считаете что такие коэффициенты лезут ???

Кстати, по поводу внутреннего представления. С появлением в X++ типа int64 мы поимели целочисленный тип, который не влезает в аксаптовский real - как-то это непривычно выглядит. Обычно привыкаешь, что целый тип заведомо должен влезать в вещественный. Может real тоже имеет смысл расширить в будущих версиях Аксапты ?

Последний раз редактировалось Logger; 16.06.2009 в 19:35.
Старый 16.06.2009, 20:42   #2  
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.
Теги
единица измерения, пересчет

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Стандартные единицы измерения Andromache DAX: Функционал 3 27.04.2011 16:40
Как сделать ед.изм . "конвертируемой"? Амангельды DAX: Функционал 14 19.01.2005 16:05
Создние PurchLine с ед. измерения типа 'Склад' NJD DAX: Программирование 0 30.06.2004 10:53
Единицы измерения Ирина Шеломицкая DAX: Функционал 1 16.02.2004 11:47
Единицы измерения... soin DAX: Функционал 12 09.10.2003 15:10
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:54.