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 talletatud 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 tutt-elemendist on kehtetu, 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 FUNKTSIOONI CUBEVALUE, mis on ühendatud OLAP-andmebaasiga ja selle andmebaasi päringu tulemuseks on Tühiväärtus, teisendab Excel selle tühiväärtuse nullpikkusega stringiks, isegi kui valem tagastaks muidu arvuväärtuse. See võib viia olukorrani, kus lahtrivahemik sisaldab arvuliste ja nullpikkusega stringiväärtuste kombinatsiooni ning see olukord võib mõjutada sellele lahtrivahemikule viitavate muude valemite tulemusi. Näiteks kui A1 ja A3 sisaldavad arve ja A2 sisaldab funktsiooniGA CUBEVALUE valemit, mis tagastab nullpikkusega stringi, tagastab järgmine valem #VALUE! tõrge:
=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)