Selles artiklis kirjeldatakse Microsoft Exceli funktsiooni CUBEVALUE valemisüntaksit ja kasutamist.
Kirjeldus
Tagastab kuubist kokkuvõtteväärtuse.
Süntaks
CUBEVALUE(ühendus, [liige_avaldis1], [liige_avaldis2], …)
Funktsiooni CUBEVALUE süntaks sisaldab järgmisi argumente.
-
Ühendus – nõutav. Kuubiühenduse nime tekstistring.
-
Liige_avaldis – valikuline. Kuubi liiget või kordset väärtustava mitmemõõtmelise avaldise (MDX) tekstistring. Liige_avaldis võib olla ka funktsiooni CUBESET määratletud kogum. Kasutage argumenti liige_avaldis selle kuubi osa määratlemiseks, millest tagastatakse kokkuvõtteväärtus. Kui argumendis liikme_avaldis pole mõõdet määratud, kasutatakse selle kuubi vaikemõõdet.
Kommentaarid
-
Funktsiooni CUBEVALUE väärtustamisel kuvatakse andmete allalaadimise ajal lahtris ajutiselt teade "#GETTING_DATA…".
-
Kui argumendis liige_avaldis kasutatakse lahtriviidet ja see lahtriviide sisaldab funktsiooni CUBE, siis kasutab argument liige_avaldis viidatud lahtris kuvatava väärtuse asemel viidatud lahtri üksuse MDX-avaldist.
-
Kui ühenduse nimi pole töövihikus salvestatud kehtiv töövihikuühendus, tagastab funktsioon CUBEVALUE #NAME? #NUM!. Kui OLAP-server ei tööta, pole saadaval või tagastab tõrketeate, tagastab funktsioon CUBEVALUE #NAME? #NUM!.
-
Kui vähemalt üks kordse element ei sobi, tagastab funktsioon CUBEVALUE #VALUE! #NUM!.
-
Funktsioon CUBEVALUE tagastab veaväärtuse #N/A järgmistel põhjustel.
-
Argumendi liikme_avaldis süntaks on vale.
-
Kuubis pole argumendis liige_avaldis määratud liiget.
-
Kordne ei sobi, kuna määratud väärtustel pole lõikepunkti. (See võib juhtuda siis, kui valitud on mitu sama hierarhia elementi.)
-
Kogum sisaldab vähemalt ühte teistest liikmetest erineva mõõtmega liiget.
-
Kui viitate ühiskasutatava ühendusega PivotTable-liigendtabelis seansipõhisele objektile (nt arvutatud liikmele või nimega komplektile) ning PivotTable-liigendtabel on kustutatud või olete PivotTable-liigendtabeli valemiteks teisendanud, võib funktsioon CUBEVALUE tagastada veaväärtuse #N/A. (Klõpsake menüü Suvandid jaotises Tööriistad nuppu OLAP-i tööriistad ning klõpsake seejärel käsku Teisenda valemiteks.)
-
Probleem: tühjad väärtused teisendatakse nullväärtusega stringideks
Kui Excelis on lahter tühi (te pole seda muutnud või olete lahtri sisu kustutanud), siis sisaldab lahter tühja väärtust. Paljudes andmebaasisüsteemides nimetatakse tühja väärtust nullväärtuseks. Tühi või nullväärtus tähendabki seda, et väärtust pole. Sellegipoolest ei saa valem tagastada tühja stringi ega nullväärtust. Valem tagastab alati ühe järgmistest väärtustest: arvväärtuse, tekstväärtuse (mis võib olla ka nullpikkusega string) või veaväärtuse (nt #NUM! või #VALUE).
Kui valem sisaldab OLAP-andmebaasiga ühendatud funktsiooni CUBEVALUE ja selle andmebaasi päring annab tulemiks nullväärtuse, teisendab Excel selle nullväärtuse nullpikkusega stringiks, isegi kui valem tagastab muidu arvväärtuse. See võib põhjustada olukorra, kus lahtrivahemik sisaldab arv- ja nullpikkusega stringväärtuste kombinatsiooni ning see olukord võib mõjutada teiste sellele lahtrivahemikule viitavate valemite tulemeid. Näiteks kui A1 ja A3 sisaldavad arve ning A2 sisaldab funktsiooniga CUBEVALUE valemit, mis tagastab nullpikkusega stringi, tagastaks järgmine valem #VALUE! Viga:
=A1+A2+A3
Selle vältimiseks saate funktsiooni ISTEXT abil valemit nullpikkusega stringi tagastamise suhtes kontrollida ja funktsiooni IF abil nullpikkusega stringi nulliga (0) asendada, nagu järgnevas näites.
=IF(ISTEXT(A1);0;A1)+IF(ISTEXT(A2);0;A2)+IF(ISTEXT(A3);0;A3)
Võite ka funktsiooni CUBEVALUE pesastada tingimuses IF, mis tagastab väärtuse 0, kui funktsioon CUBEVALUE väärtustab nullpikkusega stringi nagu järgnevas näites.
=IF (CUBEVALUE("Müük";"[Mõõdud].[Kasum]";"[Aeg].[2004]";"[Kõik tooted].[Joogid]")=""; 0; CUBEVALUE("Müük";"[Mõõdud].[Kasum]";"[Aeg].[2004]";"[Kõik tooted].[Joogid]"))
Funktsiooni SUM puhul pole vaja nullpikkusega stringe kontrollida, kuna tagastatavat väärtust arvutades ignoreerib funktsioon neid automaatselt.
Näited
=CUBEVALUE("Müük";"[Mõõdud].[Kasum]";"[Aeg].[2004]";"[Kõik tooted].[Joogid]")
=CUBEVALUE($A$1;"[Mõõdud].[Kasum]";D$12;$A23)
=CUBEVALUE("Müük";$B$7;D$12;$A23)