Šiame straipsnyje aprašoma formulės sintaksė ir funkcijos CUBEVALUE naudojimas programoje „Microsoft Excel“.
Aprašas
Grąžina agreguotą reikšmę iš kubo.
Sintaksė
CUBEVALUE(ryšys, [nario_išraiška1], [nario_išraiška2],...)
Funkcijos CUBEVALUE sintaksėje yra toliau nurodyti argumentai.
-
Ryšys Būtinas. Ryšio su kubu pavadinimo teksto eilutė.
-
Nario_išraiška Pasirinktinis. Kube esančios kelių dimensijų išraiškos (MDX), kuri vertina narį ar reikšmių rinkinį, teksto eilutė. Nario_išraiška taip pat gali būti rinkinys, apibrėžtas naudojant funkciją CUBESET. Naudokite nario_išraišką kaip pjūvį, kad apibrėžtumėte kubo dalį, kurios sukaupta reikšmė grąžinama. Jei nario_išraiškoje nenurodytas matas, naudojamas numatytasis kubo matas.
Pastabos
-
Kai funkcija CUBEVALUE vertina, prieš nuskaitant visus duomenis langelyje trumpai rodomas pranešimas „#GETTING_DATA…“.
-
Jei nario_išraiškai naudojama langelio nuoroda, kurioje yra funkcija CUBE, nario_išraiška elementui, esančiam nurodytame langelyje, naudoja MDX išraišką, o ne nurodytame langelyje rodomą reikšmę.
-
Jei ryšio pavadinimas nėra leistinas darbaknygėje saugomas darbaknygės ryšys, CUBEVALUE grąžina #NAME? klaidos reikšmę. Jei analitinio apdorojimo tinkle (OLAP) serveris neveikia, nepasiekiamas arba pateikia klaidos pranešimą, CUBEVALUE pateikia #NAME? klaidos reikšmę.
-
Jei bent vienas kortežų elementas yra neleistinas, CUBEVALUE grąžina #VALUE! klaidos reikšmę.
-
CUBEVALUE grąžina klaidos reikšmę #N/A, kai:
-
Nario_išraiškos sintaksė neteisinga.
-
Nario, kurį nurodo nario_išraiška, kube nėra.
-
Kortežas neleistinas, nes nėra nurodytų reikšmių sankirtos. (Taip gali atsitikti su keliais elementais iš tos pačios hierarchijos.)
-
Rinkinyje yra mažiausiai vienas narys, kurio dimensija skiriasi nuo kitų narių dimensijų.
-
CUBEVALUE gali grąžinti klaidos reikšmę #N / A, jei bendrai naudodami ryšį "PivotTable" nurodysite seanso pagrindu veikiantį objektą, pvz., apskaičiuotą narį arba įvardytąjį rinkinį, o ta "PivotTable" panaikinama arba ją konvertuojate į formules. (Skirtuko Parinktys grupėje Įrankiai spustelėkite OLAP įrankiai, tada spustelėkite Konvertuoti į formules.)
-
Problema: nulinės reikšmės konvertuojamos į nulinio ilgio eilutes
Jei „Excel“ langelyje nėra duomenų dėl to, kad langelis niekada nebuvo keistas arba jo turinys buvo panaikintas, langelyje bus tuščia reikšmė. Daugelyje duomenų bazių sistemų tuščia reikšmė vadinama nuline reikšme. Tuščia arba nulinė reikšmė pažodžiui reiškia „nėra reikšmės“. Tačiau formulė negali grąžinti tuščios eilutės ar nulinės reikšmės. Formulė visada grąžina vieną iš trijų reikšmių: skaitinę reikšmę, tekstinę reikšmę, kuri gali būti nulinio ilgio eilutė, arba klaidos reikšmę, pvz., #NUM! arba #VALUE.
Jei formulėje yra funkcija CUBEVALUE, prijungta prie analitinio apdorojimo tinkle (OLAP) duomenų bazės, o užklausa į šią duomenų bazę pateikia reikšmę Null, "Excel" konvertuoja šią Null reikšmę į nulinio ilgio eilutę, net jei formulė kitu atveju pateiktų skaitinę reikšmę. Tai gali lemti situaciją, kai langelių diapazone yra skaitinių ir nulinio ilgio eilučių reikšmių derinys, ir ši situacija gali turėti įtakos kitų formulių, nurodančių tą langelių diapazoną, rezultatams. Pavyzdžiui, jei A1 ir A3 yra skaičių, o A2 yra formulė su funkcija CUBEVALUE, kuri pateikia nulinio ilgio eilutę, ši formulė grąžins #VALUE! Klaida:
=A1+A2+A3
Norėdami to išvengti, galite tikrinti, ar yra nulinio ilgio eilučių, naudodami funkciją ISTEXT, ir naudoti funkciją IF, kad nulinis ilgis būtų pakeičiamas 0 (nuliu), kaip pavaizduota šiame pavyzdyje:
=IF(ISTEXT(A1),0,A1)+IF(ISTEXT(A2),0,A2)+IF(ISTEXT(A3),0,A3)
Taip pat galite įdėti funkciją CUBEVALUE į sąlygą IF, kuri grąžina 0 reikšmę, jei naudojant funkciją CUBEVALUE gaunama nulinio ilgio eilutė, kaip pavaizduota šiame pavyzdyje:
=IF (CUBEVALUE("Sales","[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]")="", 0, CUBEVALUE("Sales","[Measures].[Profit]","[Time].[2004]","[All Product].[Beverages]"))
Atsiminkite, kad funkcijai SUM nereikia šio nulinio ilgio eilutės tikrinimo, nes skaičiuodama grąžinamą reikšmę ji automatiškai ignoruoja nulinio ilgio eilutes.
Pavyzdžiai
=CUBEVALUE("Pardavimas","[Matai].[Pelnas]","[Laikas].[2004]","[Visi produktai].[Gėrimai]")
=CUBEVALUE($A$1,"[Matai].[Pelnas]",D$12,$A23)
=CUBEVALUE("Pardavimas",$B$7,D$12,$A23)