ЗНАЙ ИНТУИТ, Лекция, Промяна на мерки, атрибути и йерархии
Теоретично въведение
Задаване на свойства на измерване
Мерките имат свойства, които ви позволяват да дефинирате и контролирате как работят и как се показват на потребителите. Мерките наследяват определени свойства от групата мерки, на която са членове, освен ако тези свойства не са заменени на ниво мярка. Свойствата на мярката определят агрегирането, типа на данните, показваните от потребителя имена, папката за показване, низа за форматиране, изразите на мярката, основните колони на източника и видимостта за потребителите (Таблица 4.1).
Статистически функции
SSAS предоставя функции за агрегиране на мерки и измерения, съдържащи се в групи мерки. По подразбиране мерките се сумират по всяко измерение. Свойството AggregateFunction обаче ви позволява да промените това. Агрегираната адитивност определя как една мярка се агрегира за всички измерения в куб. Статистическите функции са разделени на три нива на адитивност:
- адитивна мярка, наричана още напълно адитивна мярка, може да бъде агрегирана по всички измерения в куб, които са включени в групата от мерки, съдържаща мярката, без ограничения.
- полудобавена мярка може да бъде агрегирана по някои, но не всички, измерения, които са включени в групата мерки, съдържаща мярката. Например мярка, представляваща наличното количество в инвентара, може да бъде агрегирана по географското измерение, за да се получи общото налично количество във всички складове; но тази мярка не може да бъде статистически изчислена по времевото измерение, защото е периодична моментна снимка на наличните количества. При статистическо изчисляване на подобна мярка по измерение на времетоще получите грешни резултати.
- неадитивна мярка не може да бъде агрегирана по което и да е измерение в група от мерки, съдържаща тази мярка. Вместо това мярката трябва да се изчисли индивидуално за всяка клетка в куба, която представлява тази мярка. Например изчислена мярка, която връща процентна стойност, като марж на печалбата, не може да бъде изчислена въз основа на процентните стойности на децата във всяко измерение.
Таблица 8.2 изброява статистическите функции в SSAS и описва адитивността и очаквания резултат от функцията.
сума | Добавка | Изчислява сумата от стойностите на всички дъщерни елементи. Това е агрегирането по подразбиране. |
Броя | Добавка | Получава броя на всички дъщерни елементи. |
Мин | полудобавка | Получава най-ниската стойност за всички дъщерни елементи. |
Макс | полудобавка | Получава най-високата стойност за всички дъщерни елементи. |
DistinctCount | неадитивен | Получава броя на всички уникални дъщерни елементи. |
Нито един | неадитивен | Не се извършва обобщено изчисление и всички стойности за листови и нелистови членове в измерение се получават директно от таблицата с факти за групата мерки, която съдържа мярката. Ако стойност за елемент не може да бъде прочетена от таблицата с факти, тогава стойността за този елемент е зададена на NULL. |
По акаунт | полудобавка | Изчислява съвкупността според статистикатафункцията, присвоена на типа акаунт за члена на измерението на акаунта. Ако измерението тип акаунт не съществува в групата мерки, то се третира по същия начин като агрегатната функция Няма. |
AverageOfChildren | полудобавка | Изчислява средната стойност на стойностите на всички непразни дъщерни елементи. |
Първо дете | полудобавка | Получава стойността на първия дъщерен елемент. |
Последно дете | полудобавка | Получава стойността на последния дъщерен елемент. |
FirstNonEmpty | полудобавка | Получава стойността на първия непразен дъщерен елемент. |
LastNonEmpty | полудобавка | Получава стойността на последния непразен дъщерен елемент. |
Формати на дисплея
Можете да изберете формата, използван за показване на стойностите на мярката на потребителите, като използвате свойството FormatString на мярката.
В допълнение към съществуващия списък с формати за показване, можете да посочите много допълнителни формати, които не се съдържат в този списък. Можете да посочите всеки наименуван или дефиниран от потребителя формат, който е валиден в езика на Microsoft Visual Basic.
Дефиниране на именувани изчисления в изглед на източник на данни
Именуваното изчисление е SQL израз, представен като изчисляема колона. Този израз изглежда и работи като колона на таблица. Именуваното изчисление ви позволява да разширите релационната схема на таблици или изгледи, които съществуват в изглед на източник на данни, без да променяте таблиците или изгледите в основния източник на данни. Например обща изчислена стойност, извлечена от колоните на таблица с факти, може да бъде представена като едно изчисление с едно име в изгледаизточник на данни, вместо да променя основната таблица на базата данни или да създава изглед в основната база данни. Именуваните изчисления също могат да се използват вместо изчислени членове във всеки куб въз основа на изгледа на източника на данни. Именуваните изчисления се изчисляват по време на обработката, докато изчислените членове се изчисляват по време на заявка.
Именуваните изчисления също често се използват за осигуряване на смислено име за член на измерение.
Когато създавате наименувано изчисление, посочвате име, SQL израз и (по избор) описание на изчислението. SQL изразът може да препраща към други таблици в изгледа на източника на данни. След дефиниране на наименувано изчисление, изразът в наименуваното изчисление се изпраща до доставчика на източник на данни и се валидира като следния SQL оператор, който съдържа израза, който дефинира наименуваното изчисление.
Типът данни на колона се определя от типа данни на скаларната стойност, върната от израза. Ако доставчикът не открие никакви грешки в израза, тогава колоната ще бъде добавена към таблицата.
Колоните, посочени в израза, не трябва изобщо да имат квалификатор или трябва да имат само квалификатор, който съответства на името на таблицата. Например можете да използвате SaleAmount или Sales.SaleAmount, за да препратите към колоната SaleAmount в таблица, но dbo.Sales.SaleAmount връща грешка.
Атрибутни връзки
В SSAS атрибутите са градивните елементи, от които се създава измерение. Измерението съдържа набор от атрибути, организирани въз основа на връзките между тях.
За всяка таблица, съдържаща се в измерение, има връзка на атрибут, която определя връзката на ключовия атрибут на таблицата с други атрибути от същата таблица. Тази връзказадава се при създаването на измерението.
Връзката на атрибут осигурява следните предимства:
- намалява количеството памет, необходимо за обработка на измерването. Това ускорява обработката на измерения, дялове и заявки;
- Подобрява производителността на заявките, тъй като достъпът до хранилището е по-бърз и плановете за изпълнение са по-добре оптимизирани.
- води до избора на по-ефективни алгоритми за създаване на статистически схеми (при условие, че потребителските йерархии са дефинирани чрез пътища на връзката).
В SSAS атрибутите на измерение винаги са пряко или непряко свързани с ключов атрибут. Когато едно измерение е дефинирано в звездна схема, където всички атрибути на измерение са наследени от една релационна таблица, връзките между ключови и неключови атрибути се определят автоматично. Когато измерение е дефинирано в схема на снежинка, където атрибутите на измерение са наследени от различни релационни таблици, връзките на атрибутите се дефинират автоматично, както следва:
- между ключов атрибут и всеки неключов атрибут, обвързан с колона в главната таблица на измерението;
- между ключовия атрибут и атрибутите, свързани с външния ключ на спомагателната таблица, която свързва базовите таблици с размери;
- между атрибут, обвързан с външен ключ на спомагателната таблица, и всеки неключов атрибут, обвързан с колоните на спомагателната таблица;
Въпреки това, поради редица причини, може да искате да промените връзките на атрибутите по подразбиране, като например да дефинирате естествена йерархия, персонализиран ред на сортиране или детайлност на измерение въз основа на неключов атрибут.
Йерархията е естествена, когато всеки атрибут на персонализирана йерархия има връзка "един към много".атрибута непосредствено под него. Да приемем, че измерението „Клиент“ се основава на релационна таблица с осем колони:
- CustomerKey ;
- Потребителско име ;
- възраст;
- пол;
- електронна поща;
- град;
- държава;
- регион;
Съответното измерение на SSAS съдържа седем атрибута:
- Клиент (базиран на CustomerKey и CustomerName);
- Възраст, пол, имейл, град, регион, държава.
Връзките, представляващи естествени йерархии, се създават чрез свързване на атрибути на текущото и по-ниските нива. В SSAS това свойство дефинира естествената йерархия и възможно агрегиране. В измерението Клиент се прилага естествена йерархия към атрибутите Държава, Регион, Град и Клиент. Естествената йерархия на < Държава, Регион, Град, Клиент > се описва чрез добавяне на следните атрибутни връзки:
- атрибутът " Държава " като атрибутна връзка с атрибута " Регион ";
- атрибутът "Регион" като атрибутна връзка с атрибута "Град";
- атрибутът „ Град “ като атрибутна връзка с атрибута „ Клиент “.
Можете също така да създадете персонализирана йерархия, за да навигирате в данните на куба, която не е естествена йерархия на данни (такава йерархия се нарича ad hoc или йерархия на отчитане). Например, персонализирана йерархия може да бъде създадена въз основа на < Възраст, пол >. Потребителите няма да могат да видят разликата в поведението, да направят разлика между тези йерархии, въпреки че естествената йерархия осигурява предимство поради агрегатите и структурите за индексиране, които са скрити от потребителя, които са отговорни за естествените връзки в изходните данни.
Свойство Level SourceAttributeопределя кой атрибут описва нивото. Свойството " KeyColumns " на атрибута указва колоната в изгледа на източника на данни, която е източникът на елемента. Свойството " NameColumn " на атрибута може да сочи към друга колона с имена на елементи.
За да дефинира ниво в персонализирана йерархия, BI Dev Studio използва Dimension Builder, за да избере атрибут на измерение, колона в таблица с измерения или колона от свързана таблица, съдържаща се в изгледа на източник на данни на куб.
Когато създавате атрибут, трябва да се уверите, че атрибутът, посочен от връзката, няма повече от една стойност за всеки елемент от атрибута, към който принадлежи. Например, ако дефинирате връзка между атрибутите " Град " и " Държава ", всеки град ще принадлежи към една държава.
Създаване на персонализирани йерархии
Задаване на ниво „Всички“ за йерархии на атрибути
В SSAS нивото Всички е незадължително, генерирано от системата ниво. Той съдържа само един елемент, чиято стойност е резултат от агрегирането на стойностите на всички членове на най-близкото подчинено ниво. Този елемент се нарича " Всички ". Той се генерира от системата и не се показва в таблицата с размери. Тъй като членът на ниво „Всички“ е на върха на йерархията, неговата стойност е резултат от агрегирането на стойностите на всички членове на йерархията. Елементът ( All ) често служи като член по подразбиране на йерархията.