Функции с измерениями A-C D-G H-L M-Q R-Z Дополнительно Дополнительно Дополнительно Дополнительно Дополнительно _format ( expression ; format_keyword  ) Связывает формат с выражением. Элемент format_keyword может принимать значение PERCENTAGE_0, PERCENTAGE_1 или PERCENTAGE_2. PERCENTAGE_1 возвращает процент с одним десятичным разрядом, PERCENTAGE_2 возвращает процент с двумя десятичными разрядами, а PERCENTAGE_3 возвращает процент с тремя десятичными разрядами (например, 0.965). Пример: _format ( [Отпускная цена за единицу] / [Цена за единицу] ; PERCENTAGE_2 ) Результат: 75.12% ancestor ( member; level|integer ) Возвращает предка члена "member" на уровне "level" или на "integer" уровней от члена "member". Примечание: не гарантируется получение согласованного результата при наличии более одного такого предшественника. Пример: ancestor ( [Водяной матрас TrailChef] ; 1 ) Результат: Кухонные принадлежности Пример: ancestor ( [Водяной матрас TrailChef] ; 2 ) Результат: Туристическое снаряжение Пример: ancestor ( [Водяной матрас TrailChef] ; [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) Результат: Кухонные принадлежности caption ( level|member|set_expression ) Возвращает заголовки "level", "member" или "set_expression". Заголовок представляет собой строку, которая отображается в качестве имени элемента и необязательно совпадает с уникальным идентификатором, используемым для создания бизнес-ключа, или уникальным именем члена для данного элемента. Заголовок может быть неуникальным; например, в качестве заголовка для месяца можно использовать название месяца без сведений о годе для создания уникального значения. Пример: caption ( [Водяной матрас TrailChef] ) Результат: Водяной матрас TrailChef Пример: caption ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) Результат: Возвращает значения заголовка для набора Линия продуктов. Туристическое снаряжение Альпинистское снаряжение Личные принадлежности Средства защиты Снаряжение для гольфа children ( member ) Возвращает набор потомков для указанного члена. Пример: children ( [Туристическое снаряжение] ) Результат: Возвращает набор потомков для члена Туристическое снаряжение. Кухонные принадлежности Палатки Спальные мешки Тара Светильники closingPeriod ( level [ ; member ] ) Возвращает последнего из потомков члена на заданном уровне "level". Эта функция обычно используется в сочетании с измерением времени. Пример: closingPeriod ( [great_outdoors_company].[Годы].[Годы].[Месяц] ) Результат: 2006/дек Пример: closingPeriod ( [great_outdoors_company].[Годы].[Годы].[Год] ) Результат: 2006 Пример: closingPeriod ( [great_outdoors_company].[Годы].[Годы].[Месяц] ; [2006 Q 4] ) Результат: 2006/дек completeTuple ( member { ; member } ) Указывает расположение ячейки (пересечение) на основе заданных членов, которые должны относиться к разным измерениям. Однако completeTuple () подразумеваемым образом включает в себя член по умолчанию из всех измерений, не указанных в аргументах никаким иным образом, а не текущий член. Если в функции completeTuple показатель не задан, completeTuple будет использовать показатель по умолчанию вместо показателя currentMeasure, указанного в запросе. Эта функция содержится в образце отчета "Плановое штатное расписание" в пакете хранилища данных GO (анализ). Пример: completeTuple ( [Альпинистское снаряжение] ; [Факс] ) Результат: В отличие от функции tuple, функция completeTuple по умолчанию не выбирает члена currentMember. Значения в первом столбце для каждого года равны, поскольку вместо текущего члена по умолчанию используется член измерения Годы, который является корневым членом. Аналогично, вместо количества проданного товара отображается доход, поскольку показатель Доход является значением по умолчанию измерения показателей. Если в функции completeTuple показатель не задан, completeTuple будет использовать показатель по умолчанию вместо показателя currentMeasure, указанного в запросе. Qty Sold Mountaineering Sales by Fax -------- -------------- 2004 $1,220,329.38 2005 $1,220,329.38 2006 $1,220,329.38 Пример: completeTuple ( [Альпинистское снаряжение] ; [Факс] ; [Проданное количество] ; currentMember ( [great_outdoors_company].[Годы].[Годы] ) ) Результат: Функция completeTuple использует currentMember измерения Годы и показателя Проданное количество. Qty Sold Mountaineering Sales by Fax ----------- ------------------------------------------ 2004 0 2005 8,746 2006 7,860 unique ( set_expression ) Удаляет все дубликаты из множества "set_expression". Оставшиеся члены сохраняют свой исходный порядок. openingPeriod ( level [ ; member ] ) Возвращает первый из потомков члена на уровне "level". Эта функция обычно используется в сочетании с измерением времени. Пример: openingPeriod ( [great_outdoors_company].[Годы].[Годы].[Месяц] ) Результат: 2004/янв Пример: openingPeriod ( [great_outdoors_company].[Годы].[Годы].[Год] ) Результат: 2004 Пример: openingPeriod ( [great_outdoors_company].[Годы].[Годы].[Месяц] ; [2006 Q 4] ) Результат: 2006/окт parallelPeriod ( level [ ; integer_expression [ ; member ] ] ) Возвращает член из предыдущего периода, который занимает то же относительное положение, что и заданный член "member". Эта функция аналогична функции cousin, но более тесно связана с временным рядом. Она берет предка члена "member" на уровне "level" ("ancestor") и одноуровневый член этого предка "ancestor", который находится на "integer_expression" позиций после него, и возвращает потомков этого одноуровневого члена. Если этот параметр не указан, то для "integer_expression" по умолчанию используется значение 1, а в качестве члена "member" по умолчанию используется текущий член. Пример: parallelPeriod ( [great_outdoors_company].[Годы].[Годы].[Квартал] ; -1 ; [2006/авг] ) Результат: 2006/ноя Пример: parallelPeriod ( [great_outdoors_company].[Годы].[Годы].[Квартал] ; 1 ; [2006/авг] ) Результат: 2006/май Пример: parallelPeriod ( [great_outdoors_company].[Годы].[Годы].[Год] ; 2 ; [2006/авг] ) Результат: 2004/авг cousin ( member1 ; member2 ) Возвращает дочерний член члена "member2", занимающий то же относительное положение, что и "member1" относительно своего родителя. Эта функция содержится в образце отчета "Доход по филиалам GO в 2005 году" в пакете хранилища данных GO (анализ). Пример: cousin ( [Металлические] ; [Туристическое снаряжение] ) Результат: Кухонные принадлежности Пример: cousin ( [Короткие клюшки] ; [Туристическое снаряжение] ) Результат: Спальные мешки crossjoin ( set_expression1 ; set_expression2 ) Возвращает пересечение "set_expression1" и "set_expression2". currentMember ( hierarchy ) Возвращает текущий член иерархии во время итерации. Если иерархия "hierarchy" не представлена в контексте, в котором оценивается выражение, то берется член по умолчанию. Эта функция содержится в примере интерактивного отчета "Скользящие средние (на определенный момент и за период)". defaultMember ( hierarchy ) Возвращает член "hierarchy" по умолчанию. Пример: defaultMember ( [great_outdoors_company].[Продукты].[Продукты] ) Результат: Продукты Пример: defaultMember ( [great_outdoors_company].[Годы].[Годы] ) Результат: Год Пример: defaultMember ( hierarchy ( [great_outdoors_company].[Показатели].[Количество проданного товара] ) ) Результат: Доход emptySet ( hierarchy ) Возвращает пустое множество членов для иерархии "hierarchy". Наиболее часто используется в качестве заместителя в процессе разработки или при построении динамических отчетов (с IBM® Cognos® Software Development Kit или через конструктор отчетов). Путем создания элемента данных, содержащего функцию emptyset, можно конструировать сложные выражения, которые впоследствии можно будет изменить посредством переопределения элемента данных emptyset. Пример: except ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ; emptySet ( [great_outdoors_company].[Продукты].[Продукты] ) ) Результат: Возвращает набор Линия продуктов и пустой набор для набора продуктов. Туристическое снаряжение Снаряжение для гольфа Альпинистское снаряжение Средства защиты Личные принадлежности firstChild ( member ) Возвращает первого потомка члена "member". Пример: firstChild ( [По линиям продуктов] ) Результат: Туристическое снаряжение Пример: firstChild ( [Туристическое снаряжение] ) Результат: Кухонные принадлежности firstSibling ( member ) Возвращает первого потомка родителя члена "member". Пример: firstSibling ( [Средства защиты] ) Результат: Туристическое снаряжение Пример: firstSibling ( [Туристическое снаряжение] ) Результат: Туристическое снаряжение hierarchy ( level|member|set_expression ) Возвращает иерархию, которая содержит "level", или "member", или "set_expression". Пример: hierarchy ( [Кухонные принадлежности] ) Результат: Возвращает каждый член иерархии, содержащий Кухонные принадлежности. Продукты Туристическое снаряжение Кухонные принадлежности Водяной матрас TrailChef Кухня TrailChef ... Пещерный человек, Extreme Пещерный человек, Deluxe Пример: hierarchy ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) Результат: Возвращает каждого члена иерархии, содержащего линию продуктов. Продукты Туристическое снаряжение Кухонные принадлежности Водяной матрас TrailChef Кухня TrailChef ... Пещерный человек, Extreme Пещерный человек, Deluxe isEmpty ( value_expression ) Возвращает "true", если значение "value_expression" равно нуля, иначе возвращает "false". item ( set_expression ; index ) Возвращает член множества "set_expression", находящийся в положении "index". Индекс для этого множества отсчитывается от нуля Пример: item ( children ( [Туристическое снаряжение] ) ; 2 ) Результат: Спальные мешки lag ( member ; index_expression ) Возвращает член-потомок, расстояние от которого до члена "member" составляет "index_expression" позиций. Пример: lag ( [Палатки] ; 1 ) Результат: Кухонные принадлежности Пример: lag ( [Палатки] ; -2 ) Результат: Рюкзаки lastChild ( member ) Возвращает последнего потомка указанного члена. Пример: lastChild ( Кухонные принадлежности ) Результат: Столовые приборы TrailChef Пример: lastChild ( [По линии продуктов] ) Результат: Снаряжение для гольфа lastSibling ( member ) Возвращает последнего потомка родителя указанного члена. Пример: lastSibling ( [Туристическое снаряжение] ) Результат: Снаряжение для гольфа lead ( member ; index_expression ) Возвращает член-потомок, который отстоит от члена "member" на "index_expression" позиций. Если выражение "index_expression", возвращает член-потомок, расстояние от которого до члена "member" составляет "index_expression" позиций. Пример: lead ( [Средства защиты] ; 1 ) Результат: Личные принадлежности Пример: lead ( [Средства защиты] ; -2 ) Результат: Снаряжение для гольфа level ( member ) Возвращает уровень члена "member". Пример: level ( [Снаряжение для гольфа] ) Результат: Возвращает членов на уровне Снаряжение для гольфа. Туристическое снаряжение Альпинистское снаряжение Личные принадлежности Средства защиты Снаряжение для гольфа levels ( hierarchy ; index ) Возвращает уровень в иерархии "hierarchy", расстояние которого от корневого каталога указывается параметром "index". Пример: levels ( [great_outdoors_company].[Продукты].[Продукты] ; 2 ) Результат: Возвращает членов на два уровня из корневой иерархии продуктов. Кухонные принадлежности Спальные мешки Тара Палатки ... Металлические Короткие клюшки Деревянные Аксессуары для гольфа Пример: levels ( [great_outdoors_company].[Продукты].[Продукты] ; 1 ) Результат: Возвращает членов на один уровень из корневой иерархии продуктов. Туристическое снаряжение Альпинистское снаряжение Личные принадлежности Средства защиты Снаряжение для гольфа linkMember ( member ; level|hierarchy ) Возвращает соответствующего члена на заданном уровне "level" или иерархии "hierarchy" (того же измерения). Для уровневых иерархий в качестве второго параметра должен быть задан уровень, а для иерархий родительско-дочернего типа должна быть задана иерархия. Исключение представляют случаи, когда второй параметр не разрешается в иерархию измерения, к которому относится член. Учтите, что вычисленные члены не поддерживаются в качестве первого аргумента. member ( value_expression [ ; string1 [ ; string2 [ ; hierarchy ] ] ] ) Задает члена по значению "value_expression" в иерархии "hierarchy". "String1" идентифицирует член, созданный этой функцией. Он должен быть уникальным в запросе и отличаться от всех членов той же иерархии. В качестве заголовка члена используется "String2"; если эта строка отсутствует, то заголовок пустой. Чтобы результаты были предсказуемы, рекомендуется указать параметр "hierarchy". Примечание: Все вычисления, используемые как группирующие элементы, элементами-потомками которых являются другие вычисления или множества членов, должны быть явно назначены для иерархии с помощью этой функции. В противном случае результаты будут непредсказуемыми. Единственным исключением является ситуация, когда в вычислении участвуют только члены той же иерархии, к которой относятся потомки. В таком случае считается, что вычисление принадлежит этой иерархии. Пример: member ( total ( currentMeasure within set filter ( [great_outdoors_company].[Продукты].[Продукты].[Имя продукта] ; caption ( [great_outdoors_company].[Продукты].[Продукты].[Имя продукта] ) starts with 'B' ) ) ; 'BПродукты' ; 'B Продукты' ; [great_outdoors_company].[Продукты].[Продукты] ) Результат: Возвращает количество проданного товара и доход для всех продуктов, начинающихся на букву В. members ( hierarchy|level ) Возвращает множество членов иерархии "hierarchy" или уровня "level". В случае иерархии порядок членов в полученном результате не гарантируется. Если требуется определенный порядок, то следует использовать непосредственную функцию упорядочивания (например, hierarchize). Пример: members ( [great_outdoors_company].[Годы].[Годы] ) Результат: Возвращает члены в измерении Годы. Пример: members ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) Результат: Возвращает члены в линии продуктов. nestedSet ( set_expression1 ; set_expression2 ) Эта функция предназначена для использования только в Analysis Studio Результат: Возвращает 2 продукта с наибольшим доходом для каждой линии продуктов. nextMember ( member ) Возвращает следующий член на уровне члена "member". Пример: nextMember ( [Средства защиты] ) Результат: Снаряжение для гольфа ordinal ( level ) Возвращает порядковое числительное, которое отсчитывается от нуля (расстояние от уровня корневого каталога) для заданного уровня "level". Пример: ordinal ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) Результат: 1 Пример: ordinal ( [great_outdoors_company].[Продукты].[Продукты].[Тип продуктов] ) Результат: 2 parent ( member|measure ) Возвращает член, который является родителем для "члена" или "показателя". Пример: parent ( [Кухонные принадлежности] ) Результат: Туристическое снаряжение _addMemberToSet ( member_expression ; set_expression ; parent|null ; sibling|null ; position ) Осторожно! Только для внутреннего использования. Не добавляйте эту функцию в отчеты. Возвращает множество. Эта функция вставляет "member_expression" в "set_expression" непосредственно ПЕРЕД или ПОСЛЕ потомка. Учтите, что "member_expression" и "set_expression" должны быть из одного и того же измерения и иерархии. "Рarent" является уникальным именем родителя вычисленного члена (member_expression ) ; или значением NULL. "Sibling" является уникальным именем члена, относительно которого определяется положение "member_expression", или значением NULL. "Рosition" имеет значения BEFORE (ПЕРЕД) или AFTER (ПОСЛЕ). Если положение "position" не задано, то по умолчанию используется значение AFTER (ПОСЛЕ). prevMember ( member ) Возвращает член, который непосредственно предшествует заданному члену "member" на том же уровне. Эта функция содержится в примере отчета "Рост продаж: сравнение по годам" в пакете хранилища данных GO (анализ). Пример: prevMember ( [Средства защиты] ) Результат: Личные принадлежности Пример: prevMember ( [2005] ) Результат: 2004 roleValue ( string [ ; member|set_expression ] ) Возвращает значение атрибута, связанного с ролью, имя которого определяется объектом "string" в заданном контексте. Аргументы "member" и "set_expression" используются лишь в ограниченном числе случаев, где их можно получить из другого контекста. Приложения можно переносить на различные источники данных и модели, если обращаться к атрибутам по ролям, а не по ID элемента запроса. Внутренние роли, заданные для членов всех типов источников данных, включают в себя "_businessKey", "_memberCaption", "_memberDescription", "_memberUniqueName". Для источников Online Analytical Processing(OLAP) объекты, охватывающие несколько уровней, имеют доступ только к внутренним ролям. Для реляционных источников данных с многомерной моделью (DMR) назначение ролей выполняется разработчиком модели. Дополнительные роли можно задать в Framework Manager для каждого уровня иерархии. Например, уровень Тип продукта может иметь столбец атрибута Транспортная упаковка типа, а уровень Продукт может иметь атрибут Транспортная упаковка продукта. Каждому из этих объектов может быть назначена пользовательская роль в Framework Manager, которая называется "Контейнер". После этого свойство может быть связано независимо от фактического имени столбца с помощью функции roleValue. Пример: roleValue ( '_memberCaption' ; [Продажи].[Продукты].[Продукты].[Линия продуктов] -> [all].[1] ) Результат: Туристическое снаряжение Пример: roleValue ( '_businessKey' ; [great_outdoors_company].[Годы].[Годы].[Год] ) Результат: Возвращает значение атрибута, связанное с ролью бизнес-ключа. ("2004-01-01","2004-12-31") ("2005-01-01","2005-12-31") ("2006-01-01","2006-12-31") Пример: roleValue ( '_memberUniqueName' ; [great_outdoors_company].[Годы].[Годы].[Год] ) Результат: Возвращает значение атрибута, которое ассоциируется с ролью MUN. [great_outdoors_company].[Годы].[Годы].[Год] ->:[PC].[Годы (Корень)].[20040101-20041231] [great_outdoors_company].[Годы].[Годы].[Год] ->:[PC].[Годы (Корень)].[20050101-20051231] [great_outdoors_company].[Годы].[Годы].[Год] ->:[PC].[Годы (Корень)].[20060101-20061231] rootMember ( hierarchy ) Возвращает корневого члена иерархии с одним корневым членом. Эта функция находится в примере отчета Promotion Success (Успех рекламы) в пакете GO Data Warehouse (анализ). rootMembers ( hierarchy ) Возвращает членов корневого каталога иерархии. Пример: rootMembers ( [great_outdoors_company].[Годы].[Годы] ) Результат: По времени value ( tuple ) Возвращает значение ячейки, идентифицируемые кортежем элементов "tuple". Обратите внимание на то, что членом по умолчанию для измерения показателей является показатель по умолчанию Пример: value ( tuple ( [great_outdoors_company].[Годы].[Годы].[Год] ->:[PC].[Годы (Корень)].[20040101-20041231] ; [great_outdoors_company].[Показатели].[Доход] ) ) Результат: $34,750,563.50 Пример: value ( tuple ( [2004] ; [Туристическое снаряжение] ; [Доход] ) ) Результат: $20 471 328,88 descendants ( member|set_expression ; level|distance [ ; { self|before|beforewithmember|after } ] ) Возвращает множество потомков члена "member" или множество членов "set_expression" на заданном уровне "level" (полное имя) или расстояние "distance" (в виде целого 0...n) от корневого каталога. Можно задать несколько параметров (разделенных пробелом), чтобы определить, какие члены должны быть возвращены. self: В окончательное множество включаются только члены на заданном уровне (это делается по умолчанию, если параметры отсутствуют). before: Если существуют промежуточные уровни между уровнем данного члена и указанным уровнем, то включаются члены с этих уровней. Если задан тот же уровень, что и у члена, к которому применяется функция, то этот член включается в окончательное множество. beforewithmember: Если существуют промежуточные уровни между уровнем данного члена и указанным уровнем, то включаются члены с этих уровней. Член, к которому применяется эта функция, также включается в окончательное множество. after: Если после заданного уровня есть еще уровни, то члены с этих уровней включаются в окончательное множество. Эта функция содержится в образце отчета "Комиссионные с продаж для Центральной Европы" в пакете хранилища данных GO (анализ). Пример: descendants ( [great_outdoors_company].[Продукты].[Продукты].[Продукты] ; [great_outdoors_company].[Продукты].[Продукты].[Тип продукта] ) Результат: Возвращает множество потомков множества Продукты на уровне типа Продукты. Примечание: [great_outdoors_company].[Продукты].[Продукты].[Продукты] является корневым членом иерархии продуктов. Кухонные принадлежности Спальные мешки Тара Палатки ... Защитные очки Ножи Часы Пример: descendants ( [great_outdoors_company].[Продукты].[Продукты].[Продукты] ; 1 ) Результат: Возвращает набор потомков набора продуктов на первом уровне. Туристическое снаряжение Снаряжение для гольфа Альпинистское снаряжение Средства защиты Личные принадлежности Пример: descendants ( [great_outdoors_company].[Продукты].[Продукты].[Продукты] ; 3 ; before ) Результат: Возвращает потомков набора Продукты до третьего уровня. Туристическое снаряжение Кухонные принадлежности Спальные мешки Тара Палатки ... Защитные очки Ножи Часы Пример: descendants ( [great_outdoors_company].[Продукты].[Продукты].[Продукты] ; 2 ; self before ) Результат: Возвращает набор потомков набора продуктов по второй уровень включительно. Туристическое снаряжение Кухонные принадлежности Спальные мешки Тара Палатки ... Защитные очки Ножи Часы except ( set_expression1 ; set_expression2 [ ; all ] ) Возвращает члены множества "set_expression1", которые не входят в "set_expression2". Дубликат сохраняются только в том случае, если в качестве третьего аргумента указано необязательное ключевое слово "all". Пример: except ( set ( [Туристическое снаряжение] ; [Альпинистское снаряжение] ) ; set ( [Туристическое снаряжение] ; [Снаряжение для гольфа] ) ) Результат: Альпинистское снаряжение filter ( set_expression ; Boolean_expression ) Возвращает множество, полученное после применения фильтра к заданному набору на основе логического условия. Член включается в результат в том и только в том случае, если значение "boolean_expression" оценивается как true. Пример: filter ( [Линия продуктов] ; [Валовая прибыль] > .30 ) Результат: Альпинистское снаряжение intersect ( set_expression1 ; set_expression2 [ ; all ] ) Возвращает пересечение "set_expression1" и "set_expression2". Результат сохраняет дубликаты только в том случае, если в качестве третьего аргумента указано необязательное ключевое слово "all". Пример: intersect ( set ( [Туристическое снаряжение] ; [Альпинистское снаряжение] ) ; set ( [Туристическое снаряжение] ; [Средства защиты] ; ) ; all ) Результат: Туристическое снаряжение lastPeriods ( integer_expression ; member ) Возвращает множество членов того же уровня, которые оканчиваются заданным членом "member". Количество возвращаемых членов определяется модулем "integer_expression". Если выражение "integer_expression" - отрицательное, будут возвращены следующие за ним члены, включая заданный член. Обычно используется в сочетании с измерением времени. Эта функция содержится в примере интерактивного отчета "Скользящие средние (на определенный момент и за период)". Пример: lastPeriods ( 2 ; [2006 Q 4] ) Результат: Возвращает два последних члена из уровня с окончанием 2006 К 4. 2006 К 3 2006 К 4 Пример: lastPeriods ( -3 ; [2006 Q 4] ) Результат: Возвращает три последних члена из уровня с началом 2006 К 4. 2006 К 4 2007 К 1 2007 К 2 periodsToDate ( level ; member ) Возвращает множество членов-потомков с того же уровня, что и член "member", ограниченный уровнем "level". Определяется положение предка члена "member" на уровне "level" и возвращаются потомки этого предка на том же уровне, что и "member", вплоть до члена member и включая его самого. Обычно используется в сочетании с измерением времени. Эта функция содержится в примере интерактивного отчета "Скользящие средние (на определенный момент и за период)". Пример: periodsToDate ( [great_outdoors_company].[Годы].[Годы].[Год] ; [2004/мар] ) Результат: Возвращает значения для [2004/янв], [2004/фев], [2004/март] topCount ( set_expression ; index_expression ; numeric_expression ) Сортирует множества в соответствии со значением выражения "numeric_expression", оцененным для каждого члена из множества "set_expression", и возвращает первые члены в количестве "index_expression". Пример: topCount ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ; 2 ; [Доход] ) Результат: Возвращает два элемента с самыми большими суммами дохода для набора Линия продуктов. Prod line Revenue ----------- ---------- Camping $89,713,990.92 Personal $31,894,465.86 bottomCount ( set_expression ; index_expression ; numeric_expression ) Сортирует множества в соответствии со значением выражения "numeric_expression", оцененным для каждого члена из множества "set_expression", и возвращает последние в списке члены в количестве "index_expression". Пример: bottomCount ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ; 2 ; [Доход] ) Результат: Возвращает два последних члена множества при сортировке на основе дохода. Prod line Revenue ----------- ----------- Camping $3,171,114.92 Personal $20,891,350.60 topPercent ( set_expression ; percentage ; numeric_expression2 ) Позволяет произвести сортировку набора, заданного выражением "set_expression", в нисходящем порядке и возвращает первые элементы сортированного набора, для которых суммарный процент от итога больше или равен значению "percentage". Пример: topPercent ( set ( [Туристическое снаряжение] ; [Снаряжение для гольфа] ; [Альпинистское снаряжение] ) ; 40 ; [2006] ) Результат: Для набора Туристическое снаряжение, Снаряжение для гольфа и Альпинистское снаряжение будут возвращены члены, у которых в 2006 г. были самые высокие показатели валовой прибыли, так чтобы суммарный итоговый показатель валовой прибыли для всех этих членов составил не менее 40% от общего итога. bottomPercent ( set_expression ; percentage ; numeric_expression ) Позволяет произвести сортировку набора, заданного выражением "set_expression", в восходящем порядке и возвращает последние элементы сортированного набора, для которых суммарный процент от итога больше или равен значению "percentage". Пример: bottomPercent ( set ( [Туристическое снаряжение] ; [Снаряжение для гольфа] ; [Альпинистское снаряжение] ) ; 40 ; [2006] ) Результат: Для набора Туристическое снаряжение, Снаряжение для гольфа и Альпинистское снаряжение будут возвращены члены, у которых в 2006 г. были самые низкие показатели валовой прибыли, так чтобы суммарный итоговый показатель валовой прибыли для всех этих членов составил, как минимум, 40% от общего итога. topSum ( set_expression ; value ; numeric_expression2 ) Позволяет произвести сортировку набора, заданного выражением "set_expression", в нисходящем порядке и возвращает первые элементы сортированного набора, для которых общая сумма больше или равна значению "value". Пример: topSum ( children ( [Продукты] ) ; 16000000 ; tuple ( [2006] ; [great_outdoors_company].[Показатели].[Валовая прибыль] ) ) Результат: Для членов линии продуктов будут возвращены члены с самыми высокими показателями валовой прибыли, общий итог для которых за 2006 г. составляет, как минимум, 6000000 долларов США. bottomSum ( set_expression ; value ; numeric_expression ) Позволяет произвести сортировку набора, заданного выражением "set_expression", в восходящем порядке и возвращает последние элементы сортированного набора, для которых общая сумма больше или равна значению "value". Пример: bottomSum ( members ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) ; 6000000 ; tuple ( [2006] ; [great_outdoors_company].[Показатели].[Валовая прибыль] ) ) Результат: Для членов линии продуктов будут возвращены члены с самыми низкими показателями валовой прибыли, общий итог для которых за 2006 г. составляет, как минимум, 6000000 долларов США. union ( set_expression1 ; set_expression2 [ ; all ] ) Возвращает данные из множеств "set_expression1" и "set_expression2". Результат сохраняет дубликаты только в том случае, если в качестве третьего аргумента указано необязательное ключевое слово "all". Пример: union ( set ( [Туристическое снаряжение] ; [Снаряжение для гольфа] ) ; set ( [Снаряжение для гольфа] ; [Альпинистское снаряжение] ) ) Результат: Возвращает данные для обоих множеств как одно новое множество, отображая столбец Снаряжение для гольфа один раз. Пример: union ( set ( [Туристическое снаряжение] ; [Снаряжение для гольфа] ) ; set ( [Снаряжение для гольфа] ; [Альпинистское снаряжение] ) ; all ) Результат: Возвращает данные для обоих наборов в виде одного нового набора, в котором столбец Снаряжение для гольфа появляется дважды. ancestors ( member ; level|index ) Возвращает всех предшественников члена "member" на заданном уровне "level" или расстоянии "index" вверх от этого члена. (Большинство источников данных поддерживают только одного предшественника на заданном уровне. Если источник данных поддерживает несколько предшественников, результатом будет множество членов.) Пример: ancestors ( [Водяной матрас TrailChef] ; 1 ) Результат: Кухонные принадлежности Пример: ancestors ( [Водяной матрас TrailChef] ; 2 ) Результат: Туристическое снаряжение Пример: ancestors ( [Водяной матрас TrailChef] ; [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) Результат: Кухонные принадлежности generate ( set_expression1 ; set_expression2 [ ; all ] ) Оценивает "set_expression2" для каждого члена "set_expression1" и соединяет результирующие множества путем создания их объединения. Результат сохраняет дубликаты только в том случае, если в качестве третьего аргумента указано необязательное ключевое слово "all". Пример: generate ( [Линия продуктов] ; topCount ( descendants ( currentMember ( [great_outdoors_company].[Продукты].[Продукты] ) ;  [great_outdoors_company].[Продукты].[Продукты].[Имя продукта] ) ; 2 ; [Доход] ) ) Результат: Возвращает 2 продукта с наибольшим доходом для каждой линии продуктов. head ( set_expression [ ; index_expression ] ) Возвращает первые "index_expression" элементов множества "set_expression". Значение "index_expression" по умолчанию равно 1. Пример: head ( members ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) ) Результат: Туристическое снаряжение Пример: head ( members ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) ; 2 ) Результат: Возвращает два первых члена для набора Линия продуктов. Туристическое снаряжение Альпинистское снаряжение hierarchize ( set_expression ) Упорядочивает члены множества "set_expression" в виде иерархии. Члены на данном уровне сортируются естественным образом. Это - используемый по умолчанию порядок членов в области определения, когда не указаны никакие другие условия сортировки. Пример: hierarchize ( set ( [Снаряжение для гольфа] ; [Альпинистское снаряжение] ; [Туристическое снаряжение] ) ) Результат: Возвращает Туристическое снаряжение, Снаряжение для гольфа, Альпинистское снаряжение. mtd ( [ member ] ) Возвращает набор членов-потомков того же уровня, что и данный член, начиная с первого потомка и заканчивая данным членом при ограничении уровнем месяцев в измерении времени. Если член не указан, по умолчанию используется текущий член (currentMember) измерения времени. order ( set_expression ; value_expression [ ; ASC|DESC|BASC|BDESC ] ) Упорядочивает члены в наборе "set_expression" в соответствии с их значением "value_expression" и третим параметром. Если задать ASC или DESC, члены будут рассортированы в восходящем или нисходящем порядке в соответствии с их позицией в иерархии набора. Затем потомки каждого члена упорядочиваются в соответствии со значением "value_expression". Если задать BASC и BDESC, члены будут упорядочены в наборе вне зависимости от иерархии. При отсутствии явным образом заданных условий по умолчанию используется ASC. Пример: order ( members ( [Great Outdoors Company].[Продукт].[Продукт].[Тип продуктов] ) ; [Проданное количество] ; BASC ) Результат: Возвращает количество проданного для каждого типа продукта без определенной группировки. ProdLine Quantity ------------ ------------- Woods 13,924 Irons 14,244 Safety 22,332 ... ... Sun 215,432 Repellent 270,04 Lanterns 345,096 Пример: order ( members ( [Great Outdoors Company].[Продукт].[Продукт].[Тип продуктов] ) ; [Проданное количество] ; ASC ) Результат: Возвращает количество проданного товара для каждого типа продукта в восходящем порядке. ProdLine Quantity ------------ ------------- Woods 13,924 Irons 14,244 Putters 23,244 ... ... Tents 130,664 Cooking 198,676 Lanterns 345,096 qtd ( [ member] ) Возвращает множество членов-потомков того же уровня, что и данный член, начиная с первого потомка и заканчивая данным членом при ограничении уровнем данного квартала, если рассматривается изменение во времени. Если член не указан, по умолчанию используется текущий член (currentMember) измерения времени. set ( member { ; member } ) Возвращает список членов, заданных в выражении. Члены должны принадлежать к одной иерархии. Пример: set ( [Снаряжение для гольфа] ; [Металлические] ; [Кружка "Шеф-повар"] ) Результат: Возвращает Снаряжение для гольфа, Металлические, Кружка "Шеф-повар". siblings ( member ) Возвращает детей родителя указанного члена. Пример: siblings ( [Снаряжение для гольфа] ) Результат: Возвращает объекты одного уровня с Оборудованием для гольфа. Туристическое снаряжение Снаряжение для гольфа Альпинистское снаряжение Средства защиты Личные принадлежности subset ( set_expression; index_expression1 [ ; index_expression2 ] ) Возвращает подмножество членов заданного множества "set_expression", начиная с позиции "index_expression1" от начала. Если указывается количество "index_expression2", то возвращается именно это количество членов (если они есть). В противном случае возвращаются все оставшиеся члены. Пример: subset ( members ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) ; 2 ) Результат: Возвращает члены набора Линия продуктов, начиная со второго члена. Альпинистское снаряжение Средства защиты Личные принадлежности Пример: subset ( members ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) ; 2 ; 2 ) Результат: Возвращает 2 члена набора Линия продуктов, начиная со второго члена. Альпинистское снаряжение Средства защиты tail ( set_expression [ ; index_expression ] ) Возвращает последние "index_expression" элементов множества "set expression". Значение "index_expression" по умолчанию равно 1. Пример: tail (members ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) ) Результат: Возвращает последние члены для набора Линия продуктов. Личные принадлежности Пример: tail ( members ( [great_outdoors_company].[Продукты].[Продукты].[Линия продуктов] ) ; 2 ) Результат: Возвращает последние два последних члена для набора Линия продуктов. Средства защиты Личные принадлежности tuple (  member { ; member } ) Указывает расположение ячейки (пересечение) на основе заданных членов, которые должны относиться к разным измерениям. Эта функция косвенно включает в себя текущий член из всех измерений, которые не указаны в аргументах. Текущий член любого измерения, не указанного в контексте оценки, принимается в качестве члена по умолчанию для данного измерения. Значение этой ячейки можно получить с помощью функции "value". Пример: tuple ( [Альпинистское снаряжение] ; [Факс] ) Результат: Возвращает продажи Альпинистского снаряжения по факсу. wtd ( [member] ) Возвращает множество членов-потомков того же уровня, что и данный член, начиная с первого потомка и заканчивая данным членом при ограничении уровнем данной недели, если рассматривается изменение во времени. Если член не указан, по умолчанию используется текущий член (currentMember) измерения времени. ytd ( [member] ) Возвращает множество членов-потомков того же уровня, что и данный член, начиная с первого потомка и заканчивая данным членом, при ограничении уровнем года в измерении времени. Если член не указан, по умолчанию используется текущий член (currentMember) измерения времени.
Суммирующие функции даты и времени Данный список содержит готовые функции, возвращающие либо одно суммарное значение для набора членов, либо отдельные суммарные значения для каждого члена в наборе членов. aggregate ( < currentMeasure|numeric_expression > within set set_expression ) aggregate ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) Возвращает вычисленное значение, используя соответствующую функцию агрегации на основе типа агрегации, заданной элементом expression. average ( < currentMeasure|numeric_expression > within set set_expression ) average ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) Возвращает среднее значение выбранных элементов данных. Пример: average ( Продажи ) Результат: Возвращает среднее всех значений элемента Продажи. count ( < currentMeasure|numeric_expression > within set set_expression ) count ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) Возвращает число выбранных элементов данных, исключая значения NULL. Пример: count ( Продажи ) Результат: Возвращает общее число записей для элемента Продажи. maximum ( < currentMeasure|numeric_expression > within set set_expression ) maximum ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) Возвращает максимальное значение выбранных элементов данных. Пример: maximum ( Продажи ) Результат: Возвращает максимальное значение из всех значений элемента Продажи. median ( < currentMeasure|numeric_expression > within set set_expression ) median ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) Возвращает значение медианы выбранных элементов данных. minimum ( < currentMeasure|numeric_expression > within set set_expression ) minimum ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) Возвращает наименьшее значение выбранных элементов данных. Пример: minimum ( Продажи ) Результат: Возвращает минимальное значение из всех значений элемента Продажи. Возвращает процент общего значения для выбранных элементов данных. percentage ( numeric_expression [ tuple member_expression { ; member_expression } ] within set set_expression ) Пример: percentage ( [gosales].[sales measures].[quantity] tuple [gosales].[Персонал].[].[department] -> [West] within set children ( [gosales].[Персонал].[].[Персонал] ) ) Возвращает значение от 0 до 100, указывающее процент распределения, которое равно или меньше выбранных элементов данных. percentile ( numeric_expression [ tuple member_expression { ; member_expression } ] within set set_expression ) Возвращает ранг значения для заданного диапазона. Возвращаемые целые числа могут представлять любой ранг от 1 (самый высокий) до 100 (самый низкий). quantile ( numeric_expression ; numeric_expression [ tuple member_expression { ; member_expression } ] within set set_expression ) Возвращает ранг значения, представленный целым числом от 1 (самый высокий) до 4 (самый низкий), относительно группы значений. quartile ( numeric_expression [ tuple member_expression { ; member_expression } ] within set set_expression ) Возвращает ранг выбранных элементов данных. Возвращаемый тип ранжирования (по олимпийской системе, плотное или последовательное ранжирование) зависит от источника данных. Порядок сортировки можно выбрать произвольно; по умолчанию принимается DESC. rank ( numeric_expression [ ASC|DESC ] [ tuple member_expression { ; member_expression } ] within set set_expression ) Пример: rank ( [gosales].[sales measures].[quantity] tuple [gosales].[Персонал].[].[department] -> [West] within set children ( [gosales].[Персонал].[].[Персонал] ) ) standard-deviation ( < currentMeasure|numeric_expression > within set set_expression ) standard-deviation ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) Возвращает стандартное отклонение выбранных элементов данных. standard-deviation-pop ( < currentMeasure|numeric_expression > within set set_expression ) standard-deviation-pop ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) Возвращает стандартное отклонение множества выбранных элементов данных. total ( < currentMeasure|numeric_expression > within set set_expression ) total ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) Возвращает общее значение выбранных элементов данных. variance ( < currentMeasure|numeric_expression > within set set_expression ) variance ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) Возвращает дисперсию выбранных элементов данных. variance-pop ( < currentMeasure|numeric_expression > within set set_expression ) variance-pop ( < currentMeasure|numeric_expression > within < detail|aggregate > expression ) Возвращает дисперсию множества выбранных элементов данных.
OLAP