Выборка по времени в ВАТ как диапазон дат
Для того, что бы в ВАТ была возможность задать выборку по времени
необходимо чтобы измерение было спроектировано соответствующим образом. Ключ даты должен быть в формате YYYYMMDD, ключ недели — в формате YYYYWW, ключ квартала – в формате YYYYQ, ключ месяца — в формате YYYYMM, ключ года — YYYY. Для ключа рекомендуеться тип Integer. Кроме того, для иерархии должен быть коментарий который задает то, какой уровень отвечает за день, какой за неделю, какой за месяц, какой за год, например: «[YMD=Day, YW=Week, YQ=Quarter, YM=Month, Y=Year]», где Day, Week, Quarter, Month, Year — названия соответствующих уровней. Присутствовать должны не обязательно все 5 уровней. Если название одного из уровней содержит пробелы, то его нужно взять в квадратные скобки […].
В табулярных кубах в многоуровневых иерархиях поля Description нет, но это поле есть у атрибутных иерархий. Поэтому следует в свойствах для соответствующей атрибутной иерархии в поле Description прописать свой нужный комментарий:
Если клиент допустил ошибку при задании description иерархии в кубе, то он получит лог об ошибке следующего содержания:
<?xml version=»1.0″ encoding=»utf-16″?><root> <LogRecord Date=»2015-09-11T10:14:17″ Place=»DimensionsMeasuresBusiness.DataInit» Level=»Error»>
<ApplicationUserInfo FirstName=»Lena» LastName=»Vayda» Login=»root» Telephone=»» Email=»user@bitimpulse.com» />
<Message>Для диапазона дат неправильно задан description иерархии в кубе.</Message>
<SystemInfo>
<User>URANUS:lvayda@BIT</User>
<Version>4.120.0.0</Version>
<Process>[4924] C:\Program Files\Business Analysis Tool\4.120.1.0\Admin\BATAdmin.exe (4.120.1.0)</Process>
<ThreadID>10</ThreadID>
</SystemInfo>
<Exception>Сервер: uranus\sql2008; База данных: Adventure Works DW 2008R2 Folders; Куб: Adventure Works Следующие иерархии имеют неправильно заданные уровни:
[Date].[Calendar]: Clendar Year;
[Delivery Date].[Calendar]: Clendar Year;
[Ship Date].[Calendar]: Clendar Year;
</Exception>
</LogRecord>
</root>
Из него следует, что
Сервер: uranus\sql2008;
База данных: Adventure Works DW 2008R2 Folders;
Куб: Adventure Works
содержит иерархии, имеющие неправильно заданные уровни:
[Date].[Calendar]: Clendar Year;
[Delivery Date].[Calendar]: Clendar Year;
[Ship Date].[Calendar]: Clendar Year.
Как это исправить?
В нашем случае в логе речь идет о description. Поэтому открыв Microsoft Visual Studio, мы видим, что иерархия Calendar имеет неверно указанный комментарий (description):
Необходимо указать правильное название уровня:




