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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.10.2017, 08:06   #1  
vizir is offline
vizir
Участник
 
43 / 10 (1) +
Регистрация: 08.09.2017
Post OLAP Кубы, общее представление о кубах и немного конкретных вопросов
Приветствую.

Суть проблемы:
Не достаточное понимание OLAP кубов, в контексте аксапты 2012 и VS 2013. Из-за этого возникает множество различных вопросов, ответы на которые не найти в мануалах, где показываются основы и стандартные/простейшие кубы.

Задача:
Модифицировать уже имеющийся рабочий куб(проект в VS2013).


Проект куба создавался в VS, но использует представления и таблицы из аксапты. У меня получилось добавить несколько мер(если это так называется), потому что они уже имелись в представлении, но не получилось модифицировать представление в аксапте, чтобы создать свою собственную меру.

Пока что, основные вопросы таковы:
1. Мера - это по сути поле таблицы или представления. Если оно есть, то и фильтровать в кубе его возможно. Так ли это?

2. "Представление источников данных" в проекте VS. Что оно из себя представляет? Как я понял, оно может генериться само средствами VS на основании представлений и таблиц из аксапты, но, в том проекте что у меня, присутствует множество представлений(view), которых в аксапте (и соответственно в SQL сервере) нет. Очевидно их создали в VS, но я не могу понять зачем. В каких случаях требуется создавать дополнительные представления данных в проекте, а не в аксапте?

3. Связи между table и view в "представлении источников данных". Для чего они нужны? Что они из себя представляют? (В ER диаграмме связи показывают отношения между таблицами, но тут ведь они не просто для вида?)
Старый 27.10.2017, 12:40   #2  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Лучше, чем написано в справке от Microsoft у меня не получится

Общие сведения о кубах OLAP


Однако для определенности, все-таки уточню

Цитата:
Сообщение от vizir Посмотреть сообщение
1. Мера - это по сути поле таблицы или представления. Если оно есть, то и фильтровать в кубе его возможно. Так ли это?
Как правило. Но это может быть и функция. И не обязательно по полю. Это могут быть некие статистические функции по количеству записей, например.

Цитата:
Сообщение от vizir Посмотреть сообщение
2. "Представление источников данных" в проекте VS. Что оно из себя представляет?
Здесь название полностью отражает суть. Это именно "представление" (отображение) всех источников данных и связей между ними. Точнее, в каком именно виде исходные данные представлены внутри куба OALP. С чем именно происходит работа внутри куба.

Цитата:
Сообщение от vizir Посмотреть сообщение
В каких случаях требуется создавать дополнительные представления данных в проекте, а не в аксапте?
В тех случаях, когда в Axapta эти представления не нужны Т.е. это некие дополнительные выборки необходимые только и исключительно для данного куба OLAP

Цитата:
Сообщение от vizir Посмотреть сообщение
3. Связи между table и view в "представлении источников данных". Для чего они нужны? Что они из себя представляют? (В ER диаграмме связи показывают отношения между таблицами, но тут ведь они не просто для вида?)
В первую очередь с той же целью. Показать по каким правилам (по каким полям) следует связывать источники данных между собой. Не отображают, а определяют! Ведь источник данных могут быть созданы и внутри куба. И связи между источниками могут быть не стандартными.

Дополнительным "бонусом" являются свойства связей, которые определяют некие дополнительные критерии вычисления/отображения "мер" при тех или иных типах связей.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: mazzy (2), vizir (1).
Старый 27.10.2017, 15:52   #3  
BIDeveloper is offline
BIDeveloper
Участник
 
26 / 11 (1) +
Регистрация: 27.11.2016
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
В первую очередь с той же целью. Показать по каким правилам (по каким полям) следует связывать источники данных между собой. Не отображают, а определяют! Ведь источник данных могут быть созданы и внутри куба. И связи между источниками могут быть не стандартными.

Дополнительным "бонусом" являются свойства связей, которые определяют некие дополнительные критерии вычисления/отображения "мер" при тех или иных типах связей.
Еще связи используются:
1. При добавлении измерений в куб происходит автоматическая привязка по полям из связи.
2. В измерении можно выбирать атрибуты не только из основной таблицы измерения, но и из связанных с ней.
Старый 27.10.2017, 16:05   #4  
BIDeveloper is offline
BIDeveloper
Участник
 
26 / 11 (1) +
Регистрация: 27.11.2016
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
В тех случаях, когда в Axapta эти представления не нужны Т.е. это некие дополнительные выборки необходимые только и исключительно для данного куба OLAP
Например, есть технические представления для enum-ов. В Аксапте значения enum хранятся в виде целых чисел. Но пользователю удобнее видеть статус заказа не как число 2, а как "Оприходован". Поэтому на каждый enum создается представление с парой полей ключ - значение.
Кроме того, вычислимые поля делать в Аксапте очень неудобно. Их гораздо проще написать уже в проекте.
Старый 08.11.2017, 12:21   #5  
vizir is offline
vizir
Участник
 
43 / 10 (1) +
Регистрация: 08.09.2017
Спасибо всем за ответы. Теперь немного понятнее стало

Но теперь при создании меры, значение из представления в аксапте почему то умножается на число, которое я нигде не могу найти. То есть я создал дополнительное расчетное тестовое поле в представлении, в аксапте представление открывается и выводится верно, а если открывать через куб, то значение поля умножается на некое число. В чем может быть дело?
Старый 08.11.2017, 12:58   #6  
twilight is offline
twilight
MCTS
MCBMSS
 
874 / 237 (9) ++++++
Регистрация: 17.10.2004
Адрес: Королёв
На целое число? Например, как вариант, если у вас данные в нескольких компаниях, а куб вы открываете без фильтра по компании.
__________________
I could tell you, but then I would have to bill you.
За это сообщение автора поблагодарили: vizir (1).
Старый 08.11.2017, 13:10   #7  
vizir is offline
vizir
Участник
 
43 / 10 (1) +
Регистрация: 08.09.2017
Цитата:
На целое число?
Да, на целое. Но другие поля не множатся.
Старый 08.11.2017, 13:16   #8  
vizir is offline
vizir
Участник
 
43 / 10 (1) +
Регистрация: 08.09.2017
Да, спасибо! Фильтр по месяцам не был выставлен, сразу за 4 месяца считалось
Старый 13.11.2017, 13:14   #9  
vizir is offline
vizir
Участник
 
43 / 10 (1) +
Регистрация: 08.09.2017
Цитата:
на каждый enum создается представление с парой полей ключ - значение
Создал представление в проекте, связал два представления по полям, но вместо чисел значения так и не появились. Что ещё требуется сделать, чтобы выводились значения enum'ов вместо цифр?
Старый 20.11.2017, 13:51   #10  
twilight is offline
twilight
MCTS
MCBMSS
 
874 / 237 (9) ++++++
Регистрация: 17.10.2004
Адрес: Королёв
В измерении в атрибуте указать использование значение этого enum. Вообще для начала лучше пройдите стандартный туториал от Майкрософт по кубам, там все основные шаги и понятия хорошо описаны.
__________________
I could tell you, but then I would have to bill you.
Старый 28.02.2018, 15:22   #11  
vizir is offline
vizir
Участник
 
43 / 10 (1) +
Регистрация: 08.09.2017
Вычисления (не знаю точно как называется) в кубе не подсчитываются в поле ИТОГ в экселе. Я так понимаю, что в поле итог должна быть сумма всех значений этого столбца, но если столбец состоит из этих вычислений, то формула применяется и к итоговому полю. Как сделать, чтобы итог выводился правильный? Или что гуглить?

п.с. вычисление делит одно измерение на другое. это расчетное поле, но по нему тоже нужно выводить итог.
Старый 28.02.2018, 15:50   #12  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
По хорошему в самом вычислении нужно прописать условие: если мы на нижнем уровне измерений - то считаем по формуле, если нет - то суммируем значения вычисления всех потомков.
__________________
Ivanhoe as is..
Старый 28.02.2018, 17:30   #13  
twilight is offline
twilight
MCTS
MCBMSS
 
874 / 237 (9) ++++++
Регистрация: 17.10.2004
Адрес: Королёв
Один метод правильно написал Ivanhoe.
Второй метод - создаем фиктивную меру в группе мер (по полю, которое всегда 0).
В вычислениях в кубе задаем формулу для этой фиктивной меры на нижнем уровне измерений (читайте про Scope). На верхнем уровне она будет агрегироваться сама.
__________________
I could tell you, but then I would have to bill you.
Старый 01.03.2018, 10:11   #14  
vizir is offline
vizir
Участник
 
43 / 10 (1) +
Регистрация: 08.09.2017
А как узнать что мы на нижнем уровне измерений? По какому признаку?

Пробовал создавать меру, и скоп пробовал использовать, пока никаких результатов. Только нули выводятся.
Старый 01.03.2018, 11:44   #15  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Как-то так: https://docs.microsoft.com/ru-ru/sql/mdx/isleaf-mdx
__________________
Ivanhoe as is..
Старый 01.03.2018, 15:15   #16  
vizir is offline
vizir
Участник
 
43 / 10 (1) +
Регистрация: 08.09.2017
Теперь итог по нижнемуц уровню считается нормально, а Общий итог по всем нижним уровням снова кривой. Как его отловить?
Старый 01.03.2018, 15:25   #17  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Напишите тут код измерения
__________________
Ivanhoe as is..
Старый 02.03.2018, 07:52   #18  
vizir is offline
vizir
Участник
 
43 / 10 (1) +
Регистрация: 08.09.2017
SCOPE ([Measures].[Недогруз Тест Шт], [Номенклатура].[Код номенклатуры].members);

this = case when [Номенклатура].[Код номенклатуры].currentmember.level.ordinal>0 then

IIF(IsEmpty([Measures].[Факт Отгрузка шт]) AND IsEmpty([Measures].[Факт Заявка шт]), NULL,
(IIF(IsEmpty([Measures].[Факт Отгрузка шт]), 0 - [Measures].[Факт Заявка шт],
(IIF(IsEmpty([Measures].[Факт Заявка шт]), 0,
(IIF((([Measures].[Факт Отгрузка шт] - [Measures].[Факт Заявка шт]) < 0),([Measures].[Факт Отгрузка шт] - [Measures].[Факт Заявка шт]), 0 )))))))
else
aggregate([Номенклатура].[Код номенклатуры].members)

end
;
END SCOPE;


Общий итог считается по другому измерению - коду клиента. В нем на текущий момент вот этим скриптом считается итог по измерению номенклатур. А как одновременно считать итог и по другому измерению с учетом этого - никак не допру.
Старый 02.03.2018, 10:04   #19  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Так тут явно есть анализ Номенклатуры, а где анализ остальных Dimensions? По идее нужно проверять isLeaf() на полном срезе.
__________________
Ivanhoe as is..
Теги
cube, olap, vs2013, куб, кубы

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
OLAP кубы в AX2009 не процесятся egorych DAX: Администрирование 2 20.06.2016 17:27
Почему не могут зайти пользователи Excel 2003 на OLAP 2005? mazzy DAX: Администрирование 4 30.08.2007 10:35
[OLAP] - на основании чего строить кубы Андре DAX: Программирование 12 09.08.2004 11:12
Еще пара вопросов по OLAP Katrin DAX: Функционал 5 10.06.2004 14:47
Опять про OLAP и Enum mit DAX: Программирование 6 05.04.2004 11:06

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

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

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