|
|
|
bi11g, rpd, presentation table, hide object if
|
|||
|---|---|---|---|
|
#18+
Добрый день, Подскажите, можно ли в репозитории для "presentation table "в блоке "hide object if" вызвать пользовательскую функцию или выполнить sql? Задача стоит так, надо скрывать или показывать объект презентации в зависимости от параметров сессии пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2019, 15:09 |
|
||
|
bi11g, rpd, presentation table, hide object if
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2019, 17:19 |
|
||
|
bi11g, rpd, presentation table, hide object if
|
|||
|---|---|---|---|
|
#18+
Я видел эту статью. Но в ней ничего не сказано про вызов процедур (хотя в expression builder в целом можно вызывать процедуры, например через evaluatе, но видимо здесь этот builder урезан по функциональности). SQL можно использовать через инициализацию сессионных переменных, и это могло бы мне помочь. Но непонятно как передавать в эти переменные контекст вызова, мне же надо в sql передать наименование объекта презентации, чтобы правильно вычислить значение этой переменной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2019, 08:03 |
|
||
|
bi11g, rpd, presentation table, hide object if
|
|||
|---|---|---|---|
|
#18+
vint44, Думаю можно попробовать задействовать Row-Wise Initialization. Функцию можно обернуть в pipeline (oracle? ) и в итоге получить таблицу динамическую типа USER:OBJECT:ACCESS(Y|N) https://www.rittmanmead.com/blog/2008/09/obiee-repository-variables-filtering-and-conditional-formatting/ До инстанса BI доползу не скоро, точно утверждать что это работает не могу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2019, 11:54 |
|
||
|
bi11g, rpd, presentation table, hide object if
|
|||
|---|---|---|---|
|
#18+
sharkoff76 и в итоге получить таблицу динамическую типа USER:OBJECT:ACCESS(Y|N) Row-Wise Initialization позволяет заполнить набор переменных из SQL. Но это нам мало что даст. Нам важно знать из какого объекта презентации мы инициализируем переменные, т.е. передать значение параметра OBJECT. А как его передать в SQL? Другими словами в "hide object if" мы должны получить значение 0|1, для того чтобы открыть|скрыть объект презентации. Это значение вводится в "expression builder". Мы можем, перед тем как получить на выходе 0|1, в этом блоке проинициализировать значение переменной презентации, например AAA = 'BBB'? Если нет, то способ с SQL имхо отпадает. Самое простое было бы вызвать пользовательскую функцию в "expression builder" и в качестве параметра передавать в нее заданное значение, например тоже 'BBB'. И на выходе получать 0 или 1. Но видимо и этот способ тоже не работает, у меня evaluate не срабатывает, вернее функцию позволяет ввести выражение, но ничего при этом не происходит, функция на БД не вызывается. Может ее надо определять в не в БД, а где-то в BI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2019, 21:10 |
|
||
|
bi11g, rpd, presentation table, hide object if
|
|||
|---|---|---|---|
|
#18+
Апну эту ветку, может все же кто-то сталкивался. Пытаюсь в репозитории для "presentation table" в блоке "hide object if" вызвать lookup функцию, примерно так: lookup(dense "NameArea"."LookupTable"."LookupFld", 1). Анализатор кода при этом не ругается, но при этом "presentation table" скрывается всегда, независимо от возвращаемого значения lookup. Возможно ошибка все-таки возникает, но вычислить ее не могу по логам. Кстати, поле основанное на этом же lookup в BMM работает корректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2019, 12:05 |
|
||
|
bi11g, rpd, presentation table, hide object if
|
|||
|---|---|---|---|
|
#18+
vint44 Апну эту ветку, может все же кто-то сталкивался. Пытаюсь в репозитории для "presentation table" в блоке "hide object if" вызвать lookup функцию, примерно так: lookup(dense "NameArea"."LookupTable"."LookupFld", 1). Анализатор кода при этом не ругается, но при этом "presentation table" скрывается всегда, независимо от возвращаемого значения lookup. Возможно ошибка все-таки возникает, но вычислить ее не могу по логам. Кстати, поле основанное на этом же lookup в BMM работает корректно. Оно так не работает. На презентационном слое вы можете оперировать сессиоными переменными и простейшими логическими конструкциями/функциями. Row-wise даст вам создать набор сессионных переменных _для пользователя_ на основе таблицы и/или SQL. Их 2 сессионых переменных. Затем проверите этот набор в @hide object if@ VALUEOF(NQ_SESSION."OBJECT")='Моя_предметная_область.Таблица презентации.Колонка такая то' AND VALUEOF(NQ_SESSION."ACCESS")='Y' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2019, 13:13 |
|
||
|
bi11g, rpd, presentation table, hide object if
|
|||
|---|---|---|---|
|
#18+
sharkoff76, Да, Вы предложили хороший (и наверное единственный) вариант сокрытия объектов презентации в зависимости от параметров сессии пользователя. Вначале я недооценил нюансы использования row-wise инициализации переменных, но теперь вижу, что эта схема работоспособна. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.12.2019, 09:55 |
|
||
|
|

start [/forum/topic.php?fid=49&tid=1857405]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 128ms |

| 0 / 0 |

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