Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode usar funções de string em quase todos os objetos em Expressões Multidimensionais (MDX). Em procedimentos armazenados, você usa funções de cadeia principalmente para converter o objeto em uma representação de cadeia. Você também usa funções de cadeia para avaliar uma expressão de cadeia sobre um objeto a fim de retornar um valor.
As funções de string mais amplamente utilizadas são Nome e Nome Único. Respectivamente, essas funções retornam o nome e o nome único de um objeto. Na maioria das vezes, são usados ao depurar cálculos para descobrir qual membro uma função está retornando.
Exemplos
Os seguintes exemplos de consultas mostram como usar essas funções:
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]
A função Generate pode ser usada para executar uma função string em cada membro de um conjunto e concatenar os resultados. Isso também pode ser útil ao depurar cálculos, pois permite visualizar o conteúdo de um conjunto. O exemplo a seguir mostra como usá-lo dessa forma:
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]
Outro grupo de funções de cadeia amplamente utilizadas são aquelas que permitem lançar uma cadeia contendo o nome único de um objeto ou uma expressão que resolve para o objeto dentro do próprio objeto. A consulta de exemplo a seguir demonstra como as funções StrToMember e StrToSet fazem isso:
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]
Note
As funções StrToMember e StrToSet devem ser usadas com cautela. Elas podem levar a um desempenho ruim de consultas se forem usadas dentro das definições de cálculo.