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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.05.2020, 11:55   #421  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,465 / 2579 (94) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
> Добавил вычислимое поле внутрь filteredinventsum

На последних скриншотах оно не внутри
__________________
blog | twitter
Старый 22.05.2020, 14:42   #422  
soad is offline
soad
Участник
 
27 / 16 (1) ++
Регистрация: 24.07.2008
Цитата:
Сообщение от belugin Посмотреть сообщение
> Добавил вычислимое поле внутрь filteredinventsum

На последних скриншотах оно не внутри
Вроде так и сделал, добавлял внутрь. Только в этой модели поле, где идет выборка inventSum – $FiltredIS4 (в отличие от первого моего сообщения, в той модели оно назвалось filteredinventsum).
Нажмите на изображение для увеличения
Название: Вычисляемые поля2.png
Просмотров: 5
Размер:	138.5 Кб
ID:	12824

На скрине:
$FiltredIS4 – вычисляемое поле, в котором идет выборка InventSum. Сам источник InvenrSum добавлен в корень.
$FiltredInventTrans – вычисляемое поле, добавленное в $FiltredIS4. В данном поле фильтруется InventTrans, который добавлен в корень. Добавлял так, установил курсор на поле $FiltredIS4 и нажал «Добавить». Имелся в виду какой-то другой вариант добавления внутрь $FiltredIS4?
$GrInventTrans – группировка $FiltredInventTrans по физ. дате с типом агрегирования «Максимум». Данная группировка тоже добавлялась установкой курсора на поле $FiltredIS4 и нажатием кнопки «Добавить».
Надо было где-то иначе сделать?
Старый 22.05.2020, 20:39   #423  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,465 / 2579 (94) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Хотелось бы тогда узнать, что именно не получается
__________________
blog | twitter
Старый 23.05.2020, 13:53   #424  
soad is offline
soad
Участник
 
27 / 16 (1) ++
Регистрация: 24.07.2008
Цитата:
Сообщение от belugin Посмотреть сообщение
Хотелось бы тогда узнать, что именно не получается
Поясню на другом примере, т.к. в нем проблема аналогичная, но структура данных проще и нет лишних, экспериментальных переменных.

Задача: Для необходимого перечня складских ячеек определить дату последней инвентаризации особого типа. Эта дата для ячейки должна определяться по строке складской работы, для которой:
  • Ячейка в строке работы равна искомой ячейке
  • Тип = «Инвентаризация»
  • Имеет максимальную дату в поле «Закрытая работа» строки работы (WHSWorkLine.WorkClosedUTCDateTime)
  • + доп. условия по некоторым полям шапки складской работы.


Сама дата должна браться из поля «Закрытая работа» строки работы (WHSWorkLine.WorkClosedUTCDateTime).

Идея реализации на ER:
Основные источники данных:
  • Таблица WMSLocation, добавлена в корень источников данных
  • Таблица WHSWorkLine, добавлена в корень источников данных

Вычисляемые поля и группировки:
  • Поле $FiltredWMSLocation – отбор нужных ячеек из таблицы WMSLocation, добавлена в корень источников данных. Работает так, как я ожидаю.
  • Поле $FiltredWMSWorkLinePlan – отбор нужных строк работ инвентаризации, по ячейке из $FiltredWMSLocation. Добавлено внутрь $FiltredWMSLocation. Работает так, как я ожидаю.
  • Группировка $LastPlanInventory – группировка строк работы с агрегацией по WHSWorkLine.WorkClosedUTCDateTime, с типом «Максимум», без полей для группировки. Добавлено внутрь $FiltredWMSWorkLinePlan. Работает не так, как я ожидаю – вместо максимальной даты из строк отобранных работ выдает пустую дату (1899-12-31T16:00:00-08:00). В этом основной вопрос, почему здесь получается пустая дата, что я делаю не так?

Узел (WMSWorkLine1:Список записей) был добавлен в модель, чтобы проконтролировать правильность отбора строк работы в $FiltredWMSWorkLinePlan. В XML видно, что работы отбираются корректно. По ячейке BULK-001 в принципе вопроса нет, там отобранные строки еще не в статусе «Закрыто», поэтому даты пустые и в группировке тоже должно быть пусто. Но вот по ячейке FL-004 результат непонятен, видно что отобралось две строки работы, по одной из них дата заполнена и соответственно именно она и должна была определиться группировкой и попасть в тег LastDayInventory в XML, но там почему-то пустая дата

Скрины:
Обзор источников данных:
Нажмите на изображение для увеличения
Название: Обзор источников данных.png
Просмотров: 11
Размер:	75.2 Кб
ID:	12826

Вычисляемые поля и Группировки:
Нажмите на изображение для увеличения
Название: Вычисляемые поля и Группировки.png
Просмотров: 14
Размер:	94.6 Кб
ID:	12827

Детали группировки:
Нажмите на изображение для увеличения
Название: Детали группировки.png
Просмотров: 12
Размер:	79.0 Кб
ID:	12828

Сопоставление модели и источников данных:
Нажмите на изображение для увеличения
Название: Сопоставление модели и источников данных.png
Просмотров: 12
Размер:	212.7 Кб
ID:	12829

Отбор данных в модель по ячейкам FL-004 и BULK-001:
Нажмите на изображение для увеличения
Название: Отбор данных в модель по ячейкам FL-004 и BULK-001.png
Просмотров: 9
Размер:	129.9 Кб
ID:	12830
Старый 23.05.2020, 13:59   #425  
soad is offline
soad
Участник
 
27 / 16 (1) ++
Регистрация: 24.07.2008
Есть еще один вопрос по входным параметрам. Как-то можно организовать входные параметры так, чтобы одно поле было зависимо от другого?
Например, в диалоге должно быть два поля: Склад и ячейка. При этом если выбран склад, то в поле «Ячейка» должны быть доступны для выбора только те ячейки, которые относятся к этому складу. Но если склад не выбран, то отчет строится по всем складам и всем ячейкам.
Старый 24.05.2020, 20:13   #426  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,465 / 2579 (94) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от soad Посмотреть сообщение
Поясню на другом примере, т.к. в нем проблема аналогичная, но структура данных проще и нет лишних, экспериментальных переменных.
Я вижу, что группировка помещена внутрь того, что она группирует. Если что-то находится внутри какого-то списка, то все ссылки на уровень этого списка и ниже выбирают записи относительно текущего элемента этого списка. Т.е. в данном вычисляется максимум одной текущей записи списка.

Цитата:
Сообщение от soad Посмотреть сообщение
Есть еще один вопрос по входным параметрам. Как-то можно организовать входные параметры так, чтобы одно поле было зависимо от другого?
Такое можно организовать только кодом - строя весь интерфейс в X++ и передавая параметры из него в отчет.
__________________
blog | twitter
Старый 25.05.2020, 08:28   #427  
soad is offline
soad
Участник
 
27 / 16 (1) ++
Регистрация: 24.07.2008
Цитата:
Сообщение от belugin Посмотреть сообщение
Я вижу, что группировка помещена внутрь того, что она группирует. Если что-то находится внутри какого-то списка, то все ссылки на уровень этого списка и ниже выбирают записи относительно текущего элемента этого списка. Т.е. в данном вычисляется максимум одной текущей записи списка.
Можете подсказать на какой уровень иерархии источников данных будет правильно добавить группировку?
Добавил в модель узел WMSWorkLineGrouped в нем строки отобранных работ из $FiltredWMSWorkLinePlan группируются по ячейке из строк работы, и агрегируются по дате закрытия строки, чтобы контролировать что именно попадает в группировку.

Попробовал два варианта, оба не дали нужного результата.

Вариант А – Группировка $LastPlanInventory3 добавлена в корень источников данных.
Нажмите на изображение для увеличения
Название: Группировка в корне.png
Просмотров: 7
Размер:	200.3 Кб
ID:	12832

В результате выполнения XML видно, что это неправильный вариант, т.к. ячейка в $FiltredWMSWorkLinePlan не совпадает с тем, что есть в результатах группировки. Получается, что на вход группировки подается явно не тот набор записей.

Нажмите на изображение для увеличения
Название: XML Группировка в корне.png
Просмотров: 7
Размер:	127.9 Кб
ID:	12833


Вариант Б - Группировка $LastPlanInventory2 добавлена как дочерний элемент $FiltredWMSLocation, т.е. находится на одном уровне с $FiltredWMSWorkLinePlan, которое отбирает группируемые строки работ.
Нажмите на изображение для увеличения
Название: Группировка на одном уровне с $FiltredWMSWorkLinePlan.png
Просмотров: 11
Размер:	198.6 Кб
ID:	12834

Думал что это вариант, будет верным, но он тоже дает не тот результат. Ячейка в $FiltredWMSWorkLinePlan и $LastPlanInventory2 совпадает, но результат группировки даты в $LastPlanInventory2 – опять пустой ((
Нажмите на изображение для увеличения
Название: XML Группировка на одном уровне с $FiltredWMSWorkLinePlan.png
Просмотров: 4
Размер:	108.5 Кб
ID:	12835

Проблема в том, что группировка должна быть добавлена на какой-то другой уровень иерархии источников данных?
Старый 25.05.2020, 21:38   #428  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,465 / 2579 (94) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Второй вариант похож на правду. Попробуйте добавить вывод самих дат уровнем ниже (из Lines) чтобы понять по каким строкам собирается группа
__________________
blog | twitter
Старый 26.05.2020, 08:23   #429  
soad is offline
soad
Участник
 
27 / 16 (1) ++
Регистрация: 24.07.2008
Цитата:
Сообщение от belugin Посмотреть сообщение
Второй вариант похож на правду. Попробуйте добавить вывод самих дат уровнем ниже (из Lines) чтобы понять по каким строкам собирается группа
Вот так?
Нажмите на изображение для увеличения
Название: Сопоставление модели, lines.png
Просмотров: 8
Размер:	169.0 Кб
ID:	12836

При выполнении сопоставления видно, что в группировку берутся нужные строки, но в сгруппированная дата при этом - пустая.
Нажмите на изображение для увеличения
Название: XML Сопоставление модели, lines.png
Просмотров: 6
Размер:	100.8 Кб
ID:	12838
За это сообщение автора поблагодарили: belugin (5).
Старый 26.05.2020, 13:09   #430  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,465 / 2579 (94) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Похоже на ошибку в вычслении максимума даты и время.
Можно попробовать сделать минимальный пример на максимум, где в исходных данных будет nullDateTime и сравнить меняется ли результат от переключение места выполнения SQL | Память на группировке.

Если меняется, то зарегистрировать багу.

В качестве воркэраунда можно попробовать вычистить все вычислимые поля под списком который берет группировка и заставить её выполняться на SQL.
__________________
blog | twitter
Теги
generic electronic reporting, ger

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ievgensaxblog: MSDyn365FO. How to Import CSV file using Electronic Reporting. Part 2 – Format. Blog bot DAX Blogs 0 06.02.2019 07:12
ievgensaxblog: MSDyn365FO. How to Import CSV file using Electronic Reporting. Part 1 – Data Model. Blog bot DAX Blogs 0 06.02.2019 07:12
erconsult: Electronic Reporting (ER) Cookbook 2: new tips from the kitchen Blog bot DAX Blogs 0 06.08.2018 17:11
powerobjects: Electronic Reporting in Dynamics 365 for Finance and Operations Blog bot DAX Blogs 0 14.02.2018 03:28
erconsult: Electronic Reporting (ER) Cookbook Blog bot DAX Blogs 24 09.10.2017 08:47
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:32.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.