Поделиться через


Использование статистических функций

В данном подразделе содержатся примеры использования агрегатных функций (Sum, Min, Max, Count и Distinct Count) в измерениях. Примеры запросов основаны на тех же ячейках куба, что и следующие примеры, так что можно увидеть эффекты от изменения функции.

Куб, используемый в примерах, содержит одну меру, «Продажи», основанную на столбце Sales_Amount в таблице фактов Sales. Куб имеет три измерения.

  • Измерение «Заказчики» определено на таблице Customers и содержит следующие уровни от самого высокого до самого низкого:

    • (All) все;

    • заказчик определяется столбцом имени Customer_Name и столбцом ключа Customer_ID.

  • Измерение «Розничные магазины» определено на таблице Retail_Stores и содержит следующие уровни от самого высокого до самого низкого:

    • (All) все;

    • розничный магазин определяется элементом столбца имени Retail_Store_Name и элементом ключевого столбца Retail_Store_ID.

  • Измерение «Продукция» определено на таблице Products и содержит следующие уровни от самого высокого до самого низкого:

    • (All) все;

    • категория продукта определяется элементом столбца имени Product_Category и элементом ключевого столбца;

    • продукт определяется элементом столбца имени Product_Name и элементом ключевого столбца Product_ID.

Дополнительные сведения об измерениях и уровнях см. в разделе «Измерения и уровни».

Здесь показана схема куба.

Здесь показана таблица фактов Sales куба.

Transaction_ID

Customer_ID

Product_ID

Retail_Store_ID

Sales_

Сумма

1

1

1

1

300

2

1

1

1

250

3

1

1

1

250

4

1

2

1

100

5

1

4

1

700

6

2

1

2

290

7

2

2

2

90

8

2

3

3

510

9

3

1

4

350

10

3

2

3

110

11

4

3

4

550

12

4

4

4

750

Здесь показана таблица измерения Заказчики куба.

Customer_ID

Customer_Name

Customer_Address_

Line_1

Customer_Address_

Line_2

1

A

1 A Street

Aville, AA 55555

2

B

2 B Street

Bville, BB 55555

3

C

3 C Street

Cville, CC 55555

4

D

4 D Street

Dville, DD 55555

Здесь показана еще одна таблица измерения, Розничные магазины, куба.

Retail_

Store_ID

Retail_Store_

Name

Retail_Store_

Address_Line_1

Retail_Store_

Address_Line_2

1

A

1 A Avenue

Atown, AA 55555

2

B

2 B Avenue

Btown, BB 55555

3

C

3 C Avenue

Ctown, CC 55555

4

D

4 D Avenue

Dtown, DD 55555

Здесь приведена таблица последнего измерения куба — Продукция.

Product_ID

Product_Name

Product_Description

Product_Category

1

A

aaaa aaaa aaaa

AB

2

B

bbbb bbbb bbbb

AB

3

C

cccc cccc cccc

CD

4

D

dddd dddd dddd

CD

SUM

Если свойству Статистическая функция присвоено значение Sum, значение меры для ячейки куба вычисляется добавлением значений исходного столбца измерений из тех строк, для которых сочетание элементов определяет ячейку и потомков ее элементов.

Примеры

Следующие примеры возвращают значения, представляющие общие продажи.

A. Запрос одной ячейки атомарного куба

Запрос по мере «Продажи» для заказчика А, розничного магазина А и продукта А возвращает 800.

Б. Запрос одной ячейки неатомарного куба

Запрос по мере «Продажи» для заказчика А, розничного магазина А и категории продуктов АB возвращает 900.

В. Запрос нескольких ячеек куба

Запрос по мере «Продажи» помещает каждый розничный магазин по оси X, продукты по категориям — по оси Y и делает срез по всем заказчикам. Он возвращает следующий набор данных.

Все розничные магазины

A

Б

В

Г

Все продукты

4250

1600

380

620

1650

AB

1740

900

380

110

350

A

1440

800

290

350

Б

300

100

90

110

CD

2510

700

510

1300

В

1060

510

550

Г

1450

700

750

Min

Если значение свойства Агрегатная функция установлено в Min, значение меры для ячейки куба вычисляется добавлением минимального значения исходного столбца измерений из тех строк, для которых сочетание элементов определяет ячейку и потомков ее элементов.

Примеры

Следующие примеры возвращают значения, представляющие самые низкие продажи.

A. Запрос одной ячейки атомарного куба

Запрос по мере «Продажи» для заказчика А, розничного магазина А и продукта А возвращает 250.

Б. Запрос одной ячейки неатомарного куба

Запрос по мере «Продажи» для заказчика А, розничного магазина А и категории продуктов АB возвращает 100.

В. Запрос нескольких ячеек куба

Запрос по мере «Продажи» помещает каждый розничный магазин по оси X, продукты по категориям — по оси Y и делает срез по всем заказчикам. Он возвращает следующий набор данных.

Все розничные магазины

A

Б

В

Г

Все продукты

90

100

90

110

350

AB

90

100

90

110

350

A

250

250

290

350

Б

90

100

90

110

CD

510

700

510

550

В

510

510

550

Г

700

700

750

Max

Если значение свойства Агрегатная функция установлено в Max, значение меры для ячейки куба вычисляется добавлением максимального значения исходного столбца измерений из тех строк, для которых сочетание элементов определяет ячейку и потомков ее элементов.

Примеры

Следующие примеры возвращают значения, представляющие самые высокие продажи.

A. Запрос одной ячейки атомарного куба

Запрос по мере «Продажи» для заказчика А, розничного магазина А и продукта А возвращает 300.

Б. Запрос одной ячейки неатомарного куба

Запрос по мере «Продажи» для заказчика А, розничного магазина А и категории продуктов АB возвращает 300.

В. Запрос нескольких ячеек куба

Запрос по мере «Продажи» помещает каждый розничный магазин по оси X, продукты по категориям — по оси Y и делает срез по всем заказчикам. Он возвращает следующий набор данных.

Все розничные магазины

A

Б

В

Г

Все продукты

750

700

290

510

750

AB

350

300

290

110

350

A

350

300

290

350

Б

110

100

90

110

CD

750

700

510

750

В

550

510

550

Г

750

700

750

Count

Если значение свойства Агрегатная функция установлено в Count, значение меры для ячейки куба вычисляется добавлением количества значений исходного столбца измерений из тех строк, для которых сочетание элементов определяет ячейку и потомков ее элементов.

Примеры

Следующие примеры возвращают значения, которые представляют количество транзакций, связанных с продажами.

A. Запрос одной ячейки атомарного куба

Запрос по мере «Продажи» для заказчика А, розничного магазина А и продукта А возвращает 3.

Б. Запрос одной ячейки неатомарного куба

Запрос по мере «Продажи» для заказчика А, розничного магазина А и категории продуктов АB возвращает 4.

В. Запрос нескольких ячеек куба

Запрос по мере «Продажи» помещает каждый розничный магазин по оси X, продукты по категориям — по оси Y и делает срез по всем заказчикам. Он возвращает следующий набор данных.

Все розничные магазины

A

Б

В

Г

Все продукты

12

5

2

2

3

AB

8

4

2

1

1

A

5

3

1

1

Б

3

1

1

1

CD

4

1

1

2

В

2

1

1

Г

2

1

1

Distinct Count

Если значение свойства Агрегатная функция установлено в Distinct Count, значение меры для ячейки куба вычисляется добавлением количества уникальных значений исходного столбца измерений из тех строк, для которых сочетание элементов определяет ячейку и потомков ее элементов.

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

Меры числа различных объектов обычно используются, чтобы определить, сколько различных элементов другого измерения самого низкого уровня приходится на каждый элемент некоторого измерения в таблице фактов. Например, в кубе «Продажи», как много различной продукции было приобретено каждым покупателем или группой покупателей. (Т. е. сколько различных элементов измерения «Продукция» самого низкого уровня приходится на каждый элемент измерения «Заказчики» в таблице фактов.) Или, например, в кубе Internet Site Visits: как много разных веб-страниц приходится на каждого посетителя или группу посетителей? (Т. е. сколько различных элементов измерения «Страницы» самого низкого уровня приходится на каждый элемент измерения «Посетители» в таблице фактов.) В каждом из этих примеров элементы самого низкого уровня вторых измерений подсчитаны как мера числа различных объектов.

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

Мера числа различных объектов, которая подсчитывает элементы, основана на столбце внешнего ключа в таблице фактов. (Т. е. свойство меры Исходный столбец определяет этот столбец.) Этот столбец соединяет столбец таблицы измерения, который определяет элементы, подсчитываемые мерой числа различных объектов.

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

Так как меры числа различных объектов не аддитивны, представление мер числа различных объектов значительно ограничивает возможности служб Microsoft® SQL Server™ 2000 Analysis Services в статистической обработке кубов. По этой причине рекомендуется, чтобы каждый счетчик различных объектов располагался в своем собственном кубе без других мер. Такие кубы с мерами числа различных объектов впоследствии могут быть соединены с другими кубами в виртуальный куб, который эффективно управляет всеми мерами.

ПримечаниеПримечание

Если куб использует меру числа различных объектов, то куб целиком воспринимается как неаддитивный. Неаддитивные кубы не поддерживают динамически созданных элементов, поэтому функции многомерных выражений, такие как VisualTotals, создающие элементы динамически, возвратят ошибку при использовании в неаддитивном кубе. Это также влияет и на другие функции, такие как поддержка визуальных итогов в безопасности измерений, которые учитывают динамически созданные элементы.

Примеры

Следующие примеры возвращают значения, которые представляют количество транзакций, связанных с продажами, имеющими уникальную цену.

A. Запрос одной ячейки атомарного куба

Запрос по мере «Продажи» для заказчика А, розничного магазина А и продукта А возвращает 2.

Б. Запрос одной ячейки неатомарного куба

Запрос по мере «Продажи» для заказчика А, розничного магазина А и категории продуктов АB возвращает 3.

В. Запрос нескольких ячеек куба

Запрос по мере «Продажи» помещает каждый розничный магазин по оси X, продукты по категориям — по оси Y и делает срез по всем заказчикам. Он возвращает следующий набор данных.

Все розничные магазины

A

Б

В

Г

Все продукты

11

4

2

2

3

AB

7

3

2

1

1

A

4

2

1

1

Б

3

1

1

1

CD

4

1

1

2

В

2

1

1

Г

2

1

1