|
|
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
Доброго дня всем. В кубе имеется измерение, построенное на таблице, насчитывающей примерно 50 млн записей. Каждая запись имеет уникальный ключ - X (единственный столбец) На таблице построен уникальный индекс по ключу X Измерение в кубе имеет два атрибута из этой таблице. Ключом измерения является значение X, по которому происходит связка с таблицей фактов. Куб используется посредством Excel, где пользователи хотят в качестве фильтра использовать атрибуты этого измерения. Поиск по конкретному значения любого из атрибута длится ооочень долго - не менее 10 минут. Вопрос: как ускорить поиск по значению атрибута? Индекс по столбцу атрибута маловероятен, так как админ БД не я. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2018, 16:22 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
IlyamI, PK на DWH измерении скорее всего и так проиндексирован (тем более для некоторых вариантов это влияет только на процессинг). Остальное зависит от... Проблема скорости на клиенте или на сервере? SSAS: редакция/версия/RAM/CPU/кол-во пользователей и что там ещё крутится. OLAP База: Модель/режим{Tab~MD}/расчётные меры Запрос: С мерами или без. Вообще неплохо-бы сам запрос на сервер перехватить и показать (выполнить на серьёзной машине и на обычном клиенте). Так что лучше всего смотреть где с выбранным типом запроса по ресурсам затык (perf-monitor) и от туда начинать копать решение - скорее всего CPU/RAM, но для SSAS:MD/ROLAP {для MOLAP измерений всё равно всё в памяти, к тому-же ключ и так проиндексирован} может быть от проблем на стороне DWH до настроек измерения (оптимизации параметров, типов данных и пр.) и т.д. В общем при такой постановке вопроса возможен целый горизонт возможных проблем объясняющих почему так происходит и соответственно множество часто совсем разных подходов/сценариев по их решениям. Универсальное решение: нарастить мощности железа раз в 10 (скорость дисков, производительность ядер CPU, обьём памяти) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2018, 16:58 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2018, 17:02 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
IlyamI, Поищите по форуму, вроде бы я уже ранее писал. В измерении "Клиенты" было ~ 59 млн. записей. Строим натуральные обычные иерархии, в котором соотношения между уровнями должны быть большими (порядок соотношения). Поиск (по вхождению или точном совпадению) по атрибуту не дождаться пока отработает. А вот если в область фильтров сводной таблицы Excel бросить атрибут и по нему выставить фильтр грубой отсечки, а в область строк - иерархию, то Drill Down работает нормально, Некоторая задержка наблюдалась << 1 минуты на последнем детальном уровне, не уникальных Ивановых (уж больно их много в РФ), для других ФИО - без задержек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2018, 17:09 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
Voyager_lan, "OLAP PivotTable Extensions" не помогал, проверял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2018, 17:09 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
vikkiv, Вот, какой запрос формируется, когда просто атрибут в фильтр кинуть, без каких-либо мер WITH MEMBER [Measures].cChildren As 'AddCalculatedMembers([Измерение].[Измерение Number].currentmember.children).count' Set FilteredMembers As 'Head (Filter(AddCalculatedMembers([Измерение].[Измерение Number].[Измерение Number].Members), InStr(1, [Измерение].[Измерение Number].currentmember.member_caption, "номер интересующего клиента")>0),10001)' Select {[Measures].cChildren} on ROWS, Hierarchize(Generate(FilteredMembers, Ascendants([Измерение].[Измерение Number].currentmember))) DIMENSION PROPERTIES PARENT_UNIQUE_NAME, MEMBER_TYPE ON COLUMNS FROM [cube] Железо нормальное, этим кубом пока никто не пользуется SSAS 2016 MD MOLAP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2018, 17:16 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
IlyamI, ну так остальные вопросы как?, мало ведь конкретных ответов. по тому что удалось выжать: индексирование SQL DB не поможет, всё хранится в SSAS как по скорости на прямую на сервере запрос отрабатывает? (это по идее не должно кэшироваться, поэтому чистить не обязательно) есть-ли существенная разница с Код: sql 1. или Код: sql 1. или Код: sql 1. если разницы никакой - то смотрим и решаем проблему с измерением поглядывая на ресурсы, в. т.ч. по методам оптимизации измерений на которые указывалось другими выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2018, 18:15 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
vikkiv, к сожалению, время выполнения каждого из трех запросов в пределах погрешности с первоначальным (((((. завтра буду смотреть по ресурсам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2018, 18:44 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
IlyamI, предположим, что количество уникальных значений у двух других атрибутов значительно (на порядки) меньше чем всего записей в таблице, тогда - делаем эти атрибуты отдельными измерениями со своими суррогатными ключами (предположим dimA и dimB). ключ X разбиваем на составляющие, например если числовой, то ZZZYYYXXX на ZZZ YYY и XXX, создаем измерение из 1000 членов dimD и тиражируем его в куб 3 раза (role playing), само первоначальное измерение используем как таблицу фактов, а саму фактовую таблу вяжем с измерениями А и Б через m2m. получаем: tblFacttblDim50dimAm2m-> tblDim50keyAdimBm2m -> tblDim50keyBdimD(ZZZ)keyZZZkeyZZZdimD(YYY)keyYYYkeyYYYdimD(XXX)keyXXXkeyXXX не удобно, но быыыыыыыыстро... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2018, 18:49 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
ShIgor, К сожалению, каждая запись в таблице уникальна само по себе. И те два атрибута, по которым производится фильтр, тоже уникальны, повторяющихся значений нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 10:15 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
IlyamI, а через вставку среза не пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 11:08 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
ShIgor, поясните, пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 11:49 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
IlyamI, Excel, лента Работа со сводными таблицами, Анализ, элемент Вставить срез. Или поиском по сети "Как вставить срезы в сводные таблицы Microsoft Excel" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 13:07 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
ShIgor, сначала я не понял, ЧТО именно Вы предлагаете. )))))))))) Срезы в Excel умеем встраивать. но..... профайлер отловил запросы к кубу, где все миллионы записей бьются на группы по 1000 шт. листать срез нереально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2018, 13:32 |
|
||
|
SSAS + Excel поиск по атрибуту очень большого измерения
|
|||
|---|---|---|---|
|
#18+
IlyamI, Excel ищет используя фильтр и текстовую функцию. Мы используем reportportal и в нем при поиске можно указать что поиск будет по точному совпадению, тогда формируется запрос без фильтра, сразу с нужным элементом: with member [Measures].[Blank] as '(0)' select {[Measures].[Blank]} on columns, Ascendants([Dim].[Prop].&[12345]) on rows from [Cube] Такого же эффекта можно добиться в екселе если "Создать набор с помощью MDX". Тогда поиск будет работать быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2018, 14:25 |
|
||
|
|

start [/forum/topic.php?fid=49&msg=39707930&tid=1857733]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 276ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...