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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.05.2020, 20:39   #1  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Хотелось бы тогда узнать, что именно не получается
Старый 23.05.2020, 13:53   #2  
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
Просмотров: 76
Размер:	75.2 Кб
ID:	12826

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

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

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

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

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

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

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

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

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


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

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

Проблема в том, что группировка должна быть добавлена на какой-то другой уровень иерархии источников данных?
Теги
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, время: 21:19.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.