2013-08-20 4 views
2

Я занят вырыванием своих волос с помощью этого. У меня есть куб с 1 фактом и около 9 измерений. Таблица фактов содержит около 120 тыс. Строк, поэтому она не является большой БД любыми средствами.SSAS Cube design - MDX очень медленно

Проблема заключается в том, что при использовании программного обеспечения для отчетности, которое я использую (Microstrategy), MDX, который он генерирует, захватывает все данные и использует их как источник данных (вместо генерации MDX при манипулировании отчетами). В любом случае при добавлении нескольких полей запрос быстро становится непригодным и на самом деле заканчивается память. Я подозреваю, что это имеет какое-то отношение к моему дизайну куба.

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

Я играл с атрибутами отношений в BIDS (делая отношения жесткими, где это возможно), но это, похоже, не имеет никакого значения.

Сгенерированный MDX показан ниже. У меня нет возможности настроить MDX, но я уверен, что не говорю, что отношения правильные.

Я пробовал размещать на сайте поддержки Microstrategy без лишней радости.

Любая помощь будет принята с благодарностью.

Благодаря

WITH SET AS '{[Dim Date].[Date].[Date].AllMembers}' 
... 
(all my dimensions appear here) 
... 
select {[Measures].[Total Purchases], [Measures].[New Cards Issued], [Measures].[New  Applications Received], [Measures].[New Applications Declined], [Measures].[New  Applications Approved], [Measures].[New Accounts Activated]} on columns, 
non empty CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(C ROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN(CROSSJOIN([dim0_select_members], [dim1_select_members]), [dim2_select_members]), [dim3_select_members]), [dim4_select_members]), [dim5_select_members]), [dim6_select_members]), [dim7_select_members]), [dim8_select_members]), [dim9_select_members]), [dim10_select_members]), [dim11_select_members]), [dim12_select_members]), [dim13_select_members]), [dim14_select_members]), [dim15_select_members]), [dim16_select_members]), [dim17_select_members]) on rows 
from [Cards_Transactions] 
+0

Означает ли это, что запрос, выданный Microstrategy, содержит все меры и все атрибуты в кубе, независимо от запроса, который пользователь выдает? BTW: Analysis Services использует 'autoexists' в одном измерении. Это означает, что в одном измерении «CrossProduct» делает только доставку строк, в которых существует комбинация. Это не зависит от отношений, которые вы определяете. – FrankPl

+0

Имеют ли атрибуты отношения родитель-потомок? Я использовал кубик SSAS в MicroStrategy в прошлом без особых проблем. – TheMacroGuru

ответ

2

это будет хорошо, если вы можете уточнить ваши потребности.

Это для конечных пользователей или разработчиков? Вы хотите разрешить пользователям выполнять самообслуживание на кубе mdx? Должны ли данные, которые они запрашивают, жить (обновляется до настоящего времени), или они могут быть обновлены до предыдущего часа \ дня ...?

есть 2 способа подключения к источникам MDX в MSTR.

В одну сторону - прямое соединение через интерфейс данных импорта.

с таким путем - mstr генерирует запросы mdx в соответствии с вашими выборами на лету. поэтому важно использовать некоторые фильтры, прежде чем перетаскивать некоторые атрибуты на экран в Visual Insight.

второй вариант - connect MSTR to the MDX cube at the schema level. он считывает определение куба и создает атрибуты и показатели, как они существуют в вашем кубе. он также позволяет сопоставлять атрибут MDX с атрибутом проекта для обеспечения защиты фильтров безопасности. таким образом вы можете создавать регулярные отчеты (вы также можете использовать подсказки и фильтры ...), и вы можете создавать i-кубы из куба mdx.

вы можете найти второй вариант, подходящий для ваших нужд.

Поскольку ваш куб MDX очень мал, я предлагаю вам создать инкрементный отчет об обновлении i-cube + для его обновления (например, обновление каждые 5 минут с сегодняшними данными).

Смежные вопросы