ev - Kanalizasiya
scd funksiyasından istifadə nümunələri - ifadəni hesablayın. ACS funksiyasından istifadə nümunələri - ifadənin hesablanması ACS qruplaşdırılması üçün ümumi nəticələr

Hesabat yaratarkən bir sıra vəzifələr var ki, onlar birbaşa həll edildikdə, çox vaxt yazıya səbəb olur loopdakı ağır sorğular və ya sorğular və ya verilənlərin cədvələ əl ilə çıxarılması.

Bu cür tapşırıqların nümunələri:

  • Hər ay artan satış həcmini əldə etmək, məsələn, qrafik şəklində çıxış üçün
  • Cari və əvvəlki dövrün satışlarında fərqin hesablanması - bütün hesabat sətirləri üçün
  • Hər bir menecerin satış həcminin bu hesabatın yaradılması zamanı hesablanan istinad dəyəri ilə müqayisəsi
  • Çarpaz tablarda üfüqi və şaquli olaraq kumulyativ cəmlərin əldə edilməsi

Və bütün bu problemlər sadəcə ACS funksiyalarından istifadə etməklə həll olunur - sözün əsl mənasında bir neçə dəqiqəyə. Döngədə və əyri kodda sorğular olmadan.

Bu gün biz xüsusi nümunələrdən istifadə edərək bəzi ACS funksiyalarının istifadəsinə baxacağıq.

Video 1. Hesabatdakı məbləği məcmu cəmi kimi necə əldə etmək olar?

Təcrübədə oxşar problemlərə tez-tez rast gəlinir. Ən tipik nümunə odur ki, hesabat dövrlər üzrə satışları göstərməlidir; siz təkcə cari ay üçün satışların məbləğini deyil, həm də hesabatın yaradılmasının əvvəlindən məcmu cəmini bilməlisiniz.

Əslində, bu problem bir sorğu ilə həll edilə bilər (ACS funksiyaları olmadan), lakin 2 problem var:

  • Özlüyündə belə bir sorğu mürəkkəb olacaq - onu inkişaf etdirmək və aradan qaldırmaq üçün vaxt lazımdır.
  • Belə bir sorğu sistemi ciddi şəkildə yükləyəcək - və daha çox məlumat, daha yavaş işləyəcək.

ACS funksiyalarından istifadə edərək, bu tapşırıq bir kod xətti ilə həll edilir və hesabat mümkün qədər tez işləyəcək, baxın:

Video 2. Hesabatın əvvəlki sətirindən dəyəri necə əldə etmək olar?

Bu funksionallıq müəyyən bir resursun trendini izləmək lazım olduqda faydalı ola bilər - əvvəlki vəziyyətə nisbətən azalma və ya artım var, üstəlik delta hesablanmalıdır.

Bunun faydalı ola biləcəyi bir neçə nümunə var:

  • Debitor borclarının gün üzrə təhlili - əvvəlki dövrə nisbətən borcun tendensiyası və mütləq artım və ya azalması hesablayırıq.
  • Valyuta məzənnələrinin təhlili və məzənnə fərqlərindən mənfəət və ya zərərin qiymətləndirilməsi - cari və əvvəlki məzənnələr arasında delta əldə etməli və valyutadakı vəsait qalığına vurmalısınız.

Bu cür problemləri bir sorğudan istifadə edərək həll etmək çox əmək tələb edir, lakin ACS-də bu bir sətirdə edilir:

Video 3. Cari sıra üçün cəmini istinad dəyəri ilə necə müqayisə etmək olar?

Bu funksiyanın faydalı ola biləcəyi bir nümunə:

  • Sistem menecerlər tərəfindən satışların qeydlərini aparır
  • Şöbə müdiri menecerlərlə bərabər şəxsi satışlar aparır
  • Menecer tərəfindən satış haqqında hesabatın göstərilməsi tələb olunur
  • Hesabatda departament rəhbərinin satış həcminə nisbətən delta da göstərilməlidir.

Yəni menecerin satışlarının hər bir xəttini şöbə müdirinin satışı ilə müqayisə etmək zərurətindən danışırıq.

Və bu məlumatlar, məsələn, bonusları hesablamaq üçün istifadə edilə bilər.

Və yenə də SKD-nin köməyi ilə bu problem bir sətirdə həll olunur:

Video 4. Çarpaz tabda məcmu cəmi əldə etmək

Çarpaz tab hesabatında çalışan cəmi həm şaquli (sətirlər üzrə), həm də üfüqi (sütunlar üzrə) olaraq hesablana bilər.

Bir ACS parametrindən istifadə edərək cəmilərin hesablanması istiqamətinə necə nəzarət edəcəyimizi göstərəcəyik:

Video 5. Cədvəl hissəsinin ayrıca hesabat xanasında göstərilməsi

Tutaq ki, sənədlər haqqında məlumatları əks etdirən hesabat hazırlamalısınız. Bu halda, ayrıca xanada sənədin cədvəl hissəsi olmalıdır.

Adi sorğudan istifadə edərək oxşar problemi həll etmək üçün nəticəni elektron cədvəl sənədinə əl ilə yazmalısınız.

ACS-də bu vəzifə yenidən bir funksiya ilə həll olunur.

İfadə hesablayın başa düşmək olduqca çətin ACS funksiyasıdır və istinad məlumatında tətbiq nümunələri olduqca azdır. Bu məqalədə hər bir tərtibatçı üçün faydalı olacağına əmin olan nümunələr müzakirə olunur:

  1. qruplaşdırmada məcmu cəmi;
  2. çarpaz nişanda məcmu cəmi;
  3. əvvəlki dəyəri əldə etmək;
  4. Bir sətirdə PM çıxışı.

1. Hesablama metodu ilə göstəricinin əldə edilməsi

Qruplaşdırma səviyyəsində əmtəələrin kəmiyyətini məcmu cəmi kimi alaq. Bunu etmək üçün hesablanmış bir sahə yaradın (Şəkil 1-ə baxın).
"Resurslar" sekmesinde hesablanmış sahə üçün funksiyanı təyin edin:
İfadə hesablayın("Cəmi(Kəmiyyət Dövriyyəsi)", "Birinci", "Cari")
ilk qeyddən cari olana qədər olan məhsulların sayını cəm edəcək (Şəkil 2-ə baxın).

Əgər təfərrüatlı qeydlər səviyyəsində maddənin məcmu ümumi miqdarını əldə etmək lazımdırsa, o zaman “Hesablanmış sahələr” sekmesinde hesablanmış sahə üçün Hesablama İfadəsi funksiyasını təyin edirik (Şəkil 3-ə baxın).
Kumulyativ cəmi əldə etmə səviyyəsindən asılı olaraq qruplaşdırma yaradırıq (Şəkil 4-ə baxın): resurs səviyyəsində - mallar üzrə qruplaşdırma, uzaqdan idarəetmə səviyyəsində - ətraflı qeydlərin qruplaşdırılması.
Şəkil 4. Kumulyativ cəmlərlə hesabat qrupları

2. Əvvəlki cərgədən göstərici qiymətinin alınması

Tarix və əvvəlki tarix üçün valyuta məzənnəsini alaq. Bunu etmək üçün hesablanmış sahə yaradın və ifadə sahəsinə aşağıdakı ifadəni yazın (Şəkil 5-ə baxın):
CalculateExpression("Rate", "Əvvəlki", "Əvvəlki")
cari sıra üçün məzənnənin əvvəlki dəyərini alacaq, funksiyanın son parametri məlumatların qəbulunu məhdudlaşdırır.
Təfərrüatlı qeydlər səviyyəsində işlədiyimiz üçün dərhal "Parametrlər" sekmesine keçirik və qruplaşdırma - ətraflı qeydlər yaradırıq.

3. Çarpaz nişanda məcmu cəmi kimi göstərici əldə etmək

Dövrlər üzrə hesablama əsasında malların miqdarını alaq. Bunu etmək üçün hesablanmış bir sahə yaradın (Şəkil 1-ə baxın). "Resurslar" sekmesinde hesablanmış sahə üçün aşağıdakı ifadəni təyin edirik (Şəkil 6-a baxın):
Hesablayın İfadə("Cəm (Kəmiyyət Dövriyyəsi)", "Dövr", "Birinci", "Cari")
qruplaşdırma səviyyəsində hər bir maddə üçün dövr kontekstində birinci sətirdən cari sətirə qədər olan intervalda malların miqdarını hesablayacaq.
"Parametrlər" sekmesinde, sıradakı elementlərə görə qruplaşdırma və sütunda dövrə görə qruplaşdırma ilə bir cədvəl yaradın (Şəkil 7-ə baxın).

4. Cədvəl məlumatlarının bir sətirdə çıxarılması

Cədvəl məlumatlarını bir sətirdə göstərmək üsulları, o cümlədən CalculateExpression funksiyasından istifadə üsulu məqalədə müzakirə olunur.

Məlumat tərkibində cəmlərin qurulması istəklərdən bir az fərqli görünür. Məlumatların tərkibi sistemində “Sorğu” verilənlər dəstini müəyyən edək.

Sorğunun özündə biz cəmləri konfiqurasiya etmirik, lakin məlumat tərkibinin "Resurslar" sekmesine keçirik. Məlumat kompozisiyasının sxemi səviyyəsində biz resurslarını müəyyən etmək. Bunlar qruplaşdırma səviyyəsində hesablanmalı olan sahələrdir. “>>” düyməsinə klikləyin və sistem özü bütün rəqəmsal sahələri köçürəcək və onları resurslar kimi müəyyən edəcək.

Resurslarda rəqəmsiz sahələri də təyin edə bilərsiniz. Məsələn, “Link” atributunu seçsəniz, sistem qruplarımızdakı sənədlərin sayını hesablayacaq. Bu məlumat da faydalı ola bilər. Belə ki, layout diaqramında biz yalnız resursları müəyyən edirik, və qruplaşmaların özləri hesabat variantı səviyyəsində konfiqurasiya edilir. İstifadəçi həmçinin hesabat seçimi parametrlərində görmək istədiyi qruplaşmaları yarada bilər.

Standart məlumat kompozisiyasını yaradaq.
"Ayarlar dizaynerini açın" düyməsini basın.

Hesabat növünü - siyahı seçək. "Növbəti" düyməsini basın.

Gəlin bütün sahələri seçək və qarşı tərəf sahəsini yuxarı mövqeyə keçirək. "Növbəti" düyməsini basın.

Gəlin bütün sahələri seçək və qarşı tərəf sahəsini yuxarı mövqeyə keçirək. "OK" düyməsini basın.

Nəticə aşağıdakı parametrdir:

Gördüyünüz kimi, hesabat seçimini qurarkən resurslar digər sahələrdən tez fərqlənə bilməsi üçün yaşıl işarə ilə vurğulanır.

Hesabatımızı 1C:Müəssisə rejimində açsaq və onu yaratsaq, son məlumatların qruplaşdırma səviyyəsində yaradıldığını görərik. Maddə və qarşı tərəflər üzrə nəticələr.

1C məlumat kompozisiya sxemində resursların qurulması

İndi diqqətimizi ona yönəldək resurslar üçün mövcud olan parametrlər. "İfadə" sahəsində resursun dəyərini əldə etmək üçün istifadə edilə bilən ümumi funksiyanı təyin edə bilərik. Açılan siyahıda bir sıra standart funksiyaları görə bilərsiniz, lakin hamısı deyil. Məsələn, heç bir funksiya yoxdur.

Burada “İfadə” sahəsinə öz ifadəmizi yaza bilərik.

"İfadə" sahəsində biz ümumi modulların funksiyalarına da daxil ola bilərik.

Bundan əlavə, “Hesabla...” sahəsində resursun hansı qruplaşmalara görə hesablanacağını təyin edə bilərsiniz. “Hesablayın...” sahəsi doldurulmazsa, resursun yekun dəyəri hesabat seçiminin parametrlərində müəyyən edilmiş bütün qruplaşdırma səviyyələrində hesablanacaq. Bizim vəziyyətimizdə, müxtəlif ölçü vahidləri ilə mal sata bildiyimiz üçün "Kəmiyyət" resursunun "Hesabla..." sahəsini doldurmalıyıq. Məsələn: litrlə yağ və ədədlə təkərlər. Bu malların miqdarını toplamaq məntiqsiz deyilmi? Buna görə də, kəmiyyətin cəmini maddə səviyyəsində və qarşı tərəf səviyyəsində tərk etməliyik
Cəmi çıxaraq.

Hesabat yaratsaq, kəmiyyət cəminin yalnız maddə üzrə hesablandığını və podratçılar üçün kəmiyyət cəmlərinin boş olduğunu görərik.

1C məlumat kompozisiya sxemində resursları təsvir edərkən imkanlar

nəzərdən keçirək resursların təsviri ilə bağlı bir sıra qeyri-aşkar xüsusiyyətlər.

  • Hər bir resurs ola bilər bir neçə dəfə müəyyənləşdirin. Ancaq bu, yalnız o zaman məna kəsb edir
    resurs qruplaşmaların müxtəlif səviyyələrində hesablanacaq. Məsələn, əgər miqdar, bir halda
    maddə üçün yekunlaşdırılır və qarşı tərəflər üçün minimum dəyəri alırıq.

Hesabat tərtib etsək, görərik ki, qarşı tərəf “Dəriyyə” üçün minimum alış “Özündən yapışan kağız” məhsul çeşidinin beş vahididir.

  • "İfadə" sahəsində düstur yazmaqla yanaşı, istifadə edə bilərsiniz "Hesabla" adlı xüsusi məlumat tərkibi funksiyası. Bu funksiya müəyyən bir düsturdan istifadə edərək bəzi yekun dəyəri hesablamağa imkan verir. Məsələn, hər bir qarşı tərəf üçün ümumi həcmə nisbətən təbii vahidlərdə alışların faizini bilmək lazımdır. Bəs alışların ümumi həcmini kəmiyyətlə necə əldə etmək olar? Bunu etmək üçün "Hesabla" funksiyasından istifadə edin və "İfadə" sahəsinə aşağıdakı ifadəni yazın:
Cəm(Kəmiyyət)/Hesabla("Cəm(Kəmiyyət)", "Cəmi")*100

Göründüyü kimi, "Hesabla" funksiyasının bütün parametrləri sətirlərdir. Kəmiyyət sahəsinin hesabatda gözəl görünməsi üçün onu “Məlumat dəstləri” sekmesinde konfiqurasiya edəcəyik. Kəmiyyət sətirində "Redaktə Seçimləri" sahəsini tapacağıq. Dialoqu açaq, "Format" xəttini tapın və "Nömrə" sekmesinde "Dəqiqlik" dəyərini ikiyə təyin edərək, format xəttini redaktə edək.

Hesabatı işə salaq və qarşı tərəf "AUPP KOS LLP" üçün satınalma faizini hesablamanın nəticəsini görək.
ümumi həcmi:


Məqalənin sonunda sizə Anatoli Sotnikovdan pulsuz olanı tövsiyə etmək istəyirəm. Bu, təcrübəli bir proqramçının kursudur. O, ayrıca girişə nəzarət sistemində hesabatların necə qurulacağını sizə göstərəcək. Sadəcə diqqətlə dinləmək və yadda saxlamaq lazımdır! Aşağıdakı suallara cavab alacaqsınız:
  • Sadə bir siyahı hesabatını necə yaratmaq olar?
  • "Sahələr" tabındakı Sahə, Yol və Başlıq sütunları nə üçündür?
  • Layout sahələri üçün hansı məhdudiyyətlər var?
  • Rolları necə düzgün konfiqurasiya etmək olar?
  • Layout sahələri üçün hansı rollar var?
  • Sorğuda məlumat tərkibi tabını harada tapa bilərəm?
  • Girişə nəzarət sistemində parametrləri necə konfiqurasiya etmək olar?
  • Daha da maraqlı olur...
Yəqin ki, lazımi məlumatları axtarmaq üçün özünüz İnternetdə gəzməyə çalışmamalısınız? Üstəlik, hər şey istifadəyə hazırdır. Sadəcə başlayın! Pulsuz video dərslərdə olanlarla bağlı bütün təfərrüatlar

Sorğuda məlumat kompozisiyasının əlfəcin qoyulması ilə bağlı dərslərdən biri budur:

Böyük miqdarda məlumat ehtiva edən Excel vərəqləri bəzən darmadağın və hətta oxunması çətin görünə bilər. Excel sizə məlumatları qruplaşdırmağa imkan verir ki, iş vərəqinizin müxtəlif bölmələrini asanlıqla gizlədə və göstərəsiniz. Bundan əlavə, əmrdən istifadə edərək müxtəlif qrupları ümumiləşdirə bilərsiniz Ara cəmi və Excel iş vərəqinə struktur verin. Bu dərsdə biz bu alətlərin hər ikisinə mümkün qədər ətraflı və aydın nümunələrlə baxacağıq.

Excel-də sətir və sütunların qruplaşdırılması

Excel-də məlumatların qrupunu açmaq üçün qruplaşdırılmış sətirləri və ya sütunları seçin və sonra əmri basın Qrupu ayırın.

Qrupları necə gizlətmək və göstərmək olar


Excel-də ümumiləşdirmə

Komanda Ara cəmi avtomatik olaraq qruplar yaratmağa və ümumiləşdirməni asanlaşdırmaq üçün SUM, COUNT və AVERAGE kimi əsas funksiyalardan istifadə etməyə imkan verir. Məsələn, əmr Ara cəmi qruplar üzrə dəftərxana ləvazimatlarının dəyərini böyük ardıcıllıqla hesablamağı bacarır. Komanda iş vərəqindəki məlumatları təşkil etmək üçün kontur adlanan qrupların iyerarxiyasını yaradacaq.

Komandadan istifadə etməzdən əvvəl məlumatlarınız düzgün çeşidlənməlidir Ara cəmiƏtraflı məlumat üçün Excel-də Məlumatların Çeşidlənməsi dərslərini öyrənə bilərsiniz.

Ara cəmi yaratmaq

Aşağıdakı nümunədə əmrdən istifadə edəcəyik Ara cəmi hər ölçüdə (S, M, L və XL) neçə köynək sifariş edildiyini müəyyən etmək. Nəticədə, Excel iş vərəqi hər bir köynək ölçüsü üçün qruplar şəklində qurulacaq və sonra hər qrupdakı köynəklərin ümumi sayı hesablanacaq.


Qruplara səviyyəyə görə baxın

Excel-də yarımcəmləri ümumiləşdirərkən iş vərəqi müxtəlif səviyyələrə bölünür. Vərəqin sol tərəfindəki 1, 2, 3 kontur nişanlarından istifadə edərək göstərilən məlumatın miqdarını tənzimləmək üçün bu səviyyələr arasında keçid edə bilərsiniz. Aşağıdakı nümunədə strukturun hər üç səviyyəsi arasında keçid edəcəyik.

Bu nümunə yalnız üç səviyyəni göstərsə də, Excel sizə 8 səviyyəyə qədər yuva yaratmağa imkan verir.

Siz həmçinin nişanlardan istifadə edə bilərsiniz Göstər və ya Detalları gizlədin qrupları gizlətmək və ya göstərmək üçün.

Excel-də ara cəmilərin silinməsi

Vaxt keçdikcə, xüsusilə Excel vərəqindəki məlumatları fərqli şəkildə yenidən təşkil etmək lazım olduqda, yarımcəmlərə ehtiyac yox olur. Artıq yarımcəmləri görmək istəmirsinizsə, onları silə bilərsiniz.


Yalnız qrupları silmək, yarımcəmləri tərk etmək üçün elementdən istifadə edin Strukturu silin komanda açılan menyusundan Qrupu ayırın.

Sual Qruplaşdırma yolu ilə sorğudan yan keçmək, proqram təminatı NƏTİCƏLƏRİ dizaynı ilə sorğuda verilənlərin necə toplandığı. Tutaq ki, Qarşı tərəflər və Çatdırılma Ünvanları üzrə bölünən bir sıra sifarişlərin formalaşması üçün bir dövr təşkil etməlisiniz. Bunu necə etmək olar?
Cavab verin Bir sorğu yazırıq:

Sorğu. Mətn = "SEÇ | usOrderForShipment.Link AS Link, | usStatusDocuments.Status AS Status, | bizə Göndərmə Sifarişi Qarşı tərəf AS Qarşı tərəf, // Çatdırılma ünvanını "EXPRESS"ə əlavə edirik, çünki metadatada Çatdırılma Ünvanı qeyri-məhdud uzunluqlu sətirdir və məhdud uzunluqlu sətirə çevrilmədikdə, //onda onu "PO NƏTİCƏLƏRİ" konstruksiyasında istifadə etmək mümkün olmayacaq // və biz " kimi bir səhv mesajı alacağıq Qruplaşdırma üçün yanlış sahə" | EXPRESS(usShipmentOrder.DeliveryÜnvanı ROW AS(350)) ASÇatdırılmaÜnvanı|FROM | Məlumat Register.usDocumentStatus bizə DocumentStatus NECƏ | SOL BAĞLANTI Document.usBizim kimiSifariş üçünShipment | Proqram təminatı usStatusDocuments.Document = usOrderForShipment.Link|HARADA | Bizə Çatdırılma Sifarişi Göndərilib| |SİFARİŞ | usDocumentStatus.Status.Order|NƏTİCƏLƏR | Qarşı tərəf, | Çatdırılma ünvanı";

Bu sorğunun nəticəsi təxminən belə bir məlumat dəsti olacaq:

Podratçı 1

  • Çatdırılma ünvanı 1

Podratçı 1

  • Çatdırılma ünvanı 2

Qarşı tərəf 2

  • Çatdırılma ünvanı 3

İndi üç massiv almalıyıq:
— sifariş 1, sifariş 2, sifariş 3
- sifariş 4, sifariş 5
- sifariş 6
Bu massivləri əldə etmək üçün yuxarıdakı “İyerarxiya ilə qruplaşdırmalar üzrə” sorğusunu keçmək lazımdır:

SelectionMethod = QueryResult Bypass. GroupingsHIerarchy tərəfindən; Nəticə = Sorğu. Run(); FirstLevelSample = Nəticə. Select(SelectionMethod) ; Birinci Səviyyə Nümunə Alarkən. Next() LoopSecondLevel Sampling = Birinci Səviyyə Seçimi. Select(SelectionMethod) ; msvSifarişlər. Clear(); // siyahıya birincisini əlavə etməzdən əvvəl təmizlənirİkinci Səviyyənin Seçilməsi zamanı. Next() Döngüsü // hər bir iyerarxiya səviyyəsində sifarişlər sıralanır: “Yaradıldı”, “Davam edir”, “İş davam edir”, “Yönləndirməyə hazırdır” (bu qaydada sifariş siyahıda müəyyən edilir)Üçüncü Səviyyə Nümunəsi = İkinci Səviyyə Nümunəsi. Seçin(BypassQueryResult. Direct) ; // parametrin ötürülməsinə ehtiyac yoxdur, standart seçmə metodu birbaşadırÜçüncü Səviyyənin Seçilməsi zamanı. Next() Döngüsü // hər bir iyerarxiya səviyyəsində sifarişlər sıralanır: “Yaradıldı”, “Davam edir”, “İş davam edir”, “Yönləndirməyə hazırdır” (bu qaydada sifariş siyahıda müəyyən edilir) msvSifarişlər. Əlavə et(ThirdLevelSelection. Link); EndCycle; SelectionByOrder(msvOrders) yaradın; // burada biz tələb olunan massivləri bir-bir dövrədə alacağıq: [sifariş 1, sifariş 2, sifariş 3], sonra [sifariş 4, sifariş 5] və [sifariş 6] EndCycle; EndCycle;

Qeyd. “SİPARİŞ BY USDocumentStatus.Status.Order” konstruksiyası hər massivin daxilində işləyəcək, yəni. Sifarişlər yaranan massivlərin hər birində statusa görə sıralanacaq.

Konfiqurator yardımındakı təsvirdən sorğu nəticələrinin hesablanmasına kömək edin

Sorğuların cəminin hesablanması

TOTAL bəndi sorğuda hansı cəmlərin hesablanması tələb olunduğunu müəyyən etməyə imkan verir. Cəmiləri hesablayarkən, məcmu funksiyaların dəyərləri eyni sahə dəyərləri olan nümunələr əsasında hesablanır - nəzarət nöqtələri. Cəmlər ümumi sətirlər kimi sorğunun nəticəsinə əlavə edilir.

Sorğu nəticələrinin hesablanması proseduru aşağıdakı qaydalara uyğun olaraq təsvir edilmişdir:

<Описание итогов>

<Итоги> [<Список агрегатных функций>]

<Итоги>

NƏTİCƏLƏR [<Список итоговых_полей>] [ÜMUMİ] TARAFINDAN<Список контрольных точек>

<Список итоговых_полей>

<Итоговое_поле> [,<Список_итоговых_полей> [, …]]

<Итоговое_поле>

<Агрегатная_функция> | <Выражение>[[NECƏ]<Псевдоним_поля>]

<Список контрольных точек>

<Контрольная точка> [, <Контрольная точка> [, …]]

<Контрольная точка>

<Выражение>[[YALNIZ] İERARXİYA] | [PERIODS(Saniyə | Dəqiqə | Saat | Gün | Həftə | Ay | Rüb | İl | Onillik | Yarımil
[,<Литерал типа DATE> | <Идентификатор параметра>]
[,<Литерал типа DATE> | <Идентификатор параметра>])] [[NECƏ] Sahə ləqəbi]

Nəticələrin təsviri tələb olunan RESULTS açar sözü ilə başlayır.

<Список агрегатных функций>nəticələrdə hesablanmalı olan məcmu funksiyaların siyahısını ehtiva edir. Ümumi funksiyalar əhatə olunur.

Ümumi yekunlara əlavə olaraq, nəzarət nöqtələri ilə yekunların hesablanmasını təyin edə bilərsiniz. Bunun üçün lazım olan açar sözdən sonra proqram təminatını təyin etməlisiniz<Список контрольных точек>. Hər biri<Контрольная точка>ehtiva edir<Выражение>, sorğu yerinə yetirildikdə hesablanır. Bu ifadələrin dəyərlərinin hər bir kombinasiyası üçün ümumi sətirlər hesablanacaq və sorğunun nəticəsinə əlavə olunacaq.

Yoxlama məntəqəsi bir sahədirsə - mühasibat uçotu registrinin alt konturudur, onda bu yoxlama məntəqəsi üçün yekunlar alınarkən NULL dəyərlər nəzərə alınmayacaq.

Sorğu dilinin məcmu funksiyaları

Sorğu dili sorğu nəticələrini qruplaşdırmaq və cəmi hesablamaq üçün istifadə olunan məcmu funksiyaları təmin edir. Ümumi funksiyalar müəyyən bir parametrin dəyərlərini ümumiləşdirmək üçün nəzərdə tutulmuşdur. Aşağıdakı məcmu funksiyalar müəyyən edilir:

<Агрегатная функция>

SUM (<Выражение>) |
ORTA (<Выражение>) |
MİNİMUM (<Выражение>) |
MAKSİMUM (<Выражение>) |
KƏMİDƏ ([FƏRQLİ]<Выражение> | *)

Misal:

seçin
Faktura.Nomenklatura.Adı,
Məbləğ (Qaimə.Məbləğ) Məbləğ olaraq,
Orta (Fatura.Məbləğ) Orta,
Maksimum (Fatura.Məbləğ) Maksimum,
Minimum (Fatura.Məbləğ) Minimum,
Kəmiyyət (Qaimə.Məbləğ) Kəmiyyət kimi

From

Qrupla
Faktura.Nomenklatura

Nəticələr Ümumi

Sorğunun nəticəsi:

ad məbləğ Orta Maksimum Minimum Kolic
265 955,45 12 511,12 40 000,23 555 8
Uşaq şalvarları 28 500,22 9 500,07 15 000 3 000 3
Köynək "Covgirl" 24 000 8 000 16 000 4 000 3
Qadınlar üçün cins şalvar 63 555 6 355,5 30 000 555 10
Uşaq sviteri 6 400 6 400 6 400 6 400 1
"Zanbaq" lavabo 60 000,23 30 000,115 40 000,23 20 000 2
Moydodyr "Akvarium" 65 500 21 833,33 40 000 8 000 3
Mikser "Ultra" 15 000 15 000 15 000 15 000 1
Krups yemək prosessoru 3 000 3 000 3 000 3 000 1

Toplama funksiyaları seçim sahələrinin siyahısında, HAVING, TOTAL, ORDER BY bəndlərində istifadə edilə bilər.

SUM məcmu funksiyası

Funksiya seçimə daxil olan bütün sahə dəyərlərinin arifmetik cəmini hesablayır.

Yalnız ədədi dəyəri olan sahələr funksiya parametri kimi göstərilə bilər.

Əgər sahədə rəqəmli dəyərlər ola bilməzsə, o zaman SUM funksiyasının həmin sahəyə tətbiqi xəta yaradacaq. Sahədə rəqəmli dəyərlər ola bilərsə (kompozit məlumat növü var), onda bu funksiya belə bir sahəyə tətbiq edilə bilər. Ancaq seçimdəki sahə dəyərləri arasında rəqəmsal olmayan dəyərə (NULL dəyərlərindən başqa) rast gəlinsə, bu, xətaya səbəb olacaq.

Ümumi funksiya AVERAGE

Funksiya nümunəyə daxil olan bütün sahə dəyərlərinin orta dəyərini hesablayır.

Funksiya parametri olaraq siz yalnız ədədi dəyəri olan sahələrə istinadlar təyin edə bilərsiniz.

Əgər sahədə rəqəmli dəyərlər ola bilməzsə, o zaman AVERAGE funksiyasının həmin sahəyə tətbiq edilməsi xəta yaradacaq. Sahədə rəqəmli dəyərlər ola bilərsə (kompozit məlumat növü var), onda bu funksiya belə bir sahəyə tətbiq edilə bilər. Ancaq seçimdəki sahə dəyərləri arasında rəqəmsal olmayan dəyərə (NULL dəyərlərindən başqa) rast gəlinsə, bu, xətaya səbəb olacaq.

Ümumi funksiya MINIMUM

Funksiya seçimə daxil olan bütün sahə dəyərlərinin minimum dəyərini hesablayır.

Minimum dəyəri təyin edərkən, dəyərləri müqayisə etmək qaydaları .

Toplam funksiya MAKSİMUM

Funksiya seçimə daxil olan bütün sahə dəyərlərindən maksimum dəyəri hesablayır.

Funksiya parametri olaraq istənilən növ dəyərləri ehtiva edən sahələrə istinadlar təyin edə bilərsiniz.

Maksimum dəyəri təyin edərkən, dəyərləri müqayisə etmək qaydaları .

QUANTITY funksiyasını ümumiləşdirin

Funksiya nümunəyə daxil edilmiş parametr dəyərlərinin sayını hesablayır. Digər məcmu funksiyalardan fərqli olaraq, QUANTITY funksiyası üç istifadəyə imkan verir.

  • Birincisi, funksiya göstərilən sahənin NULL olmayan dəyərlərinin sayını hesablamağa imkan verir.
  • İkincisi, funksiya göstərilən sahənin NULL-ə bərabər olmayan müxtəlif dəyərlərinin sayını saymağa imkan verir. Bunun üçün sahənin spesifikasiyasından əvvəl VARIOUS açar sözünü qeyd etməlisiniz.
  • Üçüncüsü, funksiya sorğu nəticəsində sətirlərin sayını hesablamağa imkan verir. Bunun üçün funksiya parametri kimi ulduz işarəsi “*” göstərməlisiniz.

Funksiya parametri olaraq istənilən növ dəyərləri ehtiva edən sahələrə istinadlar təyin edə bilərsiniz.

Misal:

SEÇİN
Kəmiyyət (*) Ümumi olaraq,
Kəmiyyət (Müxtəlif Hesab-faktura.Nomenklatura) Müxtəlif

From
Sənəd.Qaimə.Tərkibi Faktura Kimi

Sorğunun nəticəsi:

Ümumi Fərqli
24 8

Cəmilərin hesablanması

Bütün cədvəl üzrə cəmi hesablamaq üçün TOTAL bəndində GENERAL sözü göstərilməlidir. Bu halda, bütün cədvəl qeydləri üçün məcmu funksiyaların dəyərləri hesablanacaqdır.

Misal:



ÜMUMİ MƏBLƏĞƏ (KƏMİYYƏ) ÜMUMİ

Sorğunun nəticəsi:

Məhsul Kəmiyyət Nömrə alıcı
238
vurun 10 RNk-1 Uryupinsktorg
vurun 8 RNk-3 Mag. "Ustad"
vurun 44 RNk-4 Mag. "Nəhəng"
vurun 22 RNk-5 Uryupinsktorg
Vantus 5 RNk-1 Uryupinsktorg
Vantus 1 RNk-3 Mag. "Ustad"
Vantus 14 RNk-4 Mag. "Nəhəng"
Cədvəl 1 RNk-1 Uryupinsktorg
Cədvəl 15 RNk-2 Mag. "Mebel"
Cədvəl 10 RNk-4 Mag. "Nəhəng"
Kreslo 55 RNk-2 Mag. "Mebel"
Kreslo 5 RNk-3 Mag. "Ustad"
Kreslo 32 RNk-4 Mag. "Nəhəng"
Kreslo 16 RNk-5 Uryupinsktorg

Sorğu Dilində Boolean İfadələri

Sorğu dilində seçim əməliyyatlarında və seçim şəraitində məntiqi ifadələrdən istifadə olunur:

<Логическое выражение>

<Выражение> |
<Выражение> <Операция сравнения> <Выражение> |
<Выражение>[İERARXİYADA] [YOX] (<Список значений> | <Массив значений>) |
<Выражение>[İERARXİYADA] [YOX] (<Описание запроса>) |
<Выражение>[DEĞİL] ARASINDA<Выражение>VƏ<Выражение> |
<Выражение>NULL [DEĞİL] |
<Выражение>LINK<Имя таблицы> |
<Выражение>[YOX] BƏYƏNMƏYİN<Литерал типа СТРОКА>
[XÜSUSİ XARAKTER<Литерал типа СТРОКА>]

<Операция сравнения>

> | < | = | >= | <= | <>

<Список значений>

<Выражение>[, <Выражение> [, …]]

Məntiqi ifadə ola bilər:

Dəyərləri müqayisə edərkən aşağıda təsvir edilən dəyər müqayisəsi qaydaları istifadə olunur.

Dəyərlərin müqayisəsi qaydaları

Sorğu dili müxtəlif növ dəyərləri müqayisə edə bildiyi üçün iki dəyərin necə müqayisə olunacağına dair qaydalar müəyyən edilir. Bu qaydalar aşağıdakılar üçün istifadə olunur:

  • müqayisə operatorlarında dəyərlərin müqayisəsi;
  • MINIMUM və MAXIMUM aqreqat funksiyalarında maksimum və minimum qiymətlərin müəyyən edilməsi;
  • SİFARİŞ BY bəndində göstərilən sıraya uyğun olaraq sorğunun nəticəsi qeydlərini sifariş etmək.

Əgər dəyər növləri bir-birindən fərqlidirsə, o zaman dəyərlər arasındakı əlaqələr növlərin üstünlüyünə əsasən müəyyən edilir:

  • NULL yazın (ən aşağı);
  • Boolean növü;
  • Nömrə növü;
  • növü Tarix;
  • növü String;
  • istinad növləri.

Müxtəlif istinad növləri arasındakı əlaqələr müəyyən bir növə uyğun gələn cədvəllərin daxili istinad nömrələri əsasında müəyyən edilir.

Məlumat növləri eynidirsə, dəyərlər aşağıdakı qaydalara uyğun olaraq müqayisə edilir:

  • Boolean növü üçün TRUE dəyəri FALSE dəyərindən böyükdür;
  • Nömrə növü rəqəmlər üçün adi müqayisə qaydalarına malikdir;
  • Tarix növü üçün əvvəlki tarixlər sonrakı tarixlərdən kiçikdir;
  • Müqayisə sətirinin növü üçün müqayisə arxadakı boşluqlar nəzərə alınmadan verilənlər bazasının müəyyən edilmiş milli xüsusiyyətlərinə uyğun aparılır;
  • istinad növləri qiymətlərinə görə müqayisə edilir (rekord sayı və s.);
  • Qeyri-məhdud uzunluqlu sahələrin müqayisəsinə icazə verilmir (məhdud uzunluqlu sətirlər, ValueStorage, xarakterik tip planları cədvəlindən ValueType sahəsi).

Vacibdir!Ən azı bir NULL dəyərini ehtiva edən iki dəyər arasında hər hansı müqayisə əməliyyatı FALSE-ə oxşar nəticə verir.

Dəyər Uyğunluğu Operatoru

Sadalananlardan biri ilə uyğunluğu yoxlamaq üçün B operatorunun forması

B operatoru onun sağında göstərilən ifadənin dəyərinin solda təsvir olunan dəyərlərdən birinə uyğun olub olmadığını yoxlamağa imkan verir. Ən azı birinə uyğun gələrsə, operatorun nəticəsi TRUE, əks halda YANLIŞ olacaqdır. Tətbiq operatorun hərəkətini dəyişdirmir. Dəyərlərin müqayisəsi -də təsvir olunan qaydalara uyğun olaraq həyata keçirilir.

Misal:

seçin

Harada
Kataloq.Nomenklatura.Valideyn.Adı
B (“Məişət texnikası”, “Ofis avadanlığı”)

İyerarxiya üzvlüyünü yoxlamaq üçün B operatorunun forması

Kataloqlar üçün iyerarxiya üzvlüyünün yoxlanılması da aparıla bilər. Əgər soldakı ifadənin dəyəri kataloq elementinə istinaddırsa və sağdakı dəyərlər dəstinə daxil edilirsə və ya iyerarxik olaraq bu dəstdə olan bəzi qrupa aiddirsə, IN HIERARCHY operatorunun nəticəsi TRUE olacaq:

Misal:

// Qrup parametri kimi sorğuya keçid ötürülür
// Nomenklatura kataloqunun istənilən qrupuna.

seçin
Kataloq.Nomenklatura.Ad

Uyğunluq üçün yoxlanılacaq dəyərlər dəstinə sorğunun nəticəsi də daxil ola bilər. Bu halda B operatorunun sağında sorğunun təsvirini göstərməlisiniz.

Misal:

seçin
Kataloq.Nomenklatura.Ad

Dəyərin sorğu nəticələrindən birinə uyğun olub olmadığını yoxlamaq üçün B operatorunun forması

Bu operatordan istifadə nümunəsi aşağıdakı kimi ola bilər:

Misal:


SEÇİN
Məhsullar.Adı
FROM
Directory.Products AS Məhsullar
HARADA
Məhsullar. Link B
SEÇİN
Xərc fakturasıTərkibi.Məhsul
FROM

)

Sorğunun nəticəsi:

Əks nəticə əldə etmək üçün, yəni dəyərin sorğu nəticələrinin heç birinə uyğun gəlmədiyini müəyyən etmək istəyirsinizsə, sorğu belə görünür:

Misal:

// Fakturalarda mövcud olan malların adlarını seçin
SEÇİN
Məhsullar.Adı
FROM
Directory.Products AS Məhsullar
HARADA
Məhsullar. Link YOXDUR
SEÇİN
Xərc fakturasıTərkibi.Məhsul
FROM
Sənəd.Xərc hesab-fakturası.Tərkibi Xərc fakturasıTərkib
)

Sorğunun nəticəsi:

Qeyd edək ki, B əməliyyatının sorğusundan əməliyyat görünməzdən əvvəl xarici sorğuda rast gəlinən cədvəl sahələrinə daxil olmaq mümkündür.

Misal:

// Fakturalarda mövcud olan malların adlarını seçin
SEÇİN
Məhsullar.Adı
FROM
Directory.Products AS Məhsullar
HARADA
Məhsullar. Link B
SEÇİN
Xərc fakturasıTərkibi.Məhsul
FROM
Sənəd.Xərc hesab-fakturası.Tərkibi Xərc fakturasıTərkib
HARADA
Xərc tərkibi.Məhsul = Məhsullar.Link
)

Sorğunun nəticəsi:

Dəyərin diapazonda olub olmadığını yoxlamaq üçün operator

BETWEEN operatoru onun sağında göstərilən ifadənin dəyərinin solda göstərilən diapazonda olub-olmadığını yoxlamağa imkan verir (diapazonun sərhədləri ilə birlikdə). Daxil edilərsə, operatorun nəticəsi TRUE, əks halda - FALSE olacaq. Tətbiq operatorun hərəkətini dəyişdirmir. Dəyərlərin müqayisəsi -də təsvir olunan qaydalara uyğun olaraq həyata keçirilir.

Misal:

seçin


Harada
Kataloq.Nomenklatura.SatınalmaQiyməti 100-1000 ARASINDA

NULL Test Operatoru

IS NULL operatoru onun solunda olan ifadənin dəyərinin NULL olmasını yoxlamağa imkan verir. Əgər dəyər NULL olarsa, operatorun nəticəsi TRUE, əks halda isə YANLIŞ olacaqdır. Tətbiq operatorun hərəkətini dəyişdirmir.

Misal:

seçin
Kataloq.Nomenklatura.Ad,
Kataloq.Nomenklatura.SatınalmaQiyməti
Harada
Directory.Nomenklatura.PurchasePrice Bəli NULL

İstinad Dəyəri Qiymətləndirmə Operatoru

REFERENCE operatoru onun sağında göstərilən ifadənin qiymətinin solda göstərilən cədvələ istinad olub-olmadığını yoxlamağa imkan verir. Əgər belədirsə, operatorun nəticəsi TRUE, əks halda - FALSE olacaq. Cədvəldə istinadın ləğvi “Sahədən imtina” bölməsində təsvir edilmişdir.

Misal:

seçin
Kataloq.Nomenklatura.Ad,
Kataloq.Nomenklatura.Ölçü vahidi
Harada
Kataloq.Nomenklatura.Ölçü vahidi Link Directory.Ölçü vahidləri

Nümunə uyğun sətir operatoru

Oxşar operator onun solunda göstərilən ifadənin qiymətini sağda göstərilən nümunə sətri ilə müqayisə etməyə imkan verir. İfadənin dəyəri sətir tipli olmalıdır. Əgər ifadənin qiyməti nümunəyə uyğun gəlirsə, operatorun nəticəsi TRUE, əks halda isə YANLIŞ olacaqdır.

Şablon sətirindəki aşağıdakı simvollar xidmət simvollarıdır və sətir simvolundan fərqli məna daşıyır:

  • % (faiz): istənilən sayda ixtiyari simvoldan ibarət ardıcıllıq
  • _ (alt xətt): bir ixtiyari simvol
  • […] (kvadrat mötərizədə bir və ya bir neçə simvol): kvadrat mötərizə içərisində sadalanan istənilən tək simvol
    Sadalama diapazondan ibarət ola bilər, məsələn, a-z, yəni aralığın sonları daxil olmaqla, aralığa daxil edilmiş ixtiyari simvol.
  • [^...] (kvadrat mötərizədə bir və ya bir neçə simvoldan sonra inkar işarəsi): inkar işarəsindən sonra sadalananlardan başqa hər hansı bir simvol

Hər hansı digər simvol özü deməkdir və heç bir əlavə yük daşımır.

Sadalanan simvollardan birinin özü kimi yazılması lazımdırsa, ondan əvvəl olmalıdır<Спецсимвол>. Özüm<Спецсимвол>(hər hansı uyğun simvol) SPECIAL CHARACTER açar sözündən sonra eyni ifadədə müəyyən edilir.

Məsələn, “%ABV[abvg]_abv%” SPECIAL CHARACTER “” nümunəsi simvollar ardıcıllığından ibarət alt sətir deməkdir:
A hərfləri; B hərfləri; B hərfləri; bir rəqəm; a, b, c və ya d hərflərindən biri; vurğulamaq; a hərfləri; hərflər b; məktublar v.

Üstəlik, bu ardıcıllıqdan əvvəl ixtiyari simvollar dəsti ola bilər.

İerarxiya xülasəsi

İerarxiyaya uyğun olaraq cəmiləri hesablamaq mümkündür. Bunun üçün cəmlərin hesablandığı sahənin adından sonra HIERARCHY açar sözünü qeyd etməlisiniz. Nəticədə, nəzarət nöqtələri üzrə ümumilər və nəzarət nöqtələri üzrə iyerarxiya üzrə yekunlar hesablanacaq.

Misal:

Sənəd Elementini, Sənəd Kəmiyyətini, Sənəd Linki Nömrəsini, Sənəd Bağlantısını SEÇİN
Sənəddən.Qaimə-fakturadan.Tərkibi Sənəd kimi
Doc.Product tərəfindən SİFARİŞ
NƏTİCƏLƏRİN MƏBLƏĞİ (KƏMİYYƏSİ) PROGRAM TƏMİNATI Doc.Məhsul İERARXİYASI

Sorğunun nəticəsi:

Məhsul Kəmiyyət Nömrə alıcı
Santexnika 104
vurun 84
vurun 10 RNk-1 Uryupinsktorg
vurun 8 RNk-3 Mag. "Ustad"
vurun 44 RNk-4 Mag. "Nəhəng"
vurun 22 RNk-5 Uryupinsktorg
Vantus 20
Vantus 5 RNk-1 Uryupinsktorg
Vantus 1 RNk-3 Mag. "Ustad"
Vantus 14 RNk-4 Mag. "Nəhəng"
Mebel 134
Cədvəl 26
Cədvəl 1 RNk-1 Uryupinsktorg
Cədvəl 15 RNk-2 Mag. "Mebel"
Cədvəl 10 RNk-4 Mag. "Nəhəng"
Kreslo 108
Kreslo 55 RNk-2 Mag. "Mebel"
Kreslo 5 RNk-3 Mag. "Ustad"
Kreslo 32 RNk-4 Mag. "Nəhəng"
Kreslo 16 RNk-5 Uryupinsktorg

Misal:

Sənəd Elementini, Sənəd Kəmiyyətini, Sənəd Linki Nömrəsini, Sənəd Bağlantısını SEÇİN
Sənəddən.Xərc Fakturasından.Tərkibi Sənəddən
Doc.Product tərəfindən SİFARİŞ
YALNIZ Doc.Product İERARXİYASINA GÖRƏ NƏTİCƏLƏRİN MABUNU (KƏMİYYƏTİ)

Sorğunun nəticəsi:

Məhsul Kəmiyyət Nömrə alıcı
Santexnika 104
vurun 10 RNk-1 Uryupinsktorg
vurun 8 RNk-3 Mag. "Ustad"
vurun 44 RNk-4 Mag. "Nəhəng"
vurun 22 RNk-5 Uryupinsktorg
Vantus 5 RNk-1 Uryupinsktorg
Vantus 1 RNk-3 Mag. "Ustad"
Vantus 14 RNk-4 Mag. "Nəhəng"
Mebel 134
Cədvəl 1 RNk-1 Uryupinsktorg
Cədvəl 15 RNk-2 Mag. "Mebel"
Cədvəl 10 RNk-4 Mag. "Nəhəng"
Kreslo 55 RNk-2 Mag. "Mebel"
Kreslo 5 RNk-3 Mag. "Ustad"
Kreslo 32 RNk-4 Mag. "Nəhəng"
Kreslo 16 RNk-5 Uryupinsktorg


 


Oxuyun:



Yavaş ocaqda mal əti güveç - asan!

Yavaş ocaqda mal əti güveç - asan!

Mal əti, pəhriz reseptlərində tez-tez rast gəlinən nisbətən yağsız ətdir. Sağlamdır və müxtəlif komponentlərlə zəngindir...

Tomat pastasından hazırlanmış şiş kabab sousu

Tomat pastasından hazırlanmış şiş kabab sousu

Hər gün biz çoxlu müxtəlif yeməklər bişiririk, lakin, bir qayda olaraq, reseptlər ənənəvi, evdar qadınlara tanışdır. Axı ən asanı artıq uzun müddətdir görülən işləri görməkdir...

Pomidorları hansı günlərdə turşu edə bilərsiniz?

Pomidorları hansı günlərdə turşu edə bilərsiniz?

Duzlu pomidor rus mətbəxinin ən məşhur yeməklərindən biridir. Demək olar ki, duzlu pomidoru heç vaxt...

Duzlu balıqları necə bişirmək olar

Duzlu balıqları necə bişirmək olar

Grenadier balıq hər hansı bir növün deyil, dəniz dərin dəniz balıqlarının bütün cinsinin adıdır. Başqa bir ad uzunquyruqdur. Balıq təmsil edir ...

feed-şəkil RSS