CUBEVALUE (funkce)

Tento článek popisuje syntaxi vzorce a použití funkce CUBEVALUE v Microsoft Excelu.

Popis

Vrátí úhrnnou hodnotu z krychle.

Syntaxe

CUBEVALUE(připojení, [výraz_člena1], [výraz_člena2], …)

Syntaxe funkce CUBEVALUE má následující argumenty:

  • Připojení:    Povinný argument. Textový řetězec názvu připojení k datové krychli.

  • Výraz_člena:    Nepovinný argument. Textový řetězec výrazu MDX (Multidimensional Expression), jehož výsledkem je prvek nebo řazená kolekce členů v datové krychli. Jako hodnotu argumentu výraz_člena lze použít i sadu definovanou pomocí funkce CUBESET. Argument výraz_člena použijte jako průřez k definování části datové krychle, jejíž úhrnná hodnota bude vrácena. Jestliže v argumentu výraz_člena není uvedena žádná míra, použije se výchozí míra příslušné krychle.

Poznámky

  • Při vyhodnocování funkce CUBEVALUE se v buňce před načtením všech dat přechodně zobrazí zpráva #NAČÍTÁNÍ_DAT…

  • Jestliže je v argumentu výraz_člena použit odkaz na buňku a tento odkaz obsahuje funkci CUBE, nepoužije argument výraz_člena hodnotu zobrazenou v buňce, do níž vede odkaz, ale výraz MDX platný pro položku v této buňce.

  • Není-li název připojení platným názvem připojení, uloženým v sešitu, vrátí funkce CUBEVALUE chybovou hodnotu #NÁZEV?. Jestliže server Online Analytical Processing (OLAP) není spuštěn, není dostupný nebo vrátí chybovou zprávu, vrátí funkce CUBEVALUE chybovou hodnotu #NÁZEV?.

  • Je-li alespoň jeden prvek v n-tici neplatný, vrátí funkce CUBEVALUE chybovou hodnotu #HODNOTA!.

  • V následujících případech vrátí funkce CUBEVALUE chybovou hodnotu #NENÍ_K_DISPOZICI:

    • Syntaxe argumentu výraz_člena není správná.

    • V krychli neexistuje člen určený pomocí argumentu výraz_člena.

    • N-tice je neplatná, protože neexistuje průsečík zadaných hodnot. (Tato situace může nastat u více prvků ve stejné hierarchii.)

    • Sada obsahuje minimálně jeden člen s jiným rozměrem než ostatní členy.

    • Funkce CUBEVALUE může vrátit chybovou hodnotu #NENÍ_K_DISPOZICI, pokud v kontingenční tabulce při sdílení spojení odkazujete na objekt z relace, například na počítaný člen pojmenované sady, a příslušnou kontingenční tabulku odstraňujete nebo převádíte kontingenční tabulku na vzorce. (Na kartě Možnosti ve skupině Nástroje klikněte na položku Nástroje OLAP a poté klikněte na položku Převést na vzorce.)

Problém: Hodnoty Null jsou převáděny na řetězce nulové délky

Pokud nejsou v Excelu v buňce žádná data, protože jste ji nikdy nezměnili nebo smazali její obsah, obsahuje buňka prázdnou hodnotu. V řadě databázových systémů se prázdná hodnota nazývá hodnota Null. Je-li hodnota prázdná neboli Null, znamená to doslovně „Žádná hodnota“. Vzorec však nikdy nevrací prázdný řetězec nebo hodnotu Null. Vzorec vždy vrací jednu ze tří hodnot: číselnou hodnotu, textovou hodnotu (jíž může být řetězec nulové délky) nebo chybovou hodnotu, například #ČÍSLO! nebo #HODNOTA.

Pokud vzorec obsahuje funkci CUBEVALUE propojenou s databází Online Analytical Processing (OLAP) a databázový dotaz vrací hodnotu Null, aplikace Excel převede tuto hodnotu Null na řetězec nulové délky, i kdyby vzorec jinak vracel číselnou hodnotu. To může vést k situaci, kdy oblast buněk obsahuje kombinaci číselných hodnot a řetězců nulové délky, a tato situace může ovlivnit výsledky jiných vzorců, které obsahují na tuto oblast buněk. Pokud například obsahují buňky A1 a A3 čísla a buňka A2 obsahuje vzorec s funkcí CUBEVALUE, která vrací řetězec nulové délky, bude vrátí následující vzorec chybovou hodnotu #HODNOTA!:

=A1+A2+A3

Chcete-li se tomu vyhnout, můžete testovat výskyt řetězce nulové délky pomocí funkce JE.TEXT a pomocí funkce KDYŽ nahradit nulovou délku číslem 0 (nula), jak ukazuje následující příklad:

=IF(ISTEXT(A1),0,A1)+IF(ISTEXT(A2),0,A2)+IF(ISTEXT(A3),0,A3)

Můžete také vnořit funkci CUBEVALUE do podmínky KDYŽ, která vrátí hodnotu 0, kdykoli funkce CUBEVALUE vrátí řetězec nulové délky, viz následující příklad:

=IF (CUBEVALUE("Sales","[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]")="", 0, CUBEVALUE("Sales","[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]"))

U funkce SUM není třeba provádět test na řetězec nulové délky, protože při výpočtu návratové hodnoty automaticky ignoruje řetězce nulové délky.

Příklady

=CUBEVALUE("Sales","[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]")

=CUBEVALUE($A$1,"[Measures].[Profit]",D$12,$A23)

=CUBEVALUE("Sales",$B$7,D$12,$A23)

Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

Děkujeme vám za zpětnou vazbu.

×