Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Вы можете использовать строковые функции почти на каждом объекте в многомерных выражениях (MDX). В хранимых процедурах вы используете строковые функции в первую очередь для преобразования объекта в строковое представление. Вы также используете строковые функции для оценки строкового выражения над объектом с целью возврата значения.
Наиболее широко используемые строковые функции — это Name и Uniquename. Соответственно, эти функции возвращают имя и уникальное имя объекта. В основном они используются при отладке вычислений, чтобы определить, какой элемент возвращает функция.
Примеры
Следующие примеры запросов показывают, как использовать эти функции:
WITH
//Returns the name of the current Product on rows
MEMBER [Measures].[ProductName] AS [Product].[Product].CurrentMember.Name
//Returns the uniquename of the current Product on rows
MEMBER [Measures].[ProductUniqueName] AS [Product].[Product].CurrentMember.Uniquename
//Returns the name of the Product dimension
MEMBER [Measures].[ProductDimensionName] AS [Product].Name
SELECT {[Measures].[ProductName],[Measures].[ProductUniqueName],[Measures].[ProductDimensionName]}
ON COLUMNS,
[Product].[Product].MEMBERS ON ROWS
FROM [Adventure Works]
Функция Generate может использоваться для выполнения строковой функции на каждом элементе множества и конкатенации результатов. Это также полезно при отладке вычислений, так как позволяет визуализировать содержимое множества. Следующий пример показывает, как использовать его таким образом:
WITH
//Returns the names of the current Product and its ancestors up to the All Member
MEMBER [Measures].[AncestorNames] AS
GENERATE(
ASCENDANTS([Product].[Product Categories].CurrentMember)
, [Product].[Product Categories].CurrentMember.Name, ", ")
SELECT
{[Measures].[AncestorNames]}
ON COLUMNS,
[Product].[Product Categories].MEMBERS ON ROWS
FROM [Adventure Works]
Другая группа широко используемых строковых функций — это те, которые позволяют накастить строку с уникальным именем объекта или выражением, которое разрешается в объект в сам объект. Следующий пример запроса демонстрирует, как функции StrToMember и StrToSet делают это:
SELECT
{StrToMember("[Measures].[Inter" + "net Sales Amount]")}
ON COLUMNS,
StrToSet("{
[Product].[Product Categories].[Category].&[3],
[Product].[Product Categories].[Product].&[477],
[Product].[Product Categories].[Product].&[788],
[Product].[Product Categories].[Product].&[708],
[Product].[Product Categories].[Product].&[711]
}")
ON ROWS
FROM [Adventure Works]
Замечание
Функции StrToMember и StrToSet следует использовать с осторожностью. Они могут привести к низкой производительности запросов, если используются в определениях вычислений.