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

Как быть с кубом ?

$
0
0
У меня есть куб постоенный на таблицах по схеме звезда
таблица фактов с заказами и дименшн с продажниками

ORACLE BI Analytics. При использовании карт не отображаются данные, только карты.

$
0
0
Добрый день, форумчане!

Использую Oracle BI 12.2.1.0 и стандартные карты ORACLE_MAP.

Источник данных для мепинга во вложении excel.

Что самое странное, на основе этого же источника данных карта в ORACLE BI "Data Visualization" прекрасно отображает информацию.

Нашла похожую проблему в теме
http://www.sql.ru/forum/1070972/oracle-bi-analytics-pri-ispolzovanii-kart-ne-otobrazhautsya-dannye-tolko-karty

Но как она была решена не понятно.

Буду очень признательна за помощь, спасибо!

MDX (MS SSAS)

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

Требуется помощь в запросе MDX для корректного расчета Меры "Активная клиентская база".
Для справки - "Активная клиентская база - это все постоянные клиенты компании, закупившие товар более одного раза и продолжающие закупать его с определенной периодичностью."

Измерения DWH:
DimDepartment (ID, Name) (филиал)
DimTradeAgent (ID, Name) (торговый представитель)
DimTradePoint (ID, Name) (торговая точка)

Измерения не зависят друг от друга.

Мера DWH:
FactACB (ID, DepartmentID, TradeAgentID, TradePointID, ACBValue)(Активная клиентская база)
Значения в мере всегда имеют булево значение 1 или 0.

Суть проблемы:
Построен OLAP (SSAS) с перечисленными выше измерениями и данной мерой. На данный момент OLAP агрегирует все значения по всем граням. OLAP используется в разрезе Department/TradeAgent/TradePoint примениельно к данной мере. На данный момент если "Торговая точка" находится (за определенный срез времени, например "на дату") у двух "Торговых представителей" то у обоих значение АКБ агрегируется корректно, но оно не должно агрегироваться на уровне выше, т.е. Филиале. В расчете для "Филиала" требуется расчет "уникальных значений по всем сущностям ниже", т.е. в примере неправильное значение по "Филиалу 1" = 8, а должно быть = 7, т.к. "Торговая точка 1" встречается у двух "Торговых представителей", но должна учитываться уникально для "Департаментов" и для "Общего итога".

Надеюсь достаточно подробно описал.
Приложил пример (структуру сводной таблицы в Excel) с текущим состоянием и требуемым.

Прошу помощи в корректном составлении MDX запроса (хотя возможно есть какое либо свойство в SSAS/VS по которому можно отсекать такие задвоения на разных уровнях выстраивания измерений).

[img]http://s018.radikal.ru/i507/1612/32/f0061265db6a.jpg[/img]

SSIS не работает транзакция пакета при ODBC подключении

$
0
0
Всем привет!
БД источник - SQL Server 2008, БД назначения - SQL Server 2012. Запускаю локально SSIS пакет на сервере назначения, который подключается по ODBC к БД источнику и переливает 1 таблицу в БД назначения. Хочу, чтобы пакет выполнялся одной транзакцией. В свойстве Conrol Flow - Transaction option = Required. Во всех блоках этому свойству проставляю Supported. MSDTC запущен и пользовательский DSN (который ведет к БД источнику) проверен DTCtester'ом. На серверах БД источника и БД назначения в firewall MSDTC внесен в список исключений.

Пакет падает на этапе ODBC подключения со следующей ошибкой:
Error: There was an error trying enlist an ODBC connection in a transaction. The SQLSetConnectAttr failed to set the SQL_ATTR_ENLIST_IN_DTC attribute.

В чем может быть дело?

ORA-00933: неверное завершение SQL-предложения

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

Помогите пожалуйста в чем здесь проблема .

Select * from
sales'||to_char(sysdate, 'mmyyyy')||'@DB_link'||' c


Compilation errors for PROCEDURE DWH.SALES_MON

Error: PL/SQL: ORA-00933: неверное завершение SQL-предложения
Line: 21
Text: sales'||to_char(sysdate, 'mmyyyy')||'@DB_link'||' c,



Заранее огромное спасибо!

SSIS импорт данных из Excel при запуске пакета из SQL Agent не работает

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

Имеется:
Microsoft SQL Server 2012 (SP1) - 11.0.3373.0 (X64)
Jun 29 2013 21:15:12
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)

и установленный Microsoft Office 12.0 Access Database Engine OLE DB 32-bit.

В студии создаю SSIS пакет, в пакете - подключения к Excel (Microsoft Office 12.0 Access Database Engine OLE DB) и SQL Server (OLE DB), потом простой Data Flow с OLE DB источником и назначением.
В источнике использую подключение к Excel файлу, в назначении - SQL Server таблицу.
В свойствах SSIS проекта выставлено Run64BitRuntime=False.
Все работает, данные переливаются.

Теперь хочу запускать пакет из-под джоба в SQL Server Agent. Там все как положено, есть прокси учетка для SSIS.
Создаю джоб, добавляю шаг с запуском пакета и Execution Option - Use 32-bit Runtime, задаю расписание, но после джоб падает с ошибкой:
Аn OLE DB record is available. Source: "Microsoft Access Database Engine"  Hresult: 0x80004005  Description: "Unspecified error".
Description: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  
The AcquireConnection method call to the connection manager "Excel" failed with error code 0xC0202009.


В чем может быть дело?

я пробовал не отмечать Use 32-bit Runtime в шаге джоба, но тогда ловлю:
Description: The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode. Error code: 0x00000000.

что, впрочем, и ожидается.

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

SSAS-Пакетный поиск источника/таблицы/представления для Групп Мер при отсувствии партиций

$
0
0
Как-бы жили не тужили обычным перечислением обьектов Process на Unprocessed выдавали и при тестировании очередного нового Health Control алгоритма обнаружились какие-то непонятные пропуски, в связи с чем вопрос:
Кто знает как вытащить в PowerShell / Amo таблицу источник для Группы Мер через new-object Microsoft.AnalysisServices ?

Т.е. для сценария когда скрипт обнаруживает что одна из нескольких тысяч групп мер в сотне кубов/десятках баз данных из нескольких серверов не содержит никаких партиций наример - потерялася загадочным образом (иначе если есть партиция - то через Clone() / Source.QueryDefinition с Replace / Partitions.Add() / Update() можно пересоздать {как минимум из какой-нибудь Part_Default (..where 1=0)}, т.к. есть информация об источнике). А вот если партиций совсем нет - то могу только через ..Measures.Item(0).Source.Source до TableID достучаться (что не есть сама схема/таблица, хотя можно конечно заменой первого _ префикса - но рискованно, т.к. ID не обязательно так генерируются)
в DMV тоже вроде ничего подходящего не нашлось.
У кого какие идеи/опыт в решении таких проблем есть?

SSAS: Создать CM для Database Dimension

$
0
0
Привет!

Возможно ли в принципе создавать Calculated Members не для Role-Playing измерений куба, а для исходных измерений базы?
Это чтобы создавать их один раз, и они наследовались тогда Role-Playing измерениями куба.

В Financial reporting studio испортилась кодовая страница

$
0
0
В Financial reporting studio испортилась кодовая страница : вместо русских букв аброкадабры.ПОМОГИТЕ! Кто чем может...

Нужна помощь с MDX

$
0
0
Нужно написать простую формулу, но не пойму как это сделать.
Есть измерение с иерархией (она используется как строки в отчете) и булевым атрибутом (0 или 1) на листовом уровне. Есть две меры A и B.

Нужно на листовом уровне получить А если атрибут = 0 и B если атрибут = 1. На нелистовом уровне нужно просто сложить значения, полученные на листовых уровнях.

В DAX я бы написал что-то вроде
calculate([A], table[attr]=0) + calculate([B], table[attr]=1)

А как сделать такое в MDX?

SSIS2016 не работает процессинг измерения

$
0
0
В Visual Studio 2015 создаю ssis-пакет для процессинга измерения или куба на SSAS 2016 64-bit build 13.0.4199.0.
Пакет успешно выполняется при отладке, но после деплоймента на сервер MSSQL2016 SP1 вылезают кракозябры,
если в ID измерения или куба есть кирилица.
Можно ли это как нибудь исправить? (кроме изменения ID измерения).

VCL компоненты pivotcube.com еще актуальны?

$
0
0
привет.
кто нибуть использовал данные компоненты http://pivotcube.com/cgi-bin/index.cgi для дельфи?
написал на суппорт ни слуху ни духу.
и на местном форуме последний раз обсуждалось в 2011.
куда делся Alex Zencovich? кто нибуть контактировал с ним?

Отчет в сводной таблице съедает всю оперативку

$
0
0
Коллеги, доброго времени суток.
Есть SSAS Tabular.
Просветите: Есть SSAS Tabular, есть отчет в сводной таблице.
Есть измерение - география. Там 3 поля: Дивизион - Регион - Город. (Суммарно - около 1000 значений).
Так вот, если в фильтре указать поле "Регион", выбрать пару значений. А затем поместить в отчет поле "Город", то отчет умирает.
Если убрать - секунд за 7 - формируется.
(Отчет большой, 7 колонок, с столбцах тоже много чего).

Взял другое измерение для теста,[Distributor] - также сначала - одно поле поместил в сводную таблицу - по второму - фильтр - и история повторилась, отчет "повис".
Уменьшил количество выводимых полей - все равно висит.


Вопрос: возможно нельзя(не рекомендуется) в одном измерении одновременно - по одному полю фильтровать, а другое при этом отображать в отчете? (Код запроса наже, одновременно вывел в фильтр WHERE ([Distributor].[Koordinator].&[xxxxxxxxx] и вывожу поле [Distributor].[Distributor])


SELECT NON EMPTY Hierarchize({DrilldownLevel({[Product].[Brand].[All]},,,INCLUDE_CALC_MEMBERS)})
DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON COLUMNS , NON EMPTY
Hierarchize(
DrilldownMember(
DrilldownMember(
CrossJoin({[Clients].[Customer Number].[All],
[Clients].[Customer Number].[Customer Number].AllMembers},
{([Channel type].[Channel type].[All],[Distributor].[Distributor].[All])}
),
[Clients].[Customer Number].[Customer Number].AllMembers,
[Channel type].[Channel type]
),
[Channel type].[Channel type].[Channel type].AllMembers,
[Distributor].[Distributor]
)
)
DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON ROWS FROM
(SELECT ({[Calendar].[Fiscal Year-Month].[FYear].&[2016/2017],[Calendar].[Fiscal Year-Month].[FYear].&[2015/2016]})
ON COLUMNS FROM [Модель]) WHERE ([Distributor].[Koordinator].&[xxxxxxxxx],[Measures].[Gross Sales])
CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS

Объясните логику MDX

$
0
0
Всем привет!
Есть следующий запрос:
WITH
Member [Measures].[TotalRub] AS
([Measures].[Оборот руб],[Торговые точки].[Округ].[Все])

SELECT
{
[Measures].[Оборот руб],
[Measures].[TotalRub]
}
ON columns,

(
[Дата].[Г-М].[Месяц].allmembers*
[Торговые точки].[Округ].allmembers*
[Номенклатура].[Наименование короткое].&[Картон]
)
ON rows



FROM (SELECT ( STRTOSET("[Сети].[Наименование].&[4307]", CONSTRAINED) ) ON COLUMNS 
FROM ( SELECT (STRTOMEMBER("[Дата].[Г-М].[Месяц].&[201610]", CONSTRAINED) ) ON COLUMNS 
FROM ( SELECT ( STRTOSET("[Торговые точки].[Регион].&[39]", CONSTRAINED) ) ON COLUMNS
FROM [Retail Analytics])
))

Он выдает следующий результат

2016/ОктябрьВсеКартон4999551942
2016/ОктябрьСеверо-Западный федеральный округКартон4999551942


Хотя в моем представлении все 4 цифры должны быть одинаковые, ведь на уровне ВСЕ стоит корректная цифра.

Вопрос: почему [Торговые точки].[Округ].[Все] в member собирает цифру без учета фильтра, указанного во FROM?
Там же есть и другие фильтры, по дате и по сети, подсчет идет с учетом этих фильтров.
В логике TSQL сначала строится ограниченное множество, потом из него выбираются данные, тут же почему то в MEMBER фильтр непонятным образом частично перестает работать.
Как построить запрос, чтобы цифры были одинаковые?

BI Publisher - как организовать рассылку выписок пользователям

$
0
0
Необходимо организовать рассылку выписки пользователям - это некий отчет, который в зависимости от логина учетной записи пользователя выдает соответствующие этой учетной записи данные. Есть ли возможность такое реализовать и если да то как?

Разработка хранилища

$
0
0
Доброго дня!
Пишу с целью получить знания более опытных коллег.
Сейчас находимся на этапе разработки хранилища данных. Проблема в том, что разработка начинается из-за неудачного опыта с так называемыми аутсорсерами, которые не смогли. Разработали полумодель данных, на которых уже ретивые аналитики настроили машинное обучение и некоторые витринки. Дальше было решено делать хранилище собственными силами. Разумом было поглощено много тем, из которых сделан вывод, что:
- стоит грузануть исходные данные в первый слой как есть;
- разработать корпоративную модель данных с историчностью;
- из КМД строить уже нужные витринки для различных подразделений, причем предусмотреть возможность drill-down(пока непонятно как)
- оставить возможность разработки метаданных, так как они нужны будут потом для того же самого drill-down;
- оставить возможность для late data arriving - пока не загружать факты до пришедших измерений, но потом можно будет генерить фиктивные ключи и записи для обеспечения доступа к данным;

Проблема в том, что бизнес хочет уже сейчас так, как было настроено там, ведь уже рабочие процессы есть. Собственно вопросы:
- как сопротивляться agile разработке, если нужен результат, и обеспечить дальнейшую гибкость системы?
- как обосновывать ресурсные затраты человекочасов и человеколюдей, если "там уже есть таблички ведь, давай грузанем также", если данные загружены сейчас как набор витрин, некоторые из которых вообще без историчности. Это при том, что я вижу голодные пасти совершенно других подразделений со своими запросами в другой плоскости.
Пока решил, что сбоку пристрою текущую модель, и параллельно попытаюсь сделать "правильно". Может у кого-то есть опыт в таком?
И может кто скажет общие выводы, а то с английским пытаюсь дружить, но недостаточно пока что. DAMA DMBOK - это что-то вроде списка наборов знаний по управлению данными? Что насчет TOGAF, MIKE2.0?

SSAS ROLAP и связь многие-ко-многим

$
0
0
ДД!
Есть работающий куб, в котором, есть связь многие-ко-многим.
Пытаюсь сделать в этом кубе, чтобы секция группы мер, в которую попадают новые данные работала в режиме ROLAP.

Все обычные измерения работают корректно, только то что связано многие-ко-многим выдают первый раз ошибку с таким вот сообщением
"Нам не удалось получить данные из внешнего источника. Ниже приведено сообщение об ошибке:
Ошибка модуля хранения OLAP: Достигнут предел выполнения"

При следующем попытке сделать отчет сообщение об ошибке меняется :
"Нам не удалось получить данные из внешнего источника. Ниже приведено сообщение об ошибке:
Ошибка модуля хранения OLAP: Найден дублирующий ключ атрибута при обработке: таблица "DIM_xxx" столбец IDNew Значение 123456"
При этом в таблице совершенно точно нет дубликатов.

Может кто-то сталкивался с подобной проблемой?
Может есть какие-то хитрости для связей многие-ко многим в ROLAP?
Похоже какая-то ошибка в проекте, но куда смотреть не могу сообразить?

С чего начать изучение Oracle Essbase?

$
0
0
только без стеба, по делу

Не удается выбрать вычисляемые поля в фильтр.

$
0
0
Здравствуйте. Помогите пожалуйста разобраться с проблемой.
Развернул куб на сервере на базе sql server 2008. В файлике excel подключенном к этому кубу нельзя в фильтры добавить вычисляемые поля куба, которые есть на скрине во вложении. Они неактивны. И не активна настройка в параметрах сводной таблицы (на вкладке "Итоги и фильтры") "Расчет вычисляемых элементов из серверов OLAP в фильтрах", которая делает возможным выбор вычисляемых элементов в фильтр сводной таблицы.
в аналогичном кубе развернутом на другом сервере эта настройка активна и есть возможность выбора вычисляемых элементов на скрине в фильтр.
Excel версии 2013.

Informatica - парсинг XML вида "name-value"

$
0
0
Подскажите плз,
Существует ли способ отпарсить строки такого вида:
<object type="car">
    <field name="brand" value="Honda"/>
    <field name="price" value="5000"/>
    <field name="year" value="1996"/>
</object>

в поля так, чтобы связывание строки c полем происходило по значению атрибута (в данном случае - name), а не позиционно, как это реализовано в мехаинзме [url=]XML pivoting[/url]
Viewing all 1167 articles
Browse latest View live