V tem članku je opisana 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 Obvezno. Besedilni niz imena povezave s kocko.
- Member_expression Neobvezno. 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 CUBEVALUE #NAME? vrednost napake. Če se strežnik OLAP ne izvaja, ni na voljo ali vrne sporočilo o napaki, vrne CUBEVALUE #NAME? vrednost napake.
Če je vsaj en element v n-tici neveljaven, vrne 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 ali ničelna vrednost dobesedno pomeni »Brez vrednosti«. Vendar formula nikoli ne vrne praznega niza ali vrednosti Null. 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, ki je povezana z zbirko podatkov OLAP (Online Analytical Processing), in poizvedba v to zbirko podatkov dobi vrednost »Null«, Excel pretvori to vrednost »Null« v niz ničelne dolžine, tudi če bi formula sicer vrnila številsko vrednost. To lahko privede do situacije, ko obseg celic vsebuje kombinacijo številskih vrednosti in vrednosti niza ničelne dolžine, kar lahko vpliva na rezultate drugih formul, ki se sklicujejo na ta obseg celic. Če na primer celici A1 in A3 vsebujeta števila, celica A2 pa vsebuje formulo s funkcijo CUBEVALUE, ki vrne niz ničelne dolžine, bo naslednja 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)