Š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ūtina. Ryšio su kubu pavadinimo teksto eilutė.
- Member_expression Pasirinktinai. 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, jo negalima naudoti arba jis grąžina klaidos pranešimą, CUBEVALUE grąžina #NAME? klaidos reikšmę.
Jei bent vienas reikšmių rinkinio elementas 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.
- Reikšmių rinkinys 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ą 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 šios duomenų bazės užklausa pateikia nulinę reikšmę, programa "Excel" konvertuoja šią nulinę reikšmę į nulinio ilgio eilutę, net jei kitu atveju formulė grąžintų skaitinę reikšmę. Tai gali sukelti situaciją, kai langelių diapazone yra skaitinių ir nulinio ilgio eilutės reikšmių derinys, o ši situacija gali paveikti kitų formulių, kurios nurodo tą langelių diapazoną, rezultatus. Pavyzdžiui, jei A1 ir A3 yra skaičiai, o A2 yra formulė su funkcija CUBEVALUE, kuri grąžina nulinio ilgio eilutę, toliau pateikta formulė pateiks #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)