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

Хитрый расчет суммы за прошлый период.

$
0
0
Коллеги, вопрос.
Нужно рассчитать оборот за аналогичный месяц в прошлом году, что сделано во второй части IIF и работает быстро.
Но, если сравнивать текущий месяц, который еще не закончился - мы должны за прошлый период считать оборот по числу рабочих дней, прошедших в текущем месяце (чтобы обороты были сравнимы). Это сделано в первой части IIF, но работает медленно.
Мера [Текущий месяц] показывает является ли данный месяц текущим.
Запрос:

[Measures].[Оборот прошлый период]

iif([Текущий месяц],sum(MTD( PARALLELPERIOD([Календарь].[Календарь рабочих дней].[Месяц],12,
Ancestor( StrToMember('[Календарь].[Календарь рабочих дней].[Дата].&['+vba!format( date(), "yyyy-MM-dd" )+'T00:00:00]'),1)) ),
[Measures].[Оборот]),sum(MTD( [Календарь].[Календарь].currentMember.lag(12)),[Measures].[Оборот]))

Тормозит вторая часть запроса, как можно её оптимизировать? SSAS 2014 Dev.
Спасибо.

ODI формирование datasource по запросу

$
0
0
Мне необходимо организовать загрузку данных с двух БД в DWH в которых есть набор идентичных таблиц (Таких таблиц где то 100)
с помощью ODI.
Загрузка в DWH будет происходить каждый день 1 раз. Загрузка для таблиц будет происходить по структуре 1 в 1 как на источнике.
Для формирование этой цели у меня есть идея создания мапинга по таблице.В мапинге для формирования source и target хотел бы использовать таблицу в которой бы хранил данные для формирование запросов и моделей
данных, ниже привел вариант.

select  'id,name,....' source_select ,'regions' source_from,'dwh_region' target_table from dual union all
select  'id,name,date,bank....' source_select ,'bank' source_from,'dwh_bank' target_table from dual 


В ODI столкнулся с проблемой что нельзя использовать запрос для формирования данных из источника.
Могли бі подсказать как можно біло автоматизировать создание и мапинг по такой цели?

Нужна консультация по ODI

$
0
0
Нужна консультация насчет реализации загрузки в ODI , готов оплатить кому интересно пишите dl.skoretskiy@gmail.com.

как сделать select disctinct поле, поле, sum() from table в dax?

$
0
0
как сделать select disctinct поле, поле, sum() from table в dax?

ODI после смены IP-фдреса на виртуальной машине - пропал коннект

$
0
0
Добрый день!
Поменялся ip на виртуалке и пропал коннект к ODI.
Что делал:
1) Зашёл в настройки Repository Connection Information, поменял в url на новый ip, выбрал Work Repository (свой репозиторий): WORKREP1 - коннект не прошёл. Видимо где то нужно поменять ещё ip в репозитории.
2) В коннекте поставил Master Repository Only - подконнектился.
3) Пошёл смотреть настройки агента - там был проставлен в хосте: localhost и порт: 20910.
Нашёл статью, где писали, что нужно вместо localhost прописать конкретный адрес. Пописал - коннект не появился.
4) Пробую делать telnet по данному хосту и порту - не проходит.
5) Отключил iptables и firewall - всёравно telnet не проходит.

Подскажите, пожалуйста, что делаю не так?

Получить минимальную дату

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

Нужно выгрузить таблицу с полями "Город", "Код ТТ", "SKU" и "Дата". Где "Дата" – это первая (min) дата отгрузки для пары "Код ТТ - SKU".

Написал такой MDX-запрос.

+MDX-запрос
WITH
MEMBER [Measures].[Min Дата] AS
	 MIN
		(EXISTING 
			//NONEMPTY(
				{[Торговые точки].[Код ТТ].CURRENTMEMBER}*
					{[SKU].[Общее SKU].CURRENTMEMBER}*
					{[Время].[Дата].[Дата].MEMBERS}
			//	,[Measures].[Отгрузки шт]
			//)
		,IIF
			(
				[Measures].[Отгрузки шт] = 0
				,NULL
				,[Время].[Дата].CurrentMember.MEMBERVALUE
			)
		)
SELECT
NON EMPTY
	{[Measures].[Отгрузки шт],
	[Measures].[Min Дата]} ON 0,
NON EMPTY
	[Города].[Город].[Город]*
	[Торговые точки].[Код ТТ].[Код ТТ]*
	[SKU].[Общее SKU].[Общее SKU]*
	[Время].[Дата].[Дата]
//HAVING
//	[Время].[Дата].CurrentMember.MEMBERVALUE = [Measures].[Min Дата]
//...
ON 1
FROM
	(SELECT (
	[Время].[Дата].&[2019-01-01T00:00:00]:[Время].[Дата].&[2019-03-26T00:00:00]
	,{[Торговые точки].[Код ТТ].&[00001грд],[Торговые точки].[Код ТТ].&[00002грд]}) ON 0 FROM PROFIT)

Выдает такой результат:

Город Код ТТ Общее SKU Дата Отгрузки шт Min Дата
Город1 00001грд SKU1 26.02.2019 2 26.02.2019
Город1 00001грд SKU1 05.03.2019 2 05.03.2019
Город1 00001грд SKU2 08.01.2019 2 08.01.2019
Город1 00001грд SKU2 12.02.2019 2 12.02.2019
Город1 00001грд SKU2 26.02.2019 2 26.02.2019
Город1 00001грд SKU2 05.03.2019 2 05.03.2019
Город1 00001грд SKU2 12.03.2019 2 12.03.2019
Город1 00001грд SKU2 19.03.2019 4 19.03.2019
Город1 00001грд SKU2 26.03.2019 2 26.03.2019

Результат не верный.


В промежуточном результате должно быть так:

Город Код ТТ Общее SKU Дата Отгрузки шт Min Дата
Город1 00001грд SKU1 26.02.2019 2 26.02.2019
Город1 00001грд SKU1 05.03.2019 2 26.02.2019
Город1 00001грд SKU2 08.01.2019 2 08.01.2019
Город1 00001грд SKU2 12.02.2019 2 08.01.2019
Город1 00001грд SKU2 26.02.2019 2 08.01.2019
Город1 00001грд SKU2 05.03.2019 2 08.01.2019
Город1 00001грд SKU2 12.03.2019 2 08.01.2019
Город1 00001грд SKU2 19.03.2019 4 08.01.2019
Город1 00001грд SKU2 26.03.2019 2 08.01.2019


А в конечном результате - так:

Город Код ТТ Общее SKU Дата Отгрузки шт Min Дата
Город1 00001грд SKU1 26.02.2019 2 26.02.2019
Город1 00001грд SKU2 08.01.2019 2 08.01.2019


Время выгрузки - 6 минут 15 секунд. Учитывая, что выгружались 2 ТТ точки с 1 января 2019. А выгрузка будет по всем ТТ с 1 января 2018. Если использовать функцию NONEMPTY, которая закоментирована в запросе, то дольше выгружает.

1. Как правильно написать запрос, чтобы выгружалось как в конечной таблице?

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

Как в DAX создать таблицу Select A.name, B.name, sum(..) from A inner join C inner join B?

$
0
0
Есть три таблицы: поставщики, детали и таблица фактов (кто, кому, сколько).

В PowerBI могу вытянуть по одному полю из трёх таблиц в одну единую таблицу.

Как то же самое сделать в DAX? нужна таблица из трёх колонок.

Power BI. Временные таблицы

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

Предположим, в Power BI используется SQL запрос, который выгружает данные, например, из одного сервера и базы данных. Есть лицензия на Power BI. В имеющемся SQL-запросе используются временные таблицы. Возможно временные таблицы хранить не в этих рабочих базах, а на облачном сервере майкрософт, чтобы не загружать рабочие базы данных? Если да, то как это делается?

Для FactTable во вью join с другой FactTable

$
0
0
В общем есть два факта, один это Permission которые дал пользователь, второй это заявки.
Факты имеют разный grain, первый это то что пользователь когда делал заявку дал разрешения на просмотр каких либо данных приложению, для одной заявки там будет множество строк, также он может бросить делать заявку, отозвать permission, потом продолжить и опять дать, второй факт это сами заявки. В чем суть, у заявок есть атрибуты, в источнике хранилось в одной таблице все, здесь вынес в Dimension, там статус, флаги, шаг заполнения и прочее, так вот, мне необходимо вытащить ключи нескольких подобных справочников из заявок в permission, сейчас делаю join во вью и забираю эти ключи, в принципе быстро, но вопрос, может я что-то упустил и вообще насколько это правильно?
Как понятно из описания факты обновляются, по другому никак, есть куча разных временных меток которые меняются, меняется статус, флаги и прочее, делаю MERGE, данные сначала лью в stage за один день, работает быстро.
Есть еще несколько подобных случаев когда во вью тащу ключи атрибутов из другого факта, так как сразу брать нельзя, потом может меняться ключ атрибутов. Т.е. к примеру был звонок, в это время заявка была в определенном статусе с опреденным набором флагов, звонок закончился, больше строка не меняется и новая вставляться не будет, но! через месяц может поменяться атрибуты заявки и они должны быть в этом звонке, т.е. ключ этих атрибутов, с permission примерно также.

После остановки Oracle BI не получается снова его запустить...

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

1) Есть Oracle BI 12, который крутится на Windows server 2012.

2) Остановил его, чтобы добавить памяти на сервере.
3) Запустил службу, которая запускает Adminserver и BI - прошло 3 часа, но так ничего и не запустилось...

4) Что есть в логах последнее:

windowsService:

Reading domain...
/Servers/AdminServer/ListenPort=9500
Accessing admin server using URL t3://WIN-OBIEE:9500
Starting AdminServer ...




AdminServer:

####<Mar 28, 2019, 12:16:12,625 PM MSK> <Info> <JDBC> <WIN-OBIEE> <AdminServer> <[ACTIVE] ExecuteThread: '48' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <27618ea2-c547-4995-b625-6c2ff51f0f9e-000000a4> <1553764572625> <[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-001128> <Connection for pool "LocalSvcTblDataSource" has been closed.>
####<Mar 28, 2019, 12:18:01,962 PM MSK> <Info> <Common> <WIN-OBIEE> <AdminServer> <[ACTIVE] ExecuteThread: '48' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <27618ea2-c547-4995-b625-6c2ff51f0f9e-000000a5> <1553764681962> <[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-000628> <Created "1" resources for pool "LocalSvcTblDataSource", out of which "1" are available and "0" are unavailable.>
####<Mar 28, 2019, 12:31:12,611 PM MSK> <Info> <JDBC> <WIN-OBIEE> <AdminServer> <[ACTIVE] ExecuteThread: '15' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <27618ea2-c547-4995-b625-6c2ff51f0f9e-000000b0> <1553765472611> <[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-001128> <Connection for pool "LocalSvcTblDataSource" has been closed.>
####<Mar 28, 2019, 12:31:40,943 PM MSK> <Info> <Common> <WIN-OBIEE> <AdminServer> <[ACTIVE] ExecuteThread: '39' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <27618ea2-c547-4995-b625-6c2ff51f0f9e-000000b1> <1553765500943> <[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] > <BEA-000628> <Created "1" resources for pool "LocalSvcTblDataSource", out of which "1" are available and "0" are unavailable.>



CPU на сервере загружена на 9 процентов... Подскажите, пожалуйста, что делать? Уже паникую...

Oracle BIEE. Переопределить значение session variable на значение из URL

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

1. Имею инф.панель, в которой есть приглашение
2. В репозитории создана переменная сеанса, для которой определен init блок.
3. В url к этой информационной панели передаю значение для моей переменной через конструкцию "&Action=Navigate&var1=requestVariables['USER_BRANCH']&val1="Филиал 1" "
4. В приглашении, описанном в п.1 SQL возвращает значения, при этом использую переменную(п.2), чтобы фильтровать этот SQL.


В чем загвоздка:
- при использовании в SQL параметра подтягивается значение из init блока, а не из URL
- в то же время, в один из анализов, возвращающих таблицу вытаскиваю в поле значение моей переменной. Так вот здесь возвращается значение из URL, как и надо

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

Проектирование измерения из двух признаков

$
0
0
Доброго времени суток.

У меры есть два признака (F1 и F2), которые могут принимать значение false/true
Эти признаки логически связаны.
Сейчас они используются как разные атрибуты одного измерения (для каждого атрибута есть значение false и true.
Id измерения формируется побитно, т.е. для двух признаков это числа от 0 до 3.
Пользователю интересно только значения true.
Хотелось бы их объединить в один атрибут со значениями F1 и F2
Вопрос как это сделать?
Проблема в том, некоторые значения будут относится и к F1 и к F2

Informatica. Как автоматизировать экспорт/импорта обьектов из одной среды в другую

$
0
0
Привет всем
У кого есть опыт автоматизации экспорта/импорта обьектов из одной среды в другую
Я так понимаю нужно написать скрипт который сможет по меткам , созданному запросу который использует метки -> формирует xml
И каким то образом нужно обьекты засунуть в новый репозиторий
Кто может помочь?

Доступ к данным куба SSAS через Web API

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

Пытаюсь найти оптимальное решение такой проблемы.
Есть БД, на ее основе планируется построить куб(ы) для дальнейшей клиентоориентированной выборки данных через веб сервис, в идеале -- в JSON-формате. То есть, клиент отправляет запрос на веб-сервис, на основании данных запроса и уровня доступа клиента генерируется ответ сервиса с необходимой выборкой по кубу.

Смотрю в сторону использования ADOMD.net и MDX -- там есть XmlReader, который, судя по документации, возвращает данные и метаданные в XML формате (внезапно!).

Вопрос -- в правильную ли сторону я смотрю или есть более практичное решение?
И как можно конвертировать выходной файл в JSON (кроме как парсингом)?

Заранее спасибо.

Модератор: Тема перенесена из форума "Microsoft SQL Server".

Как для информатики прописать в odbc.ini сязь с Excel

$
0
0
При попытке настроить загрузку файла в формате xslx через ODBC получаю ошибку

Severity Timestamp Node Thread Message Code Message
ERROR 08.04.2019 12:09:29 node01_k6-ipc-app.vtb24.ru READER_1_1_1 RR_4036 Error connecting to database [
[DataDirect][ODBC lib] Data source name not found and no default driver specified
Database driver error...
Function Name : Connect
Database driver error...
Function Name : Connect
Database Error: Failed to connect to database using user [pmnulluser] and connection string [XLS].].

Как для информатики прописать в odbc.ini сязь с Excel , есть у кого нить примеры?

SSAS maximum parallel tasks

$
0
0
Коллеги, вопрос. Как можно гибко настроить SSAS maximum parallel tasks, чтобы максимально потоков было, например, 7 или 9, а не только то, что есть в меню?

Спасибо.

Jobs шт Pentaho Data Integrator

$
0
0
Всем привет.
В общем пощупал чуток, но осталось пара вопросов.
Ещё не пробовал настроить хранение репы в БД. Хотел уточнить, есть ли возможность если репа лежит в БД изменять расписание работы джобов меняя таблицы в БД? И какой основной профит если репу хранить именно в БД, а не на файловой системе? Если хранение файлов организовать через гит, то вообще разницы не понимаю.

Power BI как связать 2 среза?

$
0
0
Приветствую! Не нашел отельной ветки по Power BI. (просьба перенести, если не по адресу).

Вопрос знатокам Power BI и DAX

Есть 2 таблицы Факт и Цели.

Цели (по месяцам)
Регион/ Дата/ Цель по кол-ву товаров
Москва/01.01.2019/5

Факт
Id продажи (уникальный)/Регион/Дата
1/Москва/01.01.2019

Связь между таблицами по дате многие ко многим, направление Один(Факт фильтрует цели). Выношу на график цели и факт.
Создаю 2 среза (фильтра): один Регион из таблицы Факт, второй Регион из таблицы Цели. Если выбираем регион в обоих срезах -все работает как надо. Вопрос: как сделать один срез вместо 2-х, чтобы работало так-же?

Пример приложил.

Создание куба в Management Studio

$
0
0
Поднял SSAS, подключился через студию, создал новую базу, в ней создал роль админа, внес туда свой аккаунт.
Но при попытке создать новый источник данных обломался на том, что нет пункта "Create Data Source"
Последний раз работал еще с 2005 версией, помнится там все было просто, но может что забыл?
В чем я туплю?

BI Publisher странное поведение отчёта

$
0
0
Приветствую всех!
Наблюдаю очень странное поведение отчёта BI Publisher. А именно - отчёт при запуске с одними и теми же значениями параметров возвращает произвольный набор данных. Причём набор данных не полный (сравниваю с результатами этого же SQL запроса в PL/SQL Developer'е).
Кто-нибудь встречал подобное?
Viewing all 1167 articles
Browse latest View live