logo

22 сент. 2013 г.

BIEE11g: поиск в фильтрах без учета регистра

Всем привет!
Сегодня хочу рассказать о такой штуке, как смена значения по умолчанию галки "С учетом регистра" в фильтрах BI11g.
Если говорить точнее, то значение по умолчанию - checked.



Я считаю, что текущее дефолтное значение выставлено совершенно правильно. И вот почему: достаточно сравнить логические SQL-запросы, посылаемые BIPresentationServer в случае нажатой и отжатой галки "С учетом регистра"




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

1. Ищем файл b_mozilla\uicomponents\obips.DropDown\obips.dropdownsearchdialog.js в tmp-каталоге WeblogicServer
(У меня это тут - c:\Middleware117\user_projects\domains\bifoundation_domain\servers\AdminServer\tmp\_WL_user\analytics_11.1.1\silp1v\war\res\b_mozilla\uicomponents\obips.DropDown\obips.dropdownsearchdialog.js )

2. Открываем файл на редактирование.
2.1.
При желании можно отформатировать сжатый javascript-файл с помощью онлайн-форматтера - jsbeautifier.org
2.2. Но можно внести правку и в ужатый файл.
Суть правки в том, что нужно в теле функции SelectDialogBase.SearchGroupBoxBase.prototype.attachMatchCaseCheckbox
заменить вторую строчку
var d = this.bCaseInsensitiveSearch;
на
var d = false;

У меня получилось так:
    SelectDialogBase.SearchGroupBoxBase.prototype.attachMatchCaseCheckbox = function (b) {
        var c = this.bCaseInsensitiveSearch;
//      ssheremeta start
//      var d = this.bCaseInsensitiveSearch;
 var d = false;
//      ssheremeta end
        this.matchCase = new obips.FormFields.Checkbox("matchCase", "matchCase", "matchCase", obiprp.PromptComponents.Utilities.getPromptResource("kmsgSelectionsMatchCase").getString(), d, c);
        var a = this.matchCase.getElement();
        a.style.display = "inline";
        a.style.verticalAlign = "top";
        b.appendChild(a)
    };

3. Не забываем очистить кеш браузера.

Вот и все.

P.S. Решение приводится для версии OBIEE 11.1.1.7

Комментариев нет:

Отправить комментарий