Set-modifierare med dollarteckenexpansioner
Dollarteckenexpansioner är konstruktioner som beräknas innan uttrycket tolkats och utvärderats. Resultatet matas sedan in i uttrycket istället för $(…). Beräkningen av uttrycket görs sedan med hjälp av resultatet av dollarexpansionen.
Uttrycksredigeraren visar en förhandsgranskning av dollarexpansionen så att du kan bekräfta vad din dollarteckenexpansion utvärderas till.
Använd dollarteckensexpansioner när du vill använda en beräkning i din elementuppsättning.
Om du till exempel endast vill titta på det sista möjliga året kan du använda följande konstruktion:
<Year = {$(=Max(Year))}>
Max(Year) beräknas först och resultatet matas in i uttrycket istället för $(…).
Resultatet efter dollarexpansionen kommer att vara ett uttryck som detta:
<Year = {2021}>
Uttrycket i dollarteckenexpansionen beräknas baserat på det aktuella urvalet. Det betyder att om du har ett urval i ett annat fält kommer resultatet av uttrycket att påverkas.
Om du vill att beräkningen ska vara fristående från urvalet kan du använda set-analysen i dollarexpansionen. Exempel:
<Year = {$(=Max({1} Year))}>
Strings
När du vill att dollarexpansionen ska resultera i en sträng gäller normala citatregler. Exempel:
<Country = {'$(=FirstSortedValue(Country,Date)'}>
Resultatet efter dollarexpansionen kommer att vara ett uttryck som detta:
<Country = {'New Zealand'}>
Du kommer att få ett syntaxfel om du inte använder citattecken.
Numbers
När du vill att dollarexpansionen ska resultera i en siffra ska du se till att expansionen får samma formatering som fältet. Det betyder att du ibland behöver radbryta uttrycket i en formateringsfunktion.
Exempel:
<Amount = {$(=Num(Max(Amount), '###0.00'))}>
Resultatet efter dollarexpansionen kommer att vara ett uttryck som detta:
<Amount = {12362.00}>
Använd en hash för att tvinga expansionen att alltid använda decimalkomma och ingen tusentalsavgränsare. Exempel:
<Amount = {$(#=Max(Amount))}>
Datum
Om du vill att dollarexpansionen ska resultera i ett datum ska du se till att expansionen har korrekt formatering. Det betyder att du ibland behöver radbryta uttrycket i en formateringsfunktion.
Exempel:
<Date = {'$(=Date(Max(Date)))'}>
Resultatet efter dollarexpansionen kommer att vara ett uttryck som detta:
<Date = {'12/31/2015'}>
Precis som för strängar behöver du använda korrekta citattecken.
Ett vanligt exempel kan vara när du vill att beräkningen ska vara begränsad till den senaste månaden (eller året). Då kan du använda en numerisk sökning i kombination med funktionen AddMonths().
Exempel:
<Date = {">=$(=AddMonths(Today(),-1))"}>
Resultatet efter dollarexpansionen kommer att vara ett uttryck som detta:
<Date = {">=9/31/2021"}>
Det kommer att välja ut alla händelser som inträffat under den senaste månaden.
Exempel: Diagramuttryck för set-modifierare med dollarteckenexpansioner
Exempel | Resultat |
---|---|
sum( {$<Year = {$(#vLastYear)}>} Sales ) |
Returnerar försäljningen för föregående år relaterat till det aktuella valet. Här används variabeln vLastYear, som innehåller det relevanta året, för en dollarteckenexpansion. |
sum( {$<Year = {$(#=Only(Year)-1)}>} Sales ) |
Returnerar försäljningen för föregående år relaterat till det aktuella valet. Här används en dollarteckenexpansion för att beräkna föregående år. |