CELLGET

Funkcja ta zwraca wartości kostki na podstawie określonych przez Ciebie elementów. Funkcji tej można używać wyłącznie w przypadku baz danych zgodnych z ODBO i XMLA. Jest ona podobna do formuły ROC, jednak jest dynamiczna. Oznacza to, że nie trzeba określać wszystkich elementów wymiaru. Dla wymiarów, których nie określisz, wykorzystywany jest domyślny element.

Taki dynamizm ma szczególne znaczenie w przypadku szablonów raportów. Projektant szablonu może określić na przykład, że użytkownicy muszą wybrać wymiar zawierający miary albo wymiar zawierający okresy. Jednak projektant nie może znać faktycznych wymiarów dostępnych dla użytkownika, ani wiedzieć, który wymiar użytkownik wybierze. W związku z tym formuły wprowadzane przez projektanta szablonu nie mogą zawierać odwołań do określonych wymiarów, hierarchii ani elementów. Każdy argument formuły CELLGET może być podawany przez zmienną.

Kolejność określenia wymiarów nie ma znaczenia. W formule CELLGET można zawrzeć odwołanie do zakresu komórek zamiast zawierania osobnych odwołań do każdej z nich.

Funkcja CELLGET obsługuje wybór wielu elementów z jednego wymiaru.

Składnia

=CELLGET("data_connection", "cube"{,"slice_element"})

Przykład

=CELLGET( "BestPracticesOLAP", "Analysis", "[Period].[All Years].[2017]",
"[Product].[Car Tires All Season]")
	 

Funkcji CELLGET można użyć, aby zawrzeć odwołania do wielu wymiarów osobno albo w postaci zakresu. Tak więc, jeśli każda z komórek B4, B5, B6, i B7 zawiera nazwę elementu, poniższe dwa przykłady dają taki sam wynik:

=CELLGET("BestPracticesOLAP", "Analysis",B4,B5,B6,B7)
=CELLGET("BestPracticesOLAP","Analysis",B4:B7)

Po zmianie wartości komórki, która zawiera formułę CELLGET, wartość jest zapisywana do bazy danych.

Formuły CELLGET można użyć, aby zawrzeć odwołanie do komórki w hiperbloku.

Wybór wielokrotny

Funkcja CELLGET obsługuje wybór wielokrotny. Możesz zastąpić każdy z elementów formuły CELLGET odwołaniami do prawidłowego pliku XML wyboru wielokrotnego (MLS-XML). Odwołania mogą odnosić się do komórek albo zmiennych, które zawierają MLS-XML.

W tym przykładzie elementy 2016 i 2017 są przechowane w postaci MLS-XML w zmiennej raportu:

=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]")

Można również posłużyć się zakresem, aby określić wiele elementów wymiaru:

W tym przykładzie elementy 2016 i 2017 określone zostały poprzez zakres.

=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]")
Funkcja zwraca sumę wartości poszczególnych elementów.