DAX формулаларындағы сүзгі деректері

Формулалар ішінде сүзгілерді жасауға, есептеулерде пайдаланылатын бастапқы деректердегі мәндерді шектеуге болады. Мұны кестені формула кірісі ретінде көрсетіп, содан кейін сүзгі өрнегін анықтау арқылы істеуге болады. Сіз көрсеткен сүзгі өрнегі деректерді сұрау және тек бастапқы деректердің жиынын қайтару үшін пайдаланылады. Сүзгі деректердің ағымдағы контекстіне байланысты формула нәтижелерін жаңартқан сайын автоматты түрде қолданылады. Бұл бөлімде DAX формулалары ішінде сүзгілерді жасау жолы сипатталады.

Бұл мақалада

Формулада пайдаланылған кестеде сүзгіні жасау

Көшірмелерді жоятын сүзгілер

Контекст сүзгілерге қалай әсер етеді

Сүзгілерді жою

ALL функциясының көмегімен бүкіл сүзгілерді қайта анықтау

ALLEXCEPT функциясының көмегімен белгілі бір сүзгілерді қайта анықтау

Формулада пайдаланылған кестеде сүзгіні жасау

Кіріс ретінде кестені қабылдайтын формулаларда сүзгілерді қолдануға болады. Кесте атауын енгізудің орнына көрсетілген кестеден жолдардың жиынын анықтау үшін FILTER функциясын пайдаланасыз. Содан кейін бұл жиын басқа функция реттелетін біріктірулер сияқты әрекеттер үшін беріледі.

Мысалы, дилерлер туралы тапсырыс мәліметтерін қамтитын деректер кестесі бар және әр дилер қанша сатқанын есептеу керек делік. Бірақ, тек құны жоғары өнімдердің бірнеше бірлігін сатқан дилерлердің сауда көлемін көрсету керек. DAX қарапайым жұмыс кітабына негізделген келесі формула сүзгіні пайдалана отырып осы есептеуді жасау жолының бір мысалын көрсетеді:

= SUMX(          FILTER (' ResellerSales_USD ', ' ResellerSales_USD '[Quantity] > 5 &&          ' ResellerSales_USD '[ ProductStandardCost_USD ] > 100),          ' ResellerSales_USD '[ SalesAmt ]          )

  • Формуланың бірінші бөлігі кестені аргумент ретінде қабылдайтын Power Pivot біріктіру функцияларының біреуін көрсетеді. SUMX кестенің қосындысын есептейді.

  • Формуланың екінші бөлігі, FILTER(кесте, өрнек),SUMXфункциясына пайдалану керек деректерді көрсетеді. SUMXфункциясы кестені немесе нәтижесінде кестені беретін өрнекті қажет етеді. Мұнда, кестедегі барлық деректерді пайдаланудың орнына, FILTERфункциясын пайдаланып, кестенің қай жолдары пайдаланылатынын көрсетесіз.

    Сүзгі өрнегінің екі бөлігі бар: бірінші бөлігі сүзгі қолданылатын кестені атайды. Екінші бөлігі сүзгі шарты ретінде пайдаланылатын өрнекті анықтайды. Бұл жағдайда сіз 5-тен көбірек бірлікті сатқан дилерлер және 100 доллардан көбірек тұратын өнімдер бойынша сүзесіз. Оператор, &&, логикалық AND операторы болып табылады. Жол сүзілген жиынға жатуы үшін шарттың екі бөлігі де шын болуы керек екенін көрсетеді.

  • Формуланың үшінші бөлігі SUMX функциясына қай мәндерді қосу керектігін айтады. Бұл жағдайда тек сауда сомасын пайдаланасыз.

    Кестені қайтаратын FILTER сияқты функциялар ешқашан кестені немесе жолдарды тікелей қайтармайтынын, ал басқа функцияға ендірілетінін ескеріңіз. FILTER функциясы және сүзу үшін пайдаланылатын басқа функциялар туралы қосымша ақпаратты, соның ішінде, қосымша мысалдарды Сүзгі функциялары (DAX) бөлімінен қараңыз.

    Ескерту :  Сүзгі өрнегіне пайдаланылатын контекст әсер етеді. Мысалы, сүзгіні есептелетін өрісте пайдалансаңыз және есептелетін өріс жиынтық кестеде немесе жиынтық диаграммада пайдаланылса, қайтарылған деректер жиынына пайдаланушы жиынтық кестеде қолданған қосымша сүзгілер немесе шектегіштер әсер етуі мүмкін. Контекст туралы қосымша ақпаратты DAX формулаларындағы контекст бөлімінен қараңыз.

Көшірмелерді жоятын сүзгілер

Белгілі бір мәндерді сүзуге қоса, басқа кестеден немесе бағаннан мәндердің бірегей жиынын қайтаруға болады. Бұл бағандағы бірегей мәндердің санын санау керек болғанда немесе басқа әрекеттер үшін бірегей мәндердің тізімін пайдалану керек болғанда пайдалы болуы мүмкін. DAX ерекше мәндерді қайтару үшін екі функцияны қамтамасыз етеді: DISTINCT функциясы және VALUES функциясы.

  • DISTINCT функциясы функцияның аргументі ретінде көрсеткен бір бағанды тексеріп, тек ерекше мәндерді қамтитын жаңа бағанды қайтарады.

  • Сондай-ақ, VALUES функциясы бірегей мәндердің тізімін қайтарады, әрі Белгісіз элементті қайтарады. Бұл қатынаспен қосылған екі кестенің мәндерін пайдаланғанда және мән бір мәнде жоқ, ал екіншісінде бар болғанда пайдалы. «Белгісіз элемент» туралы қосымша ақпаратты DAX формулаларындағы контекст бөлімінен қараңыз.

Бұл функциялардың екеуі де мәндердің бүкіл бағанын қайтарады; сондықтан, бұл функциялар мәндер тізімін алу үшін пайдаланылып, кейін бұл мәндер басқа функцияға беріледі. Мысалы, келесі формуланы пайдаланып, бір мәнді өнім кілтін пайдаланып нақты дилер сатқан ерекше өнімдердің тізімін алып, содан кейін COUNTROWS функциясын пайдаланып сол тізімдегі өнімдерді санауға болады:

=COUNTROWS(DISTINCT('ResellerSales_USD'[ProductKey]))

Беттің жоғарғы жағы

Контекст сүзгілерге қалай әсер етеді

Жиынтық кестеге немесе жиынтық диаграммаға DAX формуласын қосқанда, формуланың нәтижелеріне контекст әсер етуі мүмкін. Егер Power Pivot кестесімен жұмыс істеп жатсаңыз, контекст — ағымдағы жол және оның мәндері. Егер жиынтық кестеде немесе жиынтық диаграммада жұмыс істеп жатсаңыз, контекст шектеу немесе сүзу сияқты әрекеттер арқылы анықталған деректер жиынын немесе ішкі жиынын білдіреді. Сондай-ақ, жиынтық кестенің немесе жиынтық диаграмманың үлгісі өзінің жеке контекстін жасайды. Мысалы, аймақ және жыл бойынша топтайтын жиынтық кестені жасасаңыз, жиынтық кестеде сол аймақтар мен жылдарға қатысты деректер ғана көрсетіледі. Сондықтан жиынтық кестеге қосқан барлық есептелетін өрістер баған және жол тақырыптары, сонымен бірге, есептелетін өріс формуласындағы барлық сүзгілердің контекстінде есептеледі.

Қосымша ақпаратты DAX формулаларындағы контекст бөлімінен қараңыз.

Беттің жоғарғы жағы

Сүзгілерді жою

Күрделі формулалармен жұмыс істегенде ағымдағы сүзгілер қандай екенін дәл білгіңіз келуі мүмкін немесе формуланың сүзгі бөлігін өзгерткіңіз келуі мүмкін. DAX сүзгілерді жоюға және ағымдағы сүзгі контекстінің бөлігі ретінде қай бағандар қалатынын басқаруға мүмкіндік беретін бірнеше функцияны қамтамасыз етеді. Бұл бөлімде осы функциялардың формуладағы нәтижелерге әсер ету жолына шолу берілген.

ALL функциясының көмегімен бүкіл сүзгілерді қайта анықтау

ALLфункциясын пайдаланып алдында қолданылған барлық сүзгілерді қайта анықтауға және кестедегі барлық жолдарды біріктіруді немесе басқа әрекетті орындап жатқан функцияға қайтаруға болады. Егер ALL функциясының аргументтері ретінде кестенің орнына бір немесе одан көп бағанды пайдалансаңыз, ALL функциясы контекст сүзгілерінің барлығын елемей, барлық жолдарды қайтарады.

Ескерту :  Реляциялық дерекқор терминологиясымен таныс болсаңыз, ALL функциясы барлық кестелердің табиғи сол жақ сыртқы біріктіруін жасайды деп ойлауға болады.

Мысалы, «» және «» кестелері бар және барлық өнімдердің сатылымына бөлінген ағымдағы өнім сатылымының қосындысын есептейтін формуланы жасау керек делік. Формула есептелетін өрісте пайдаланылса, жиынтық кестенің пайдаланушысы жолдардағы өнім атауы көмегімен, нақты өнімді сүзу үшін шектегіштерді пайдалануы мүмкін екенін есепке алу керек. Сондықтан, барлық сүзгілерге немесе шектегіштерге қарамастан бөлгіштің шын мәнін ашу үшін барлық сүзгілерді қайта анықтау үшін ALL функциясын қосу керек. Келесі формула — алдыңғы сүзгілердің әсерлерін қайта анықтау үшін ALL функциясын пайдаланудың бір жолы:

=SUM ( Sales[ Amount])/SUMX(Sales[Amount], FILTER(Sales, ALL(Products)))

  • Формуланың бірінші бөлігі, SUM (Сатылым[Сома]), алымды есептейді.

  • Қосынды ағымдағы мәтінді есепке алады, яғни, формуланы есептелетін бағанға қоссаңыз, жол контексті қолданылады және формуланы жиынтық кестеге есептелетін өріс ретінде қоссаңыз, жиынтық кестедегі барлық сүзгілер (сүзгі контексті) қолданылады.

  • Формуланың екінші бөлігі бөлгішті есептейді. ALL функциясы Өнімдеркестесіне қолданылған болуы мүмкін барлық сүзгілерді қайта анықтайды.

Қосымша ақпаратты, соның ішінде, егжей-тегжейлі мысалдарды ALL функциясы бөлімінен қараңыз.

ALLEXCEPT функциясының көмегімен белгілі бір сүзгілерді қайта анықтау

Сондай-ақ, ALLEXCEPT функциясы бар сүзгілерді қайта анықтайды, бірақ бар сүзгілердің кейбіреулерін сақтау керек екенін көрсетуге болады. ALLEXCEPT функциясының аргументтері ретінде атайтын бағандар қай бағандарды сүзу жалғастырылатынын көрсетеді. Егер бәрінде емес, кейбір бағандарда сүзгілерді қайта анықтау керек болса, ALLEXCEPT функциясы ALL функциясымен салыстырғанда ыңғайлырақ. ALLEXCEPT функциясы әсіресе көптеген әр түрлі бағандар бойынша сүзілуі мүмкін жиынтық кестелерді жасағанда және формулада пайдаланылатын мәндерді басқару қажет болғанда пайдалы. Қосымша ақпаратты, соның ішінде, жиынтық кестеде ALLEXCEPT функциясын пайдаланудың егжей-тегжейлі мысалын ALLEXCEPT функциясы бөлімінен қараңыз.

Беттің жоғарғы жағы

Дағдыларды жетілдіру
Оқыту курсымен танысыңыз
Жаңа мүмкіндіктерге бірінші болып қол жеткізу
Office Insider бағдарламасына қосылу

Осы ақпарат пайдалы болды ма?

Пікіріңіз үшін рақмет!

Пікіріңізге рақмет! Сізді Office қолдау көрсету қызметіндегі агенттердің бірімен байланыстырған жөн болуы мүмкін.

×