Как получить местоположение строки в dbo.CUSTTRANS? - PullRequest
0 голосов
/ 07 декабря 2018

Я строю небольшой магазин AR для клиента, который использует Dynamics AX (2012).Данные с рынка будут поступать в отчет Power BI.Я почти ничего не знаю об AX.

В таблице dbo.CUSTTRANS есть столбец с именем DEFAULTDIMENSION.Клиент сказал мне, что это значение можно использовать для получения описания местоположения для строки транзакции, используя следующий запрос:

SELECT 
    T.DEFAULTDIMENSION
    ,T3.Name AS Location
FROM dbo.CUSTTRANS T
    INNER JOIN dbo.DEFAULTDIMENSIONVIEW T2 ON T2.DEFAULTDIMENSION = T.DEFAULTDIMENSION
    INNER JOIN dbo.DIMATTRIBUTEOMBUSINESSUNIT T3 ON T3.RECID = T2.ENTITYINSTANCE
WHERE T.DEFAULTDIMENSION = 5637168346

Однако для некоторых значений DEFAULTDIMENSION, таких как приведенное выше,несколько строк возвращаются с разными описаниями.Мой запрос неверен?Или их данные плохие?Кстати, я бы спросил клиента, но человек, который знал бы это, не будет доступен до следующей недели.

1 Ответ

0 голосов
/ 09 декабря 2018

Я думаю, что запрос неправильный.

Поле DefaultDimension в таблице CustTrans (как и другие) используется для хранения ссылки на набор финансовых измерений и их значений (этодовольно сложная структура данных и логика, поэтому я не буду вдаваться в подробности, но Внедрение системы учета и финансовых измерений (Белая книга) может послужить отправной точкой для дальнейших исследований).

Кажется, ваш клиент интерпретирует финансовое измерение бизнес-единицы как "местоположение" и хочет, чтобы вы сообщали значение этого финансового измерения.Обратите внимание, что термин «местоположение» обычно связан с измерениями запасов в Dynamics AX, а не с финансовыми измерениями.

При фильтрации T.DEFAULTDIMENSION = 5637168346 вы выбираете все записи CustTrans, которые имеют одинаковый набор финансовых измерений.и значения.

При присоединении к dbo.DimAttributeOMBusinessUnit каждое финансовое измерение в этом наборе считается финансовым измерением бизнес-единицы.

Для DefaultDimension значений, которые ссылаются на набор финансовых измерений, которые толькосостоит из измерения бизнес-единицы, запрос будет возвращать только одно (правильное) значение.Но для DefaultDimension значений, которые ссылаются на набор с несколькими измерениями, запрос интерпретирует каждое измерение как измерение бизнес-единицы, что приводит к неверным результатам.

Если мое предыдущее предположение верно, что ваш клиент хочет сообщить только значенияизмерение бизнес-единицы, вам нужно добавить дополнительный запрос к запросу.Это отфильтровывает dbo.DefaultDimensionView.BackingEntityType к значению, которое будет соответствовать идентификатору таблицы в таблице dbo.DimAttributeOMBusinessUnit.

Я хотел бы добавить, что AX уже поставляется с витриной данных для целей BI и содержит несколько кубов BIиз коробки, в том числе один для AR.Management Reporter - еще одно решение, которое можно использовать для составления отчетов о финансовых данных и измерениях.Специально созданная витрина данных может не подходить здесь.

...