V tem članku sta opisani sintaksa formule in uporaba funkcije CUBEVALUE v Microsoft Excelu.
Opis
Vrne združeno vrednost iz kocke.
Sintaksa
CUBEVALUE(povezava, [član_izraz1], [član_izraz2],...)
V sintaksi funkcije CUBEVALUE so ti argumenti:
-
Povezava Obvezen. Besedilni niz imena povezave s kocko.
-
Član_izraz Neobvezen. Besedilni niz večdimenzijskega izraza (MDX), ki vrednoti člana ali množico znotraj kocke. Argument »član_izraz« je lahko tudi niz, določen s funkcijo CUBESET. Argument »član_izraz« uporabite kot razčlenjevalnik, če želite določiti del kocke, za katero je vrnjena združena vrednost. Če v argumentu »član_izraz« ni določena nobena mera, bo uporabljena privzeta mera za to kocko.
Opombe
-
Ko funkcija CUBEVALUE ovrednoti podatke, v celici začasno prikaže sporočilo »#PRIDOBIVANJE_PODATKOV …«, preden so vsi podatki pridobljeni.
-
Če za argument »član_izraz« uporabite sklic na celico in ta celica vsebuje funkcijo CUBE, argument »član_izraz« uporablja izraz MDX za element v celici, na katero se sklicujete, ne pa vrednost, ki je v tej celici prikazana.
-
Če ime povezave ni veljavna povezava delovnega zvezka, shranjena v delovnem zvezku, vrne funkcija CUBEVALUE #NAME? . Če strežnik OLAP ne deluje, ni na voljo ali vrne sporočilo o napaki, vrne funkcija CUBEVALUE #NAME? .
-
Če je vsaj en element v množici neveljaven, vrne FUNKCIJA CUBEVALUE #VALUE! .
-
Funkcija CUBEVALUE vrne napako z vrednostjo #N/V v teh primerih:
-
Sintaksa argumenta »član_izraz« ni pravilna.
-
Član, določen v argumentu »član_izraz«, ne obstaja v kocki.
-
Množica ni veljavna, ker ni preseka za določene vrednosti. (Do tega lahko pride pri več elementih iz iste hierarhije.)
-
Niz vsebuje vsaj enega člana z dimenzijo, ki se razlikuje od dimenzije drugih članov.
-
CUBEVALUE lahko vrne napako z vrednostjo #N/V, če v vrtilno tabelo vstavite sklic na predmet, ki temelji na seji, na primer sklic na izračunanega člana ali poimenovani niz, kadar imate povezavo v skupni rabi in je vrtilna tabela izbrisana ali jo pretvorite v formule. (Na zavihku Možnosti v skupini Orodja kliknite Orodja OLAP in nato Pretvori v formule.)
-
Težava: Ničelne vrednosti se pretvorijo v nize z dolžino znakov nič
Če v Excelu celica nima podatkov, ker je nikoli niste spremenili ali pa ste izbrisali vsebino, celica vsebuje prazno vrednost. V veliko sistemih zbirk podatkov, se prazna vrednost imenuje ničelna vrednost. Prazna, oziroma ničelna vrednost pomeni dobesedno "brez vrednosti". Kljub temu, pa formula nikoli ne more vrniti praznega niza ali ničelne vrednosti. Formula vedno vrne eno od treh vrednosti: številčno vrednost; besedilno vrednost, ki je lahko tudi niz z dolžino nič znakov, ali pa napako z vrednostjo, kot je na primer #ŠTEV! ali #VREDN.
Če formula vsebuje funkcijo CUBEVALUE, povezano z zbirko podatkov OLAP, in poizvedba v to zbirko podatkov vrne vrednost Null, Excel pretvori to vrednost Null v niz ničelne dolžine, tudi če bi formula sicer vrnila številske vrednosti. To lahko privede do situacije, ko obseg celic vsebuje kombinacijo številskih vrednosti in vrednosti nizov ničelne dolžine, ta situacija pa lahko vpliva na rezultate drugih formul, ki se sklicujejo na ta obseg celic. Če na primer A1 in A3 vsebujeta števila, A2 pa formulo s funkcijo CUBEVALUE, ki vrne niz ničelne dolžine, bo ta formula vrnila #VALUE! napaka:
=A1+A2+A3
Če želite to preprečiti, naredite preskus za nize z dolžino znakov nič tako, da uporabite funkcijo ISTEXT in da uporabite funkcijo IF, s katero zamenjate vnose z dolžino nič z vrednostjo 0 (nič), kot je prikazano v tem primeru:
=IF(ISTEXT(A1),0,A1)+IF(ISTEXT(A2),0,A2)+IF(ISTEXT(A3),0,A3)
Funkcijo CUBEVALUE pa lahko tudi ugnezdite v pogoj IF, ki bo vrnil vrednost 0, če funkcija CUBEVALUE vrne niz z dolžino nič znakov, kot je prikazano v tem primeru:
=IF (CUBEVALUE("Prodaja"; "[Mere].[Dobiček]"; "[Čas].[2004]"; "[Vsi izdelki].[Pijače]")=""; 0; CUBEVALUE("Prodaja"; "[Mere].[Dobiček]"; "[Čas].[2004]"; "[Vsi izdelki].[Pijače]"))
Ne pozabite, da funkcija SUM ne potrebuje preskusa za nize z dolžino nič, saj samodejno prezre take nize pri izračunu končne vrednosti.
Primeri
=CUBEVALUE("Prodaja";"[Mere].[Dobiček]";"[Čas].[2004]";"[Vsi izdelki].[Pijače]")
=CUBEVALUE($A$1;"[Mere].[Dobiček]";D$12;$A23)
=CUBEVALUE("Prodaja";$B$7;D$12;$A23)