Коллеги. Возникло вот пару вопросов по стандартным временным переменным. Поиском таких вопросов не нашел. Первый и самый важный: Ситуация в том, что делаю в BEx Analyzer запрос, предназначенный для запуска в режиме изменения (для планирования). При этом планировалось сделать так, что пользователь выбирает значение переменной, которая ограничивает 0calyear, а потом заполняет набор показателей (для выбранного года). Но тут я столкнулся с некоторым непониманием ситуации - ведение основных данных для этого признака не осуществляется, при этом, на моем пустом кубе, он дает выбрать до 2012 года (видимо такие даты есть в каких-то других провайдерах в системе), а уже на 2013-й и более пишет, что выбрано недопустимое значение признака. И, собственно, что же делать, если пользователю понадобится запланировать 2015-й год, например? Правильно ли я предположил, что ограничение по 2012 год связано с тем, что в каких-то провайдерах есть данные с этим годом? Есть ли какой-то стандартный и логичный мехнизм для ведения мастерданных временных признаков? Может есть какая-то настройка, которая позволит в фильтре ввести новое значение признака (значение, которого нет ни в кубе, ни в мастерданных)? В голову пока приходят только следующие мысли: 1. Сделать какой-то инфопровайдер, в котором только даты и стандартные признаки и грузить его нужными значениями. 2. Заполнить свой инфопровайдер какими-то записями, где указан, например, только год\квартал\месяц, а остальное или пусто или ноль (а потом это станет проблемой, если нужно будет посчитать количество записей на какую-то дату) 3. Переделать запрос так, чтобы можно было добавлять строки (получается неудобно и некрасиво). Кстати сейчас вспомнил, что когда я ставил 0calyear в строки запроса, чтобы можно было добавить новую строку, то запрос мне новую строку для ввода предоставлял, а вот при попытке ввести туда (и по всем показателям) значение (2020) - выдавал ошибку "Нет свойства признака 2020 для признака Календарный год". 4. Использовать просто свой признак, который сделать как надо и который можно вести, при необходимости.
И по 4-му пункту вариантов первого вопроса, вопрос второй: В чем реальные преимущества (если они есть) использования стандартных временных признаков? Может стоит просто сделать свои нужного типа? А то вот я придерживаюсь правила, что надо стараться с использованием по максимуму стандартных объектов, но при этом кажется, что проще было бы использовать свои.
З.Ы. Задам еще и третий вопрос на всякий случай - правильно ли я понял, что если я в запросе (изменяемом) использую структуру с набранными и ограниченными вручную признаками, то я уже не смогу добавить новую строку в отчете? Вот я пробую сейчас - ставлю еще один признак, в нем - "только проведенные значения". И вот, если второй признак также просто помещен в запрос, то показывается строка для новых значений. А если второй признак представлен структурой, то все - новой строки нет уже. Это так и должно быть? А как поступить в этом случае? Вот мне надо, чтобы в столбцах были все кварталы выбранного года, безотносительно того, есть или нет они в проведенных значениях или мастерданных признака... или в этом случае надо просто вести в системе мастерданные признаков? А тогда возвращаемся к первому вопросу - как это делать для стандартных календарных признаков?
З.З.Ы. Правильно ли я понимаю, что один из плюсов стандартных признаков в том, что если у меня в кубе 0calyear, 0calquarter и 0calquart1 (который без года), то я смогу на уровень агрегации вытащить только 0calyear и 0calquart1 и запонять их, а 0calquarter система заполнит сама при записи в куб?
|
|