Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / OLAP и DWH Новый топик    Ответить
 MS AS не отображать ID в измерениях  [new]
Кostas_11
Member

Откуда:
Сообщений: 154
Добрый день, форумчане.

В MS AS ver 14. Построен куб и есть несколько измерений из двух элементов (id и name). Как сделать так, что бы в экселе, пользователь видел только name и не видел ключевого поля.
Если в редакторе измерений убрать из атрибутов Id, то при сборке получаю ошибку "Ключевой атрибут не определен". Никакие иерархии по измерениям не нужны.
8 окт 21, 15:13    [22381245]     Ответить | Цитировать Сообщить модератору
 Re: MS AS не отображать ID в измерениях  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2443
Кostas_11,

по простому - AttributeHierarchyVisible = False
по умному оставить один атрибут у которого KeyColumn = ID, а NameColumn = Name, но при этом если у несколько одинаковых наименований будут иметь разные id, то будет несколько членов с одни именем.
8 окт 21, 16:28    [22381303]     Ответить | Цитировать Сообщить модератору
 Re: MS AS не отображать ID в измерениях  [new]
Кostas_11
Member

Откуда:
Сообщений: 154
ShIgor, спасибо.
1й вариант помог. Я уже находил параметр AttributeHierarchyVisible, когда копошился в свойствах. Но подумал, раз в нем есть слово 'Hierarchy', то это не в тему, т.к. иерархии на измерении нет. А оно вона как...

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

Ситуация следующая:
- в БД есть таблица dim_employee c полями id_emp (number(10)), full_name_emp (VARCHAR2(4000 CHAR)) и os_name_emp (VARCHAR2(400 CHAR));
- на основе этой таблицы создано измерение.

Причем, если в атрибуты этого измерения вытащить поле os_name_emp - все работает. Если поле - full_name_emp, то при развертывание ошибка "Внутренняя ошибка: Операция завершена неудачно" или "Сервер: Текущая операция отменена, поскольку другая операция в данной транзакции завершилась ошибкой".

Разница в этих полях - длина и наличие пробелов, точек, подчеркиваний,';' и т.д. в поле full_name_emp.

Можно full_name_emp в атрибуты вытаскивать? И что это за "...другая операция в данной транзакции завершилась ошибкой"? Как ее увидеть?
10 окт 21, 14:28    [22381858]     Ответить | Цитировать Сообщить модератору
 Re: MS AS не отображать ID в измерениях  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2443
Кostas_11,

поддерживаемые типы данных описаны в документации
https://docs.microsoft.com/en-us/analysis-services/multidimensional-models/data-sources-and-bindings-ssas-multidimensional?view=asallproducts-allversions
максимальная длина WChar по теории ограничена 2-мя гигабайтами, на практике оказывается значительно меньше, но это всяко больше 4000. настройка по-умолчанию отрезает все пробелы справа. наличие пробелов, знаков препинаний, разнообразных символов и даже непечатных символов может привести к проблемам в клиентском ПО, но ни разу не видел, чтобы были проблемы при обработке.

настройки обработки по-умолчанию - в параллель, поэтому ошибка в одном из потоков приводит к ошибкам в других потоках "текущая операция отменена, поскольку другая операция..."
все ошибки со всех потоков собраны в одном ответе, поэтому иногда бывает проблематично найти ту самую.. но она там же - ищите.. обычно в самом начале.

"Внутренняя ошибка: Операция завершена неудачно" - где-то ниже должно быть более подробное описание. Если его нет - то это могут быть системные ошибки при операциях с памятью или с файлами..

почитайте best practics https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2005/administrator/cc966399(v=technet.10)
снимет много вопросов и предостережет от неправильных решений
10 окт 21, 20:25    [22381924]     Ответить | Цитировать Сообщить модератору
 Re: MS AS не отображать ID в измерениях  [new]
Кostas_11
Member

Откуда:
Сообщений: 154
ShIgor,
ситуация с ошибкой развертывания разрешилась тем, что надо
1. либо физически очистить поле таблицы от пробелов, точек, запятых и т.д. оставив буквы/цифры
или
2. запускать сразу операцию "обработка", а не "сборка"->"развертывание".

1й пункт - попробовал ради теста, менять значения полей не могу.
2й пункт - пока не понял в чем разница, ведь "обработка" и так включает
в себя "сборку"->"развертывание" + еще заполнение куба данными.
Но стало работать.
12 окт 21, 15:21    [22382686]     Ответить | Цитировать Сообщить модератору
 Re: MS AS не отображать ID в измерениях  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4966
Кostas_11
Добрый день, форумчане.

В MS AS ver 14. Построен куб и есть несколько измерений из двух элементов (id и name). Как сделать так, что бы в экселе, пользователь видел только name и не видел ключевого поля.
Если в редакторе измерений убрать из атрибутов Id, то при сборке получаю ошибку "Ключевой атрибут не определен". Никакие иерархии по измерениям не нужны.


У атрибута измерения есть Key Value, Name Value, Sort Value.

Каждое из них может быть разным полем из источника.

Правильной практикой, которая в частности снижает вес куба, будет задавать в качестве Key Value числовой ID , а в качестве Name Value строковое поле.
12 окт 21, 17:05    [22382749]     Ответить | Цитировать Сообщить модератору
 Re: MS AS не отображать ID в измерениях  [new]
Кostas_11
Member

Откуда:
Сообщений: 154
a_voronin, спасибо.
Я так понял, что этот ответ, расширяет 1й ответ уважаемого ShIgor-а?

Такой подход пока непривычен. Как то привычнее все атрибуты подготавливать еще в БД, в виде отдельных полей и дальше этими полями манипулировать.
А тут получается можно вытащить одно поле, а наполнить его значениями из другого.
Я правильно понял, что могу атрибутом вытащить поле id, но в параметре valuecolumn поставить значение поля name и наименованием (параметр тфьуcolumn ) тоже выбрать поле name?
12 окт 21, 18:11    [22382784]     Ответить | Цитировать Сообщить модератору
 Re: MS AS не отображать ID в измерениях  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4966
Кostas_11

Я правильно понял, что могу атрибутом вытащить поле id, но в параметре valuecolumn поставить значение поля name и наименованием (параметр тфьуcolumn ) тоже выбрать поле name?


да.

Например у вас есть Таблица ФилькиныГрамоты (Id, Name, OrderBy, RateOfFakeness)

Делаете измерение Филькины Грамоты от этой таблицы с единственным атрибутом "Филькина Грамота" , где Key Column= Id, Name Column = Name, Sort Column = OrderBy, Value Column = RateOfFakeness.
13 окт 21, 13:40    [22383132]     Ответить | Цитировать Сообщить модератору
 Re: MS AS не отображать ID в измерениях  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2443
a_voronin,

кто такой SortColumn в MD?
13 окт 21, 13:51    [22383142]     Ответить | Цитировать Сообщить модератору
 Re: MS AS не отображать ID в измерениях  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4966
ShIgor
a_voronin,

кто такой SortColumn в MD?


order by -- key name attribute

не придирайтесь к деталям
13 окт 21, 20:11    [22383331]     Ответить | Цитировать Сообщить модератору
 Re: MS AS не отображать ID в измерениях  [new]
ShIgor
Member

Откуда: Нижний Новгород
Сообщений: 2443
a_voronin,

не вводите в заблуждение
13 окт 21, 21:06    [22383349]     Ответить | Цитировать Сообщить модератору
Все форумы / OLAP и DWH Ответить