Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Je kunt stringfuncties gebruiken op bijna elk object in Multidimensional Expressions (MDX). In stored procedures gebruik je snaarfuncties vooral om het object om te zetten naar een representatie. Je gebruikt ook stringfuncties om een stringexpressie over een object te evalueren om een waarde terug te geven.
De meest gebruikte stringfuncties zijn Name en Uniquename. Respectievelijk geven deze functies de naam en unieke naam van een object terug. Meestal worden ze gebruikt bij het debuggen van berekeningen om te ontdekken welk lid een functie teruggeeft.
Examples
De volgende voorbeeldqueries laten zien hoe deze functies gebruikt kunnen worden:
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]
De Genere-functie kan worden gebruikt om een stringfunctie uit te voeren op elk lid van een set en de resultaten aan elkaar te koppelen. Dit kan ook nuttig zijn bij het debuggen van berekeningen, omdat je zo de inhoud van een set kunt visualiseren. Het volgende voorbeeld laat zien hoe je het op deze manier kunt gebruiken:
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]
Een andere groep veelgebruikte stringfuncties zijn die waarmee je een string met de unieke naam van een object of een expressie die naar het object wordt opgelost in het object zelf kunt omzetten. De volgende voorbeeldquery laat zien hoe de functies StrToMember en StrToSet dit doen:
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
De functies StrToMember en StrToSet moeten met voorzichtigheid worden gebruikt. Ze kunnen leiden tot slechte queryprestaties als ze binnen berekeningsdefinities worden gebruikt.