Quantcast
Channel: SQL.ru: OLAP и DWH
Viewing all 1167 articles
Browse latest View live

BI Publisher условное форматирование в шаблоне Excel

$
0
0
Доброго дня!

Пытаюсь шаблоне Excel (xls) для группы XDO_GROUP_?G_3? (т.е. все ячейки группы) выделить жирным шрифтом в зависимости от значения в одном из полей этой группы G_3.
Т.е. если в группе G_3 значение поля COND=1, то шрифт строки группы XDO_GROUP_?G_3? в шаблоне выделяется жирным, иначе - не выделяется.
Пытаюсь прописать это на листе XDO_METADATA:
- в колонку A пишу XDO_GROUP_?G_3?
- в колонку B уже и не знаю что писать, кучу всего перепробывал - то ничего не происходит, то отчёт пустой после выгрузки.

Есть идеи по решению этой проблемы?

Как оптимизировать хранилище?

$
0
0
Товарищи, пожалуйста накидайте пару дельных советов как оптимизировать использование ресурсов sql server.
БД используется в качестве хранилища, при этом с ней 90% времени работает 1 пользователь (это я), бывает редко еще один бд проггер работает.

Как можно оптимизировать работу? Я не могу понять что жрет ресурсы(память) в то время когда, к бд нет запросов(монитор включал, но это малоинформативно)

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

Можете вкратце описать как использовать индексы для таблиц фактов, в которых хранится 25 млн строк?
Знаю в инете куча инфы, но мне нужен краткий ответ, что именно в хранилищах применять с таблицами фактов касательно индексов?

Как вообще сервер оптимизировать? Может какие есть спец настройки?

Также вопрос, который мне не дает покоя. Если я перезапускаю службу SQL server, она жрет со временем все больше памяти. При этом нет никаких запросов к БД? На что расходуется ОЗУ?

OBI 11.1.1.6.12 (Kerberos) вход в Catalog Managerb

$
0
0
Добрый день.
После настройки интеграции AD и Kerberos могу войти доменным пользователем
в репозиторий и в сам BI, но не в каталог менеджер.

При запуске появляется интерфейс catalog manager-а с окошком ввода пути к каталогу, имени и пароля. Все поля заполняю - получаю ошибку (см. рисунок). Пробовал и доменным пользователем и weblogic. Причем до проверки пароля не доходит - можно вводить любой, ошибка не меняется.

Подскажите плз где надо настраивать cat. manager?

Факт связан с негранулярным атрибутом

$
0
0
Как сделать так, что бы на нижних уровнях факт не появлялся?

Пример:
У меня есть один факт, который связан с нижним уровнем измерения (гранулярным), с ним все хорошо.
И есть еще один факт, только он связан с уровнем измерения на уровень выше. (негранулярным)
К примеру один связан с сотрудником, а второй с отделом, в котором сотрудник работает.

Как сделать так, чтобы факт, который связан с отделом при раскрытии нижнего уровня не показывал никакой факт?

Пример: Федя имеет факт 10 апельсинов, а Вася 15 апельсинов. А еще есть другой факт на отделе, в котором они работают - 3 апельсина.

Так вот когда в измерении на нижнем уровень сотрудник, а на верхнем отдел и я раскрываю иерархию до нижнего уровня, у каждого получается его факт да и еще второй факт каждому по 3 апельсина, так не должно быть, у них не должно быть факта с верхнего уровня. Как так сделать?

Несколько вопросов после установки essbase 11.1.2.4

$
0
0
Развернул данную версию и столкнулся с некоторыми проблемами
1. При переносе outline с более старой версии(9.3.1. и 12 более раннего релиза) члены измерений и показатели отображаются кракозябрами. Пробовал менять значение системной переменнной ESSLANG на Russian_Russia.MS1251@Default. Не помогло.
Алгоритм был следующий: создал новое приложение, в нем БД, подменил аутлайн с тем же названием и открыл.

2. Проблема со связкой с OBIEE 10g на одной машине.
Раньше, при использовании 9.3.1 при скрещивании с OBI EE 10g достаточно было поставить клиента 32 битного и вызывать BI-экзешники с указанием в качестве ARBORPATH - home установленного клиента.
Теперь установил клиента essbase и пытался в качестве arborpath указывать
c:\Oracle\Middleware\EPMSystem11R1\products\Essbase\Client
c:\Oracle\Middleware\EPMSystem11R1\products\Essbase\Client-32
Ошибка - невозможно загрузить essapinu.dll
Попробовал подсоединиться с другой машины, где стоит клиент от 9.3 - все ок

3. Если при попытке открыть другую версию outline консоль выдает предупреждение о необходимости проапгрейдить с 11.1.2.4 до 11.1.2.4.1, будет ли возможность подцепить такую outline на сервере, откуда ее взяли или после апгрейда уже нет?

Как я могу отрезать чаcт текста с помощью sql?

$
0
0
Добрый день ! Подскажите пожалуйста как я могу отрезать CellIndex=26, или просто 26 от ниже написанного строка с помощью SQL! На данный момент такой длинный строка у меня идет как Первичный ключ и при этом запрос выполняется слишком медленно ! С substr -ом не получается потому что число символов до CellIndex разные .

BSC08/GCELL:LABEL=YAVRRS1, CellIndex=26, CGI=43603753676C1
BSC08/GCELL:LABEL=ZBOSHKA1, CellIndex=560, CGI=43603753684B8
BSC08/GCELL:LABEL=ZCHORBO1, CellIndex=143, CGI=436039C419D86
BSC08/GCELL:LABEL=ZDANTEL3, CellIndex=13, CGI=43603753575D8
BSC08/GCELL:LABEL=ZGULIST4, CellIndex=235, CGI=436039C419FA5
BSC08/GCELL:LABEL=ZHUSOBD3, CellIndex=170, CGI=436039C41A5E4
BSC08/GCELL:LABEL=ZKAMONG1, CellIndex=254, CGI=436039C41A11E

Зарание спасибО!

Вывод значений параметра BI Publisher в строку

$
0
0
Добрый день!
Возникла следующая проблема: в BI Publisher есть параметр :P (тип: Строка, стоит галочка "Текстовое поле содержит значения, разделенные запятыми"). Значения параметра при выполнении отчёта пользователи вводят через запятую: 123,456,789,...

Значения параметра используется в селектах, типа: "select field1 from table1 where field1 in (:P) or LEAST(:P) is NULL". В этом случае всё работает корректно, но когда пытаюсь вывести значения этого параметра в строку, то выводится только последнее значение.

Пробовал снимать галку "Текстовое поле содержит значения, разделенные запятыми", но селекты где используется выражение "in (:P)" перестают работать, естественно.
Как с поставленной для параметра галкой "Текстовое поле содержит значения, разделенные запятыми" вывести его значения одной строкой?

Cognos 10.2.2 fp5 Интервал (разница 2 дат) на графике

$
0
0
Cognos 10.2.2 fp5
Не удается построить график с интервалами (разница 2 дат Oracle) по оси Y.

SSAS. Исключить член измерения из ALL

$
0
0
Всем привет!

Помогите с задачей.
Есть измерение Dim1, есть атрибут Atr1. В атрибуте есть член total, который:
1. Должен быть равен сумме всех других без Unknown
2. total не должен участвовать в All

Что пытались сделать:
1. в MDX в SCOPE переопределяли All = все мемберы - total
2. в Atr1 делали унарную операцию ~ для total

Проблема в следующем:
При выборе двух и более элементов в фильтре по Atr1, All считается не как сумма выбранных, а общая сумма.

Делали через Dynamic Set, но он жутко тормозит.

Есть еще какие-нибудь идеи?

Не выгружаются строки

$
0
0
Здравствуйте!

В Excel на лист добавляю таблицу с подключением к кубу. Раньше добавлялись без проблем, и сейчас нормально обновляются. Если сейчас добавлять, то таблица вставляется, но без строк, то есть присутствуют название колонок. На других компьютерах тоже самое.

Через Microsoft SQL Managment Studio этот же запрос нормально выгружает строки.

Почему так происходит? Может обновления Windows (а также Windows Server) повлияли на OLE DB, Excel? На что нужно обратить внимание?

Проблема с CreateObject("V83.ComConnector")

$
0
0
Пробую запилить интеграцию QlikView и 1С8.3 все локально на Win10(64)
по материалам этого тынца

Там необходимо выполнить макрос с = CreateObject("V83.ComConnector")

Ошибка: Невозможно создание объекта контейнером ActiveX: 'V83.ComConnector'
Код: 800A01AD

Почитал. Вроде как ошибка связана с запуском wscript.exe по умолч. из папки system32 а не с SysWOW64.
Действительно, если сделать батник с явным указанием пути на SysWOW64, то ошибка не всплывает.

Но как это указать в кликовском макросе ? Мож реестр подправить ?

Выражение DAX (Measure) для расчета остатков на начало/конец периода

$
0
0
Добрый день.
Помогите, пожалуйста, правильно построить выражение DAX (PowerPivot) для расчета остатков на начало и конец периода.
К прилагаемой ниже таблице использую следующее выражение для расчета остатков на начало периода:

=CALCULATE(sum([Приходы])-sum([Продажи]);FILTER(таблица;[Товар]=EARLIER([Товар])&&[Дата]<EARLIER([Дата])))

В результате получаю ошибку:
"EARLIER/EARLIEST ссылается на более ранний контекст строки, который не существует"
Я же ожидаю в таком случае возврат значения 0.


Товар Дата Приходы Продажи
Товар 1 01.01.2016 5
Товар 1 02.01.2016 1
Товар 1 03.01.2016 2
Товар 2 01.01.2016 6
Товар 2 02.01.2016 3
Товар 2 03.01.2016 3
Товар 3 01.01.2016 10
Товар 4 02.01.2016 5
Товар 5 03.01.2016 5
Товар 6 04.01.2016 5

Благодарю за ответ.

Pentaho Kettle CE

$
0
0
Добрый день.
Рассматриваю Kettle как ETL средство для прогрузки по расписанию данных из различных БД в хранилище.
Поделюсь своими соображениями (английский не так силен, чтобы быстро найти все ответы), и задам некоторые вопросы, на которые надеюсь получить ответы:
1 Есть соображение сделать деплой из гита в репозиторий kettle
1.1 Если во время выполнения джоба заменить трансформацию, она подхватится(во время старта выполнения этой трансформации)
1.2 Если джоб итеративный, то файл заменить можно, но джоб уже в памяти, и его надо рестартовать
1.3 Если меняется не одна трансформация в составе джоба, то лучше останавливать джоб, менять файлы и только тогда запускать

Получается, в скрипте надо выдергивать git diff, останавливать меняющиеся джобы, копировать, и потом запускать джобы, которые предназначены для этого (для этого сделал специальный каталог в репозитории). Этот способ с пивом пойдет, или есть что получше?

2 в enterprise кажется есть checkpoints для джобов - в Community такого не нашел.
Вопрос - как определить, с какой точки в джобе начать, например, при восстановлении после падения сервера?

Приведу пример:
table input1 -> table input 2 -> table output table 2
перекидывание инкремента - table input1 = select max(id) from table2
table input 2 = select * from table1 where id > coalesce(?, 0)
commit every 10000 rows

Когда джоб штатно успешно завершается, проблемы не возникает, если ни одного коммита не прошло, тоже не проблема. Но что, если закоммитили из 25к первые 10к записей? В доке написано, что шаги идут одновременно. Все усугубляется, когда скорость чтения в table input 2 больше чем скорость записи в table output. Прочитало 23к записей, закоммитилось 10к, как понять, какие из 23к прочитанных пошли в коммит? select max(id) тогда будет ошибочным, ведь непонятно, в каком порядке заливаются данные? Как быт при падении сервера с джобами?

3 Может ли PDI работать с oracle materialized view log, кто-нибудь сталкивался, есть опыт (это вопрос про альтернативные методы загрузки инкремента)?

Аудит SSAS Tabular model

$
0
0
Добрый день коллеги.

Подскажите пожалуйста инструмент или способ аудита действий пользователя в табличной модели куба (MSSQL 2016). QueryLog в табличной модели не работает, файла агрегации то нет.

Интересует следующая информация:
1. Пользователь
2. Дата и время соединения, завершения сессии
3. Продолжительность запроса
4. Листинг запроса (по возможности)
.....

Как оптимизировать, чтобы не тупила на формулах?

$
0
0
Как оптимизировать, чтобы не тупила на формулах?
[Measures].[Опер_КолвоОбУчета]
[Measures].[Опер_SKUсумма]
слишком долго считает.

CREATE MEMBER CURRENTCUBE.[Measures].[Опер_КолвоОбУчета]
 AS Count(nonempty(EXISTING [Объект Учета].[Код Объекта Учета].[Код Объекта Учета].Members, [Measures].[Опер_Количество])), 
FORMAT_STRING = "#,#", 
NON_EMPTY_BEHAVIOR = { [Опер_Количество] }, 
VISIBLE = 1 ,  DISPLAY_FOLDER = 'Формулы' ,  ASSOCIATED_MEASURE_GROUP = 'Операции';  

CREATE MEMBER CURRENTCUBE.[Measures].[Опер_SKUсумма]
 AS SUM(EXISTING [Торговые Точки].[КодТочки].[КодТочки].Members,[Measures].[Опер_КолвоОбУчета]),
NON_EMPTY_BEHAVIOR = { [Опер_Количество] }, 
VISIBLE = 1 ,  DISPLAY_FOLDER = 'Формулы' ,  ASSOCIATED_MEASURE_GROUP = 'Операции'  ;     

Запрос с параметрами

$
0
0
Здравствуйте!

В Access c помощью рекордсета и команды выгружаю данные из OLAP. Выгружается нормально. Теперь надо привязать параметры. Но с параметрами пока почему то не выгружает. В команде пишу такой запрос

SELECT 
	[Measures].[Отгрузки шт] on 0,
	[Города].[Город].[Город] on 1
FROM
	Profit
WHERE
	@Параметр
и в команде в параметр толкаю следующее значение "[Время].[Месяц].&[2016-07-01T00:00:00]" как текст. Не работает


Экспериментирую в Microsoft SQL Managment Studio. Запускаю там такой запрос с параметрами.

WITH
//DECLARE @Параметр char(100)
SET @Параметр=[Время].[Месяц].&[2016-07-01T00:00:00]

SELECT 
	[Measures].[Отгрузки шт] on 0,
	[Города].[Город].[Город] on 1
FROM
	Profit
WHERE
	@Параметр

Не понимает параметры. Как нужно правильно написать? Помогите разобраться?

BI Publisher динамические столбцы в шаблоне

$
0
0
Доброго дня!

На входе имеем дату, на выходе должен быть документ Excel.
Нужно вывести данные для каждого договора с начала года в разрезе месяцев (данные по месяцам располагать горизонтально),
а также суммы за год (все месяцы с начала года и до месяца введённой даты).

Данные вывожу в таком виде (Oracle 11g):
select '111' ndog, 'Иванов И И' custname, '2016' god, '01' mes, 'Январь' mon,  1 sum1, 2 sum2, 3 sum3 from dual union all
select '111' ndog, 'Иванов И И' custname, '2016' god, '02' mes, 'Февраль' mon, 4 sum1, 5 sum2, 6 sum3 from dual union all
select '111' ndog, 'Иванов И И' custname, '2016' god, '03' mes, 'Март' mon,    7 sum1, 8 sum2, 9 sum3 from dual union all

select '222' ndog, 'Петров П П' custname, '2016' god, '01' mes, 'Январь' mon,  1 sum1, 2 sum2, 3 sum3 from dual union all
select '222' ndog, 'Петров П П' custname, '2016' god, '02' mes, 'Февраль' mon, 4 sum1, 5 sum2, 6 sum3 from dual union all
select '222' ndog, 'Петров П П' custname, '2016' god, '03' mes, 'Март' mon,    7 sum1, 8 sum2, 9 sum3 from dual union all

select '333' ndog, 'Сидоров С С' custname, '2016' god, '01' mes, 'Январь' mon,  1 sum1, 2 sum2, 3 sum3 from dual union all
select '333' ndog, 'Сидоров С С' custname, '2016' god, '02' mes, 'Февраль' mon, 4 sum1, 5 sum2, 6 sum3 from dual union all
select '333' ndog, 'Сидоров С С' custname, '2016' god, '03' mes, 'Март' mon,    7 sum1, 8 sum2, 9 sum3 from dual

Проблема в том, что нет идей как вывести их в шаблон именно в требуемом виде, т.е. реализовать вывод сумм
в виде групп колонок для каждого месяца (динамически, т.е. количество месяцев будет разным).
При этом в заголовке каждой группы колонок "Месяц" должно выводиться наименование соответствующего месяца.
P.S. Правее колонок "Год" будут ещё столбцы с данными по каждому договору.

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

Cognos 10.2.2 fp5 Как построить диаграмму Ганта с шкалой времени

$
0
0
Полазил ссылаются на www.analyticszone.com сейчас он недоступен.

Как построить диаграмму Ганта, с дата-время (не только даты).

P/s/Хочется с объектом, чтобы не городить огород с служебной табличкой времени.

Помогите разобраться с правами доступа к кубам на SSIS

$
0
0
Добрый день.

Ситуация следующая. Все роли многомерной базы пусты. Но есть пользователи не из списка администраторов Microsoft Analysis Server, имеющие доступ к кубам. Почему так происходит?

Динамический куб

$
0
0
Всем привет!

На сегодняшний день стоит задача попробовать реализовать динамический куб, в котором по некоторым правилам, самих правил еще нет, строились измерения и меры. Кол-во измерений может варьироваться от 10 до 50, а может и больше.

Допустим есть таблица фактов

IDПроектВид помещенияДата продажиНомер договораКонтрагентСумма договораРегионГород
2Проект 1Офис02.08.2011329Контрагент 1226041Регион 1Город 1
3Проект 1Трехкомнатная08.06.201093Контрагент 2300737Регион 1Город 2
4Проект 1Двухкомнатная24.06.2010135Контрагент 3294654Регион 1Город 3
5Проект 1Двухкомнатная18.04.2011155Контрагент 4268781Регион 1Город 1
6Проект 2Трехкомнатная20.03.201286Контрагент 5339333Регион 1Город 5
7Проект 2Трехкомнатная20.03.201287Контрагент 6345633Регион 1Город 6
8Проект 2Гараж25.05.2012301Контрагент 157143Регион 1Город 7
9Проект 2Двухкомнатная19.09.2011392Контрагент 87738667Регион 1Город 8
10Проект 2Гараж30.09.2011345Контрагент 91176500Регион 2Город 9


Необходимо реализовать механизм, который предложит оптимальную структуру куба. Например Проекты и Виды помещений можно объединить в одно измерение через иерархию. Так же можно поступить и с Регионом и городом.

Но суть задачи, чтобы это предложила машина. Т.е. она бы предложила некий вариант нормализации, который есть в Access, но дополнительно и создание иерархии.

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

Немного почитал про столбцовые кубы. Но пока не уверен, что это точно мне надо, т.к. не нашел нормальных примеров как это работает.
Viewing all 1167 articles
Browse latest View live