Сегодня потребовалось просмотреть веб-каталог рабочей среды Oracle BI на предмет наличия неиспользуемых подсказок инфопанелей.
Инфопанелей много, подсказок еще больше - разумеется, подобную процедуру следует автоматизировать.
Идея до безобразия проста:
- Выгрузить с помощью CatalogManager'а список всех подсказкой инфопанелей.
- Выгрузить с помощью CatalogManager'а список содержимого всех инфопанелей в виде XML.
- Импортировать выгрузки в Excel.
- С помощью функций Excel подсчитать вхождение подсказок инфопанелей (в виде path-строки) в содержимое инфопанелей.
А теперь в деталях.
1. Сформируем выгрузку в CSV содержимого всех общедоступных инфопанелей с помощью утилиты "Create Report" внутри CataligManager'а
2. Заменим вхождения символа перевода каретки (чтобы при импорте в Excel каждый тег перевода каретки внутри XML содержимого инфопанели не приводил к переносу на следующую строку)
3. И сделаем обратную замену - мы знаем что каждый XML-документ содержимого инфопанели начинается со строки
"<?xml version=""1.0""?>поэтому с помощью замены добавляем перед этой строкой символ перевода строки.
4. Импортируем обработанный CSV файл с XML содержимым всех инфопанелей в Excel.
5. Аналогично выгружаем с помощью CatalogManager'а список всех подсказок инфопанелей.
6. Импортируем CSV файл со списком подсказок в тот же документ Excel, куда ранее импортировали содержимое инфопанелей.
7. Рядом со столбцом со значением path - абсолютного пути до подсказки в веб-каталоге - создаем новый столбец, в формуле которого указываем:
=СЦЕПИТЬ("path=";СИМВОЛ(34);A2;СИМВОЛ(34))(где СИМВОЛ(34) - это значение двойной кавычки в Excel)
Не заебываем "протянуть" формулу по всем ячейкам столбца.
Также создаем и третий столбец с формулой:
=СУММПРОИЗВ(ДЛСТР(DashboardPages!$A:$A)-ДЛСТР(ПОДСТАВИТЬ(DashboardPages!$A:$A;A2;)))/ДЛСТР(A2)Собственно, это и есть искомый столбец, показывающий нам используется ли в какой-либо инфопанели данная подсказка.
Комментариев нет:
Отправить комментарий