CELLGET
Den här funktionen returnerar värdena för en kub baserat på de element som du anger. Funktionen kan endast användas med ODBO- och XMLA-kompatibla databaser. Funktionen påminner om en ROC-formel, men är dynamisk. Det innebär att du inte behöver ange alla element i en dimension. Det förvalda elementet används för de dimensioner som du inte anger.
Den här dynamiken är särskilt relevant när det gäller rapportmallar. Den som utformar en mall kan exempelvis ange att användarna måste välja en dimension som innehåller mått eller en som innehåller tidsperioder. Den som har designat mallen kan dock inte veta vilka faktiska dimensioner som är tillgängliga för användaren, eller vilken dimension som han eller hon kommer att välja. De formler som designern infogar får därför inte referera till specifika dimensioner, hierarkier eller element. Varje argument i en CELLGET-formel kan tillhandahållas med hjälp av en variabel.
Det spelar inte någon roll i vilken ordning du anger dimensionerna. Du kan referera till ett område av celler i en CELLGET-formel istället för att referera till varje cell enskilt var för sig.
CELLGET stöder val av flera element från en enskild dimension.
Syntax
=CELLGET("data_connection", "cube"{,"slice_element"})
Exempel
=CELLGET( "BestPracticesOLAP", "Analysis", "[Period].[All Years].[2017]",
"[Product].[Car Tires All Season]")
Du kan referera till element från flera dimensioner enskilt eller som ett område med hjälp av CELLGET. Om cellerna B4, B5, B6 och B7 innehåller varsitt elementnamn ger följande två exempel samma resultat:
=CELLGET("BestPracticesOLAP", "Analysis",B4,B5,B6,B7)
=CELLGET("BestPracticesOLAP","Analysis",B4:B7)
När du ändrar värdet på en cell som innehåller CELLGET-formeln skrivs värdet tillbaka till databasen.
Du kan referera till en cell inom ett hyperblock med en CELLGET-formel.
Multiselect
CELLGET stöder Multiselect. Du kan ersätta valfria element i en CELLGET-formel med referenser till giltig Multiselect XML (mls-xml). Referenserna kan vara till celler eller variabler som innehåller mls-xml.
I det här exemplet lagras elementen 2016 och 2017 som mls-xml i en rapportvariabel:
=CELLGET("BestPracticesOLAP","ANALYSIS","[CHANNEL].[All Channels]","[MEASURE].[Gross Margin]",
"[POS].[All POS]","[PRODUCT].[All Tires]","[REGION].[All Regions].[Europe]",
ReportVariables.rv_multi.Text,"[VALTYPE].[Variance]")
Du kan också ange flera element i en dimension med hjälp av ett område:
I det här exemplet är elementen 2016 och 2017 angivna i ett område.
=CELLGET("BestPracticesOLAP","ANALYSIS","[CHANNEL].[All Channels]","[MEASURE].[Gross Margin]"
,"[POS].[all pos]","[Product].[all tires]","[region].[all regions].[europe]",
"[Period].[all years].[2016]::[period].[all years].[2017]","[valtype].[variance]")
Funktionen returnerar summan av de enskilda elementens värden.