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

SSAS (MDX) и Visual Studio 2015

$
0
0
Стоит Visual Studio 2015, открываю SSAS проект (MDX) - открываю свойства и там в Misc непонятная строка ShardedMode с двумя вариантами Sharded и NotSharded

Вопрос - кто знает это что такое? для чего?

Опрос МастерДата

$
0
0
Расскажите плииз , кто какое решение использует для МастерДаты. Что нравиться в нем , а что нет

Группировка ячеек в cognos report studio

$
0
0
Доброго времени суток.
Возможно ли реализовать следующую группировку в таблице данных

Имеем:

Машина 1 Вид топлива 1 Значение 1

Машина 1 Вид топлива 2 пусто (null)

Машина 1 Вид топлива 3 пусто (null)


Необходимо сгруппировать ячейки в колонке 3, причем "Значение 1" должно быть общим для первых двух строк, а в третьей строке должна остаться пустая ячейка.

При группировке ячеек, чтобы они были объединены необходимо, что бы там были одинаковые значения, данный вариант не подходит так как в группировке данных вылезет задвоение.

Может быть как-нибудь можно прописать условия объединения данных, и непосредственно в cognos'е подставлять в нужную ячейку одинаковые данные.

Pentaho Kettle 7 Use batch update for inserts для MS-SQL Server jdbc

$
0
0
Добрый день Уважаемый АЛЛ.

Kettle 7 , MS-SQL 2014
Скопировал sqljdbc4.jar , sqljdbc41.jar, sqljdbc41.jar to \Lib folder
коннект к Ms-SQL OK.
есть там в TableOutput :
Use batch update for inserts
по факту рабоатет ОДИНАКОВО - плохие записи не пишутся
(я их в лог перенаправляю хотя вот если price НЕ numeric то не могу перенаправить - пока просто убрал из вывода )
Профайлером глянул что SQL генерирумые :

exec sp_execute 3,N'gjee-desc',N'PRD-OGP',396.69999999999999,N'O',998
exec sp_execute 3,N'slnp-desc',N'PRD-JEC',248.09999999999999,N'A',999
exec sp_execute 3,N'qnfy-desc',N'PRD-ICU',848.79999999999995,N'U',1000
...

IF @@TRANCOUNT > 0 COMMIT TRAN
В Хелпе
Note: There are limiting factors depending on the used database type and further step options. The batch mode is only used when this check box is selected
1.and the Commit Size is greater than 0
2.and the Return auto-generated key option is not enabled
3.and the transformation is not enabled to use unique connections (Transformation settings / Misc / Make the transformation transactional)

4.and the following rule is false: the database type supports safe points and step error handling is enabled
(see the database feature list to check if the database supports safe points)

5.and the database type supports batch updates (see the database feature list to check this)


1.2.3 - проверил - так и есть
4. - не уверен что имеется ввиду.

я ожидал когда выбрана Use batch update for inserts
что весь батч если есть хоть 1 плохая запись (под констрейнты или с др. типом) упадет - т.е не запишется.

Подозреваю (но не уверен) что это внутренняя логига JBDC драйвера
Вопрос в том
1?) Правильно ли я понимаю принцип Use batch update for inserts
2?) Если да - то где и как можно подшаманить (баг это или фича ) чтобы батч инсерты работали.


Скрин прилагаю

Новое измерение

$
0
0
Здравствуйте, подскажите в какую сторону смотреть.
Нужно создать измерение, в котором получать значение из существующего измерения при определенном условии.
Т.е., если Type = Task и Activity = Development, то Completed Work Dev = Completed Work, иначе null.

Как Completed Work Dev заставить суммироваться по иерархии?
Нужно чтобы для Feature, Completed Work Dev равнялся сумме Completed Work Dev всех дочерних элементов.

WITH MEMBER [Measures].[State] AS [Work Item Tree].[Work Item Tree Hierarchy].Properties( "System_State" )
MEMBER [Measures].[Type] AS [Work Item Tree].[Work Item Tree Hierarchy].Properties( "System_WorkItemType" )
MEMBER [Measures].[Activity] AS [Work Item Tree].[Work Item Tree Hierarchy].Properties( "Microsoft_VSTS_Common_Activity" )
MEMBER [Measures].[Completed Work Dev] AS IIF ([Work Item Tree].[Work Item Tree Hierarchy].Properties("Microsoft_VSTS_Common_Activity") = "Development" AND [Work Item Tree].[Work Item Tree Hierarchy].Properties("System_WorkItemType") = "Task", [Measures].[Microsoft_VSTS_Scheduling_CompletedWork], null)
SELECT {[Measures].[Completed Work Dev], [Measures].[Microsoft_VSTS_Scheduling_CompletedWork],[Measures].[Activity],[Measures].[Type],[Measures].[State],[Measures].[Microsoft_VSTS_Scheduling_StoryPoints],[Measures].[Microsoft_VSTS_Scheduling_OriginalEstimate],[Measures].[Microsoft_VSTS_Scheduling_RemainingWork]} ON COLUMNS,
FILTER(Descendants([Work Item Tree].[Work Item Tree Hierarchy].&[142089]), [Work Item].[System_WorkItemType].&[Task] AND NOT [Work Item Tree].[Work Item Tree Hierarchy].CurrentMember.IS_DATAMEMBER) ON ROWS
FROM [Team System]
Картинка с другого сайта.

Ошибка в настройке Job-a

$
0
0
Добрый день.
Есть задача отправка ежемесячного реестра операций с помощью Oracle BI Publisher, который запускается 3-го числа следующего за отчетным месяца.
Хочу сделать так чтобы входной параметр был только один, чтобы при необходимости выгрузить отчет за какой то определенный месяц, я смог задать одну дату и выгружался отчет за месяц.
Входной параметр :sdate - текущая дата, дата запуска отчета. На его основе формируются параметры для отбора операций :date_from & :date_to. Формируются они в List of Values запросом select to_char(trunc (:sdate - 15,'MM'),'dd.mm.yyyy') from dual. Делаю так потому что не хочу в Data Model производить преобразования для вычисления первых и последних чисел месяца.

В настройках джоба во входной параметр :sdate я записываю {$sysdate()$}. Джоб создается, но при повторном открытии во вкладке General я вижу следующую ошибку
Error 500--Internal Server Error
From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
10.5.1 500 Internal Server Error
The server encountered an unexpected condition which prevented it from fulfilling the request.

Джоб не работает.

Подскажите как настроить параметры и List of Values?

Oracle BI расчет показателя.

$
0
0
Уважаемые специалисты, помогите пожалуйста, найти решение.

На физическом уровне у меня есть два источника данных (реляционные).
1) Количество зайцев в день - т.е измерение время "Time" и показатель "Кол-во зайцев"
2) Сколько морковок съели зайцы в день. Морковки протипированы по сортам: 1 сорт, 2 сорт ... N сорт. Таким образом получается два измерения: время "Time" и сорт морковки "Type". Показатель - "Кол-во морковок".

На логическом уровне получается 4 логические таблицы:
1) Логическая таблица "Time" - справочник дат
2) Логическая таблица "Type" - справочник сортов морковок
3) Логическая таблица "Зайцы" - показатель зайцев на каждый день, ссылка только на "Time"
3) Логическая таблица "Морковки" - показатель съеденных морковок на каждый день, ссылка на "Time" и "Type"

Я хочу посчитать долю морковок каждого сорта на одного зайца: "Кол-во морковок"/"Кол-во зайцев".
Проблема заключается в том, что у показателя "Кол-во зайцев" нет измерения "Type" и когда я добавляю в представление измерение "Type" показатель "Кол-во зайцев" становится NULL.

Как посчитать показатель?

SSAS 2016 - MDX Script - Scope оптимизация - Calculation Pass

$
0
0
Кто знает есть-ли какие методы заставить/обойти назначения в Scope не агрегировать значения выше по иерархии,
например в иерархии Год-Месяц-Дата прописать только для [Дата] и чтобы ничего небыло в [Месяц] и/или [Год]
Или-же единственное решение в иерархиях чистки вверх только через повторный CalculationPass на Scope[Месяц]..;this=null;.. Scope[Год]..;this=null;

Просто хотелось-бы избавится от лишних CalculationPass для SubКуба ради производительности (со всеми остальными настройками и Сервера и в Партициях/Агрегациях/Мерах/Аттрибутах и структуре измерений / чистки элементов резервы оптимизации уже исчерпаны)

Добавить промежуточный и общий итог

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

Необходимо получить такой результат, чтобы были строки: отгрузки по каждому городу, по региону и все.
Регион Город Отгрузки шт
Все регионыВсе города6500
Регион1Все города в регионе12500
Регион1Город11000
Регион1Город21500
Регион2Все города в регионе24000
Регион2Город34000


Такой запрос
+
SELECT
	[Measures].[Отгрузки шт]  ON 0,
NON EMPTY 
	{[Регионы].[Регион].ALLMembers *
	[Города].[Город].ALLMembers}
ON 1 
FROM 
	(SELECT
		([Время].[Месяц].&[2016-12-01T00:00:00],
		{[Города].[Город].&[1],
		[Города].[Город].&[2],
                [Города].[Город].&[3]})
	 ON 0
	 FROM
		Profit)

Выдает такой результат:
Регион Город Отгрузки шт
AllAll6500
AllГород11000
AllГород21500
AllГород34000
Регион1All2500
Регион1Город11000
Регион1Город21500
Регион2All4000
Регион2Город34000

Получается строки дублируются


Дорабатываю запрос
+
SELECT
	[Measures].[Отгрузки шт]  ON 0,
NON EMPTY 
	{[Регионы].[Регион].ALLMembers *
	[Города].[Город].ALLMembers}
        -
        {[Регионы].[Регион].[ALL] *
	[Города].[Город].ALLMembers}
ON 1 
FROM 
	(SELECT
		([Время].[Месяц].&[2016-12-01T00:00:00],
		{[Города].[Город].&[1],
		[Города].[Город].&[2],
                [Города].[Город].&[3]})
	 ON 0
	 FROM
		Profit)

Выдает такой результат:
Регион Город Отгрузки шт
Регион1All2500
Регион1Город11000
Регион1Город21500
Регион2All4000
Регион2Город34000

Как видно без строки Общего.


Дорабатываю еще
+
SELECT
	[Measures].[Отгрузки шт]  ON 0,
NON EMPTY 
	{[Регионы].[Регион].ALLMembers *
	[Города].[Город].ALLMembers}
        -
        {[Регионы].[Регион].[ALL] *
	[Города].[Город].ALLMembers}
        +
        {[Регионы].[Регион].[ALL] *
	[Города].[Город].[ALL]}
ON 1 
FROM 
	(SELECT
		([Время].[Месяц].&[2016-12-01T00:00:00],
		{[Города].[Город].&[1],
		[Города].[Город].&[2],
                [Города].[Город].&[3]})
	 ON 0
	 FROM
		Profit)

Пишет, что "Функция ожидает для аргумента 1 выражение набора кортежей. Было использовано строчное или числовое выражение.". Похоже, что нельзя писать так.
{[Регионы].[Регион].[ALL] *
[Города].[Город].[ALL]}

Как правильно скорректировать запрос, чтобы получить нужный результат? Учитывая, что атрибуты "Регион" и "Город" не иерархичны.

OpenSource XMLA

$
0
0
Скажите пж. есть ли OpenSource Olap сервер , который нативно поддерживает клиента MS EXCEL для SQL AS.

График в SSRS

$
0
0
Есть график у которого по ось Х - дни, а по оси У - некий количественный показатель.
с каждым днем на графике количество дней увеличивается и он становится всё плотнее.
значения дат на оси Х из-за тесноты отображаются не все - они автоматически "уплотняются" и отображается столько сколько влазит на экран.
А вот с подписями вершин графика такое не работает - отображаются все значения и в какойто момент из-за их большой плотности график стал плохочитаемым.
отключить отображение значений - не вариант. Можно ли сделать чтобы подписи отображались, но не все. Иными словами, чтобы отображались так же как и подписи к оси времени.

Документация ETL

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

Подскажите, кто вообще делает документирование своего ETL и каким образом это делаете? Возможно, если есть возможность поделитесь примерами.

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

QlikView дубликаты в списке при наличии поля ввода

$
0
0
версия QlikView 12.10 sr1
дубликаты в списке при наличии поля ввода, уникальное поле rwn, есть.
Подскажите пожалуйста, что не так?

INPUTFIELD test;

LOAD RowNo() AS RWN, * INLINE [
test
111
222
333
444
555
555
555
222
222
222
];

SSAS требования к железу - RAM

$
0
0
где почитать (или может кто так знает) по требованиям к памяти на кэширование (SE/FE) в зависимости от количества пользователей/кубов в базе и SSAS баз на сервере (и их размеров) ? не в смысле - чем больше = тем лучше, а реальное обоснование (хотя и тут от самих на лету расчётов зависит)

вопрос именно по SSAS и нагрузке при запросах от пользователей, а не по SQL DB Engine или на Агрегации/Процессинг.

для простоты допустим 64проца, 1К юзверей, 100 измерений 1000 атрибутов (по четверти миллиона элементов полюс properties), 1TB на 10 баз (40 кубов с 30тью ролями) для условно-быстрых дисков

Был когда-то FastTrack, но что-то мёртвые M$ ссылки

Размер данных 3Тб. Стоит ли связываться с Hadoop / big data ?

$
0
0
Подскажите, плиз:

Дано:
Ритейл, штук 300 серверов, на каждом MySql база идентичной структуры.
Суммарный объём данных сейчас: 300Гб, закладываем десятикратный рост, пусть будет 3Тб максимум

Требуется:
построить reporting систему, в дальнейшем к ней прикрутить olap.
Заказчик склоняется к open source решениям, в частности Hadoop + Hive
Опыта с big data пока нет, поэтому хотелось бы услышать мнение специалистов:
Стоит оно того или лучше выбрать вариант с ETL + DWH, например MSSQL + SSIS +MSAS? или порекомендуйте сравнимую open-source связку...

Cognos BI. Сбой в рассылке отчётов.

$
0
0
Добрый вечер.

На работе установлена система Cognos BI 10. Недавно столкнулись со следующей проблемой. По какой-то причине на несколько минут отрубился интернет и cognos перестал рассылать сообщения. В логах никаких ошибок найти не смог. Помогла перезагрузка системы. Через несколько дней проблема повторилась.

Подскажите, пожалуйста, в чём причина. Что нужно сделать, чтобы это не повторялось?

Oracle BI - не корректно агрегирует параметр по месяцам

$
0
0
Добрый день, уважаемые!
Помогите разобраться с проблемой.
Есть 4 физических табицы:
Справочники -
1) Календарь - Time(Дата, НазвМесяца, КодМесяцГод, Год)
2) Цвет стула - Color(ИДТипа, НазвЦвета)
3) Киоск - Kiosk(ИДКиоска, НазвКиоска)
Факты -
3) Факт работы "киоска" - KWORK(Дата, ИДКиоска,is_work(0 или 1))
4) Факт продажи стульев - KSALES(Дата, ИДКиоска, ИДТипа, ШТ)

Мне нужен вычисляемый показатель, доля продажи стульев на один приведенный магазин в разрезе цветов стульев.
sh = sum(ШТ)/(sum(is_work)/count distinct(Дата))

Встрял на расчете - sum(is_work).
Нужно, чтобы для каждого цвета стула рассчитывалось одинаковое число приведенных магазинов.
Сейчас для каждого цвета стула, считается разное количество рабочих киоско-дней, в выбранном периоде месяц...
Разные значения , получаются потому, что не во все дни продавались стулья определенного цвета, а если пустые продажи стула определенного цвета в определенный день, то и sum(is_work) пустое. И агрегат sum(is_work) за месяц получается не полный.

Как сделать, что бы агрегат sum(is_work) не зависел от наличие продаж определенного цвета в определенный день и при этом можно было делить на корректный sum(ШТ) по каждому цвету?


На BMM уровне делаю:
1) логическую таблицу (измерение) - "календарь"
2) логическое измерение - Time. Иерархия: Год -> НазвМесяца -> Дата.
3) логическая таблица (измерение) - "Киоск"
4) логическое измерение - Kiosk. Иерархия: Total -> НазвКиоска.
5) логическая таблица (измерение) - "ЦветСтула"
6) логическое измерение - ЦветСтула. Иерархия: Total -> НазвЦвета.
7) логическая таблица (факт) - "Продажи".
Логические колонки для "Продажи" без агрегации: Дата, ИДТипа, ИДКиоска.
Логические колонки для "Продажи" с агрегацией по правилу sum: ШТ, CNT_K

Логическая таблица "Продажи" имеет два Logical Table Source: KWORK и KSALES.
CNT_K мапируется к полю is_work из KWORK как есть, на вкладке content ничего не указываю.
На вкладке CNT_K levels указываю уровни Total для измерений: Kiosk и ЦветСтула.

Oracle BI красивое представление значение для логического измерения

$
0
0
Подскажите, пожалуйста..

Есть измерение time. Один из level отвечает за месяца.
По идеи все месяца каждого года должны иметь уникальные ID и их нужно указывать в описании логического измерения.
Типа такого Январь2016,Февраль2016,...,Январь2017
Но в отчете именно так и будет отражено, что не красиво.
Хотелось бы иметь человеческое представление в таблицах с возможность делать DrillUP и RollUP.
Что-то типа такого: Январь,Февраль,...,Январь.
Но если описать логическое измерение такими элементами ,то тогда агрегируются все январи (если не выбран level верхнего уровня).
Как этого избежать?

выбор иерархии из MDX

$
0
0
недавно привалило счастье в виде MDX, никак не могу понять, возможно сделать такое одним запросом или нет:

ситуация такая:
есть одно измерение, например, назовем его [Distr]
оно имеет два уровня иерархии Lev03 и Lev04.

при этом некоторые элементы уровня Lev03 имеют дочерние элементы Lev04, а некоторые не имеют, то есть ограничиваются только одним уровнем.
данные там примерно такие

Distr1 имеет дочерние элементы Distr11 Distr12
Distr2 не имеет дочерних
Distr3 не имеет дочерних
Distr4 имеет дочерние элементы Distr41 Distr42 Distr43
и т.д.

вопрос.
можно ли в селекте из куба сделать выборку, что бы в итоге получить два столбца:

Distr1 Distr11
Distr1 Distr12
Distr2
Distr3
Distr4 Distr41
Distr4 Distr42
Distr4 Distr43

пока лишь удается сделать это через 2 вложенных селекта. сначала одним селектом выбрать все элементы уровня Lev03 и далее вторым селектом для каждого элемента уровня Lev03 выбирать все .Children.

но это как-то не очень красиво.

Oracle BIP экспорт в эксель

$
0
0
Добрый день.
Есть BIP отчет (на основе селекта в БД). Селект возвращает 130 тыс строк, 50 столбцов.
При выгрузке экспорте отчета в эксель, появляются часики и "бесконечно" висят.

Из pl/sql девелопера этот же селект выгружается в эксель меньше минуты.

Вопрос как посмотреть что происходит с паблишерjм в момент экспорта? Как диагностировать причину?
Viewing all 1167 articles
Browse latest View live