Priemerná hodnota SCD pre zdroje. Agregátne funkcie systému skladania údajov

Dôležité! Ak je parameter funkcie typu String a špecifikuje názov poľa, ktorý obsahuje medzery, potom názov poľa musí byť uzavretý v hranatých zátvorkách.
Napríklad: „[Počet obratu]“.

1. Suma (celkom)- vypočíta súčet hodnôt výrazov, ktoré mu boli odovzdané ako argument pre všetky podrobné záznamy. Pole môžete odovzdať ako parameter. V tomto prípade sa funkcia použije na obsah poľa.

Príklad:
Suma(Sales.AmountTurnover)

2. Počítaj - vypočíta počet hodnôt iných ako NULL. Pole môžete odovzdať ako parameter. V tomto prípade sa funkcia použije na obsah poľa.

Syntax:
Množstvo ([rôzne] parameter)

Ak chcete uviesť príjem rôznych hodnôt, mali by ste pred parametrom Metóda množstva zadať Distinct.

Príklad:
Množstvo (Predaj. Protistrana)
Množstvo (rôzne predaje. Protistrana)

3. Maximálne - získa maximálnu hodnotu. Pole môžete odovzdať ako parameter. V tomto prípade sa funkcia použije na obsah poľa.

Príklad:
Maximum (Remaining.Quantity)

4. Minimálne - získa minimálnu hodnotu. Pole môžete odovzdať ako parameter. V tomto prípade sa funkcia použije na obsah poľa.

Príklad:
Minimum (Zvyšné množstvo)

5. Priemer - Získa priemer pre hodnoty iné ako NULL. Pole môžete odovzdať ako parameter. V tomto prípade sa funkcia použije na obsah poľa.

Príklad:
Priemer (Zvyšné množstvo)

6. Pole - tvorí pole obsahujúce hodnotu parametra pre každý podrobný záznam.

Syntax:
Pole([rôzne] výraz)

Ako parameter môžete použiť tabuľku hodnôt. V tomto prípade bude výsledkom funkcie pole obsahujúce hodnoty prvého stĺpca tabuľky hodnôt odovzdané ako parameter. Ak výraz obsahuje funkciu Array, potom sa výraz považuje za agregovaný výraz. Ak je zadané kľúčové slovo Rôzne, výsledné pole nebude obsahovať duplicitné hodnoty.

Príklad:
Pole (protistrana)

7. Tabuľka hodnôt - vygeneruje tabuľku hodnôt obsahujúcu toľko stĺpcov, koľko je parametrov funkcie. Podrobné záznamy sa získavajú zo súborov údajov, ktoré sú potrebné na získanie všetkých polí zahrnutých vo výrazoch parametrov funkcií.

Syntax:
Tabuľka hodnôt([Rôzne] Výraz1 [Názov stĺpca AS1][, Výraz2 [Názov stĺpca AS2],...])

Ak sú parametrami funkcie zvyškové polia, výsledná tabuľka hodnôt bude obsahovať hodnoty pre záznamy pre jedinečné kombinácie dimenzií z iných období. V tomto prípade sa hodnoty získavajú iba pre zostatkové polia, dimenzie, účty, polia období a ich podrobnosti. Hodnoty zostávajúcich polí v záznamoch z iných období sa považujú za rovné NULL. Ak výraz obsahuje funkciu ValueTable, potom sa tento výraz považuje za agregovaný výraz. Ak je zadané kľúčové slovo Rôzne, výsledná tabuľka hodnôt nebude obsahovať riadky obsahujúce rovnaké údaje. Za každým parametrom môže byť voliteľné kľúčové slovo AS a názov, ktorý bude priradený stĺpcu tabuľky hodnôt.

Príklad:
Tabuľka hodnôt (rôzne nomenklatúry, charakteristiky nomenklatúr AS charakteristiky)

8. Zbaliť (GroupBy) - navrhnutý na odstránenie duplikátov z poľa.

Syntax:
Zbaliť (výraz, čísla stĺpcov)

Možnosti :

  • Výraz- výraz typu Array alebo ValueTable, ktorého hodnoty prvkov je potrebné zbaliť;
  • Čísla stĺpcov- (ak je výraz typu ValueTable) napíšte String. Čísla alebo názvy (oddelené čiarkami) stĺpcov tabuľky hodnôt, medzi ktorými musíte hľadať duplikáty. Predvolene sú všetky stĺpce.
Príklad:
Collapse(ValueTable(TelefónneČíslo, Adresa) ,TelefónneČíslo");

9. GetPart - získa tabuľku hodnôt obsahujúcu určité stĺpce z pôvodnej tabuľky hodnôt.

Syntax:
GetPart(výraz, čísla stĺpcov)

Možnosti :

  • Výraz- typ Tabuľka hodnôt. Tabuľka hodnôt, z ktorých sa získajú stĺpce;
  • Čísla stĺpcov- typ String. Čísla alebo názvy (oddelené čiarkami) stĺpcov tabuľky hodnôt, ktoré je potrebné získať.
Návratová hodnota: Tabuľka hodnôt, ktorá obsahuje iba stĺpce špecifikované v parametri.

Príklad:
GetPart(Collapse(ValueTable(TelefónneČíslo, Adresa) "TelefónneČíslo"),"TelefónneČíslo");

10. Objednávka - určené na organizáciu prvkov poľa a tabuľky hodnôt.

Syntax:
Usporiadať (výraz, čísla stĺpcov)

Možnosti :

  • Výraz- Pole alebo ValueTable, z ktorých potrebujete získať stĺpce;
  • Čísla stĺpcov- (ak je výraz typu ValueTable) čísla alebo názvy (oddelené čiarkami) stĺpcov tabuľky hodnôt, podľa ktorých chcete triediť. Môže obsahovať smer objednávania a potrebu automatického zoradenia: Zostupne/Vzostupne + Automatické zoradenie.
Návratová hodnota: Array alebo ValueTable s usporiadanými prvkami.

Príklad:
Usporiadať (Tabuľka hodnôt (Telefónne číslo, Adresa, Dátum hovoru),"Dátum hovoru zostupne");

11. JoinStrings - určený na spojenie strún do jednej línie.

Syntax:
ConnectRows (hodnota, oddeľovač položiek, oddeľovač stĺpcov)

Možnosti :

  • Význam- výrazy, ktoré je potrebné spojiť do jedného riadku. Ak ide o pole, prvky poľa sa spoja do reťazca. Ak ide o tabuľku hodnôt, všetky stĺpce a riadky tabuľky sa spoja do jedného riadka;
  • Oddeľovač prvkov- reťazec obsahujúci text, ktorý sa má použiť ako oddeľovač medzi prvkami poľa a riadkami tabuľky hodnôt. Default – znak posunu riadku;
  • Oddeľovače stĺpcov- riadok obsahujúci text, ktorý sa má použiť ako oddeľovač medzi stĺpcami tabuľky hodnôt. Predvolené ";".
Príklad:
ConnectRows(Tabuľka hodnôt(telefónne číslo, adresa));

12. Skupinové spracovanie - vráti objekt GroupProcessingDataCompositionData. Vo vlastnosti Data objektu sú hodnoty zoskupenia umiestnené vo forme tabuľky hodnôt pre každý výraz špecifikovaný v parametri funkcie Výrazy. Pri použití hierarchického zoskupovania sa každá úroveň hierarchie spracováva samostatne. V údajoch sú umiestnené aj hodnoty pre hierarchické záznamy. Vlastnosť CurrentItem objektu obsahuje riadok tabuľky hodnôt, pre ktorý sa funkcia práve počíta.

Syntax:
Spracovanie skupiny (výrazy, výrazy hierarchie, názov skupiny)

Možnosti :

  • Výrazy. Výrazy, ktoré sa majú hodnotiť. Riadok obsahujúci výrazy oddelené čiarkami, ktoré je potrebné vyhodnotiť. Za každým výrazom môže byť voliteľné kľúčové slovo AS a názov stĺpca výslednej tabuľky hodnôt. Každý výraz tvorí stĺpec v tabuľke hodnôt vlastnosti Data objektu DataCompositionGroupProcessingData.
  • Hierarchie výrazov. Výrazy na vyhodnotenie pre hierarchické záznamy. Podobne ako parameter Expressions, s tým rozdielom, že parameter Hierarchy Expressions sa používa pre hierarchické záznamy. Ak parameter nie je zadaný, na výpočet hodnôt pre hierarchické záznamy sa použijú výrazy zadané v parametri Výraz.
  • Názov skupiny. Názov zoskupenia, v ktorom sa má vypočítať zoskupenie spracovania. Linka. Ak nie je zadané, výpočet sa uskutoční v aktuálnom zoskupení. Ak sa výpočet vykonáva v tabuľke a parameter obsahuje prázdny reťazec alebo nie je zadaný, vypočíta sa hodnota pre zoskupenie - reťazec. Kompozitor rozloženia pri generovaní rozloženia údajov nahrádza krstné meno na názov zoskupenia vo výslednom rozložení. Ak zoskupenie nie je dostupné, funkcia bude nahradená hodnotou NULL.
13. Všetci - ak má aspoň jeden záznam hodnotu False, potom je výsledok False, inak True.

Syntax:
Každý(výraz)

Parameter:

  • Výraz- Booleovský typ.
Príklad:
každý()

14. Akýkoľvek (akýkoľvek)- ak má aspoň jeden záznam hodnotu True, potom je výsledok True, inak False

Syntax:
Akékoľvek (výraz)

Parameter:

  • Výraz- Booleovský typ.
Príklad:
Akýkoľvek()

15. Štandardná odchýlka všeobecnej populácie (Stddev_Pop) - vypočíta smerodajnú odchýlku populácie. Vypočítané pomocou vzorca: SQRT (Variancia všeobecnej populácie (X)).

Syntax:
Štandardná odchýlka všeobecnej populácie (výraz)

Parameter:

  • Výraz- Typ čísla.

Príklad:

X1 2 3 4 5 6 7 8 9
Y7 1 2 5 7 34 32 43 87
VYBERTE štandardnú odchýlku všeobecnej populácie (Y) Z tabuľky
Výsledok: 805,694444

16. Štandardná odchýlka vzorky (Stddev_Samp) - vypočíta kumulatívnu štandardnú odchýlku vzorky. Vypočítané pomocou vzorca: SQRT(Vzorkový rozptyl(X)).

Syntax:
Vzorka štandardnej odchýlky (výraz)

Parameter:

  • Výraz- Typ čísla.
Typ návratu Číslo.

Príklad:

X1 2 3 4 5 6 7 8 9
Y7 1 2 5 7 34 32 43 87
SELECT StandardDeviationSamples(Y) FROM Table
Výsledok: 28,3847573

17. VarianceSamples (Var_Samp) - vypočíta typický rozdiel série čísel bez zohľadnenia hodnôt NULL v tejto sade. Vypočítané pomocou vzorca: (Množstvo(X^2) - Množstvo(X)^2 / Množstvo (X)) / (Množstvo (X) - 1). Ak Množstvo(X) = 1, vráti sa NULL.

Syntax:
Vzorky rozptylu (výraz)

Parameter:

  • Výraz- Typ čísla.
Príklad:
VYBERTE rozptyl populácie (Y) Z tabuľky
Výsledok: 716,17284

19. Kovariancia všeobecnej populácie (Covar_Pop) - vypočíta kovarianciu množstva číselných párov. Vypočítané pomocou vzorca: (Súčet (Y * X) - Súčet (X) * Súčet (Y) / n) / n, kde n je počet párov (Y, X), v ktorých ani Y ani X nie sú NULL.

Syntax:
Kovariancia populácie (Y, X)

Možnosti :

  • Y- typ Číslo;
  • X- Typ čísla.
Príklad:
X1 2 3 4 5 6 7 8 9
Y7 1 2 5 7 34 32 43 87
SELECT CovariancePopulation(Y, X) FROM Table
Výsledok: 59,4444444

20. Vzorka kovariancie (Covar_Samp) - vypočíta typický rozdiel série čísel bez zohľadnenia hodnôt NULL v tejto sade. Vypočítané pomocou vzorca: (Súčet (Y * X) - Súčet (Y) * Súčet (X) / n) / (n-1), kde n je počet párov (Y, X), v ktorých nie je Y ani X sú NULL.

Syntax:
Vzorky kovariancie (Y, X)

Možnosti :

  • Y- typ Číslo;
  • X- Typ čísla.
Príklad:
X1 2 3 4 5 6 7 8 9
Y7 1 2 5 7 34 32 43 87
SELECT CovarianceSamples(Y, X) FROM Table
Výsledok: 66,875

21. Korelácia (Corr) - vypočíta korelačný koeficient množstva číselných párov. Vypočíta sa pomocou vzorca: Kovariancia populácie (Y, X) / (štandardná odchýlka populácie (Y) * štandardná odchýlka populácie (X)). Páry, v ktorých Y alebo X sú NULL, sa neberú do úvahy.

Syntax:
Korelácia (Y, X)

Možnosti :

  • Y- typ Číslo;
  • X- Typ čísla.
Príklad:
X1 2 3 4 5 6 7 8 9
Y7 1 2 5 7 34 32 43 87
SELECT Correlation(X, Y) FROM Table
Výsledok: 0,860296149

22. RegressionSlope (Regr_Slope) - vypočíta sklon čiary. Vypočítané pomocou vzorca: Kovariancia všeobecnej populácie (Y, X) / Rozptyl všeobecnej populácie (X). Vypočítané bez zohľadnenia párov obsahujúcich NULL.

Syntax:
RegressionSlope (Y, X)

Možnosti :

  • Y- typ Číslo;
  • X- Typ čísla.
Príklad:
X1 2 3 4 5 6 7 8 9
Y7 1 2 5 7 34 32 43 87
SELECT RegressionSlope(Y, X) FROM Table
Výsledok: 8,91666667

23. RegressionIntercept (Regr_Intercept) - vypočíta bod Y priesečníka regresnej priamky. Vypočítané pomocou vzorca: Stredná (Y) - RegressionSlope (Y, X) * Stredná hodnota (X). Vypočítané bez zohľadnenia párov obsahujúcich NULL.

Syntax:
Regresný segment (Y, X)

Možnosti :

  • Y- typ Číslo;
  • X- Typ čísla.
Príklad:
SELECT RegressionCount(Y, X) FROM Table
Výsledok: 9

25. RegresiaR2 (Regr_R2) - vypočíta koeficient determinácie. Vypočítané bez zohľadnenia párov obsahujúcich NULL.

Syntax:
RegresiaR2(Y, X)

Možnosti :

  • Y- typ Číslo;
  • X- Typ čísla.
Návratová hodnota:
  • Null - ak rozptyl všeobecnej populácie (X) = 0;
  • 1 - ak rozptyl všeobecnej populácie (Y) = 0 A rozptyl všeobecnej populácie (X)<>0;
  • POW(Korelácia(Y,X),2) - ak rozptyl všeobecnej populácie(Y)>0 A rozptyl všeobecnej populácie(X)<>0.
Príklad:
X1 2 3 4 5 6 7 8 9
Y7 1 2 5 7 34 32 43 87
SELECT RegressionR2(Y, X) FROM Table
Výsledok: 0,740109464

26. RegressionAverageX (Regr_AvgX) - vypočíta priemer X po odstránení párov X a Y, kde X alebo Y je prázdny. Priemer (X) sa vypočíta bez zohľadnenia párov obsahujúcich NULL.

Syntax:
Regresný priemerX(Y, X)

Možnosti :

  • Y- typ Číslo;
  • X- Typ čísla.
Príklad:
X1 2 3 4 5 6 7 8 9
Y7 1 2 5 7 34 32 43 87
SELECT RegressionMeanX(Y, X) FROM Table
Výsledok: 5

27. RegressionAverageY (Regr_AvgY) - vypočíta priemer Y po odstránení párov X a Y, kde je buď X alebo Y prázdne. Priemer (Y) sa vypočíta bez zohľadnenia párov obsahujúcich NULL.

Syntax:
Regresný priemerY(Y, X)

Možnosti :

  • Y- typ Číslo;
  • X- Typ čísla.
Príklad:
X1 2 3 4 5 6 7 8 9
Y7 1 2 5 7 34 32 43 87
SELECT RegressionMeanY(Y, X) FROM Table
Výsledok: 24,2222222

28. RegresiaSXX (Regr_SXX) - vypočítané pomocou vzorca: Regresné množstvo (Y, X) * Rozptyl všeobecnej populácie (X). Vypočítané bez zohľadnenia párov obsahujúcich NULL.

Syntax:
RegresiaSXX(Y; X)

Možnosti :

  • Y- typ Číslo;
  • X- Typ čísla.
Vráti súčet druhých mocnín nezávislých výrazov použitých v modeli lineárnej regresie. Funkciu možno použiť na vyhodnotenie štatistickej platnosti regresného modelu.

Príklad:
SELECT RegressionSYY(Y, X) FROM Table
Výsledok: 6445,55556

30. RegresiaSXY (Regr_SXY) - vypočítané pomocou vzorca: Regresné množstvo (Y, X) * Kovariancia všeobecnej populácie (Y, X). Vypočítané bez zohľadnenia párov obsahujúcich NULL.

Syntax:
RegresiaSXY(Y,X)

Možnosti :

  • Y- typ Číslo;
  • X- Typ čísla.
Príklad:
X1 2 3 4 5 6 7 8 9
Y7 1 2 5 7 34 32 43 87
SELECT RegressionSXY(Y, X) FROM Table
Výsledok: 535

31. Poradie

Syntax:
PlaceInOrder(poradie, poradie hierarchie, názov skupiny)

Možnosti :

  • objednať– zadajte reťazec. Obsahuje výrazy, v poradí ktorých chcete usporiadať skupinové záznamy, oddelené čiarkami. Smer radenia sa ovláda pomocou slov Vzostupne, Zostupne. Môžete tiež sledovať pole pomocou funkcie Auto Order, čo znamená, že pri objednávaní odkazov musíte použiť polia objednávky definované pre referenčný objekt. Ak nie je zadaná žiadna postupnosť, potom sa hodnota vypočíta v postupnosti zoskupovania;
  • Hierarchia poriadku– zadajte reťazec. Obsahuje výrazy usporiadania pre hierarchické záznamy;
  • Názov skupiny– zadajte reťazec. Názov zoskupenia, v ktorom sa má vypočítať zoskupenie spracovania. Ak nie je zadané, výpočet sa uskutoční v aktuálnom zoskupení. Ak sa výpočet vykonáva v tabuľke a parameter obsahuje prázdny reťazec alebo nie je zadaný, vypočíta sa hodnota pre zoskupenie - reťazec. Skladateľ rozloženia pri generovaní rozloženia údajov nahradí tento názov názvom zoskupenia vo výslednom rozložení. Ak zoskupenie nie je dostupné, funkcia bude nahradená hodnotou NULL.
Ak sú v sekvencii dva alebo viac záznamov s rovnakými hodnotami poľa usporiadania, funkcia vráti rovnaké hodnoty pre všetky záznamy.

Príklad:
PlaceInOrder("[Počet obratu]")

32. KlasifikáciaABC

Syntax:
KlasifikáciaABC(hodnota, počet skupín, percento pre skupiny, názov skupiny)

Možnosti :

  • Význam– zadajte reťazec. podľa ktorého sa klasifikácia musí vypočítať. Riadok obsahujúci výraz;
  • Počet skupín- Typ čísla. Určuje počet skupín, do ktorých sa má rozdeliť;
  • PercentageForGroups- typ String. Až mínus 1 je potrebné rozdeliť na skupiny oddelené čiarkami. Ak nie je zadané, potom automaticky;
  • Názov skupiny- typ String. Názov zoskupenia, v ktorom sa má vypočítať zoskupenie spracovania. Ak nie je zadané, výpočet sa uskutoční v aktuálnom zoskupení. Ak sa výpočet vykonáva v tabuľke a parameter obsahuje prázdny reťazec alebo nie je zadaný, vypočíta sa hodnota pre zoskupenie - reťazec. Skladateľ rozloženia pri generovaní rozloženia údajov nahradí tento názov názvom zoskupenia vo výslednom rozložení. Ak zoskupenie nie je dostupné, funkcia bude nahradená hodnotou NULL.
Výsledkom funkcie bude číslo triedy začínajúce od 1, ktoré zodpovedá triede A.

Príklad:
KlasifikáciaABC("Suma (hrubý zisk)", 3; "60, 90")

Článok popisuje príklad praktického využitia váženého priemeru vo výsledkoch reportov. Sú zobrazené niektoré techniky pre prácu so systémami kontroly prístupu. Článok je určený pre trénovaného čitateľa s aspoň základnými zručnosťami v práci so systémami kontroly prístupu a tvorcom dotazov.

Výpočet váženého priemeru sa aktívne používa v úlohách súvisiacich s manažérskym účtovníctvom a inými obchodnými kalkuláciami.

A-priorita, - VÁŽENÝ PRIEMER(vážený priemer) je aritmetický priemer, ktorý zohľadňuje váhu každého z výrazov, pre ktoré sa tento priemer počíta.

Takmer vo všetkých učebniciach manažérskeho účtovníctva na ilustráciu váženého priemeru uvádzajú príklad s nákupom troch šarží toho istého výrobku - každá šarža tovaru má inú nákupnú cenu a iné množstvo. Je jasné, že ak v takejto situácii vezmeme aritmetický priemer nákupných cien, dostaneme priemernú teplotu v nemocnici – údaj, ktorý nemá praktický význam. V takejto situácii dáva zmysel práve vážený priemer.

Rovnaký učebnicový príklad: tovar bol zakúpený v troch dávkach, z ktorých jedna bola 100 ton za 70 libier. čl. na tonu, ostatné - 300 ton na 80 libier. čl. na tonu a tretinu - 50 ton pri 95 librách. čl. za tonu, potom celkovo nakúpi 450 ton tovaru; obvyklá priemerná nákupná cena bude (70 + 80 + 95) : 3 = 81,7 libier. čl. Vážená priemerná cena, berúc do úvahy objemy každej šarže, sa rovná (100 × 70) + (300 × 80) + (50 × 95) : 450 = 79,4 libier. čl. na tonu.

Vzorec:

Kde X sú hodnoty, ktorých vážený priemer chceme získať, a W sú váhy.

Tu teória končí.

Musel som sa s tým vysporiadať, keď som v prehľade zobrazoval údaje o predaji tovaru, zoskupené podľa manažérov, kde bolo vo výsledku potrebné získať ziskovosť. V riadkoch prehľadu sa vo výsledkoch zobrazovala rentabilita každého predaného produktu, bolo potrebné vidieť, s akou ziskovosťou manažér pracoval; Ziskovosť je teda „hodnota“ a „váhou“ tejto hodnoty je príjem. Niekoľko objasnení na dokončenie obrazu. Výnosy (objem predaja) sú vynásobené predajnou cenou produktu a množstvom. Hrubý zisk je príjem mínus náklady (nie je dôležité, ako presne boli náklady vypočítané v kontexte tohto článku). A nakoniec, naša ziskovosť je pomer hrubého zisku k výnosom vyjadrený v percentách.

Vynára sa otázka: akú ziskovosť dosiahol manažér vo vykazovanom období? Ak chcete správne odpovedať na túto otázku, musíte vypočítať váženú priemernú hodnotu ziskovosti.

Aby sme získali ziskovosť-vážený priemer v SKD, v konštruktore dotazu vytvoríme pomocné pole formulárasvojvoľný výraz, kde evidujeme súčin ziskovosti a výnosov. Tomuto poľu priradíme alias -Pomocné pole. Pozrite si obrázok nižšie.

Toto pole v prehľade nebudeme zobrazovať, údaje potrebujeme na výpočet výsledkov. Výsledky vypočítame v záložke ACSZdroje.

Ďalšou technikou práce s ACS na karte „Zdroje“, kde je uvedený výpočet súčtu, je možnosť použiť výrazy v poli „Výraz“ s údajmi z poľa „Dostupné polia“. Pozrite si obrázok nižšie.

Pre stĺpec výkazu „Percento ziskovosti“ napíšeme výraz Suma (pomocné pole)/Suma (výnos).

Aby sme to zhrnuli, v prvom rade je dôležité pochopiť, čo je vážený priemer a kde je potrebné použiť len aritmetický priemer a kde použiť vážený priemer. Z technického hľadiska môžu dva body predstavovať určité ťažkosti – vytvorenie pomocného poľa v správe a schopnosť použiť ľubovoľný výraz v zdrojoch ACS na výpočet výsledkov, ktoré potrebujeme.

Dúfam, že tento článok bude pre niekoho užitočný.

V tejto krátkej poznámke chcem ukázať, ako môžete zhrnúť hodnoty na rôznych úrovniach zoskupenia v zostave pomocou systému na zostavovanie údajov.
Ako je znázornené na obrázku, iba na úrovni zoskupenia „Skupiny položiek“ sa vypočítava zdroj „Objednávka“, ktorý zobrazuje, koľko je potrebné objednať pre aktuálnu skupinu položiek na základe určitých podmienok:


Táto hodnota môže byť vypočítaná iba pre túto úroveň zoskupenia, pretože nad alebo pod nie sú k dispozícii žiadne hodnoty na výpočet. Napríklad na úrovni podrobných záznamov neexistujú údaje o maximálnom množstve v skupine, pretože tieto údaje platia len pre skupinu ako celok a nie pre jej jednotlivé zložky.

Podľa toho je teraz potrebné vypočítať súčty pre vyššie uvedené skupiny („Sklady“, „Typy skladov“) a celkový súčet.
Ak to chcete urobiť, použite funkciu CalculateExpressionWithGroupArray:
HODNOTIŤ VÝRAZ S GROUPARRAY (EVALEXPRESSIONWITHGROUPARRAY)
Syntax:
EvaluateExpressionWithGroupArray(,)
Popis:
Funkcia vracia pole, ktorého každý prvok obsahuje výsledok vyhodnotenia výrazu na zoskupenie podľa zadaného poľa.
Kompozitor rozloženia pri generovaní rozloženia konvertuje parametre funkcií na polia rozloženia kompozície údajov. Napríklad pole Účet sa skonvertuje na DataSet.Account.
Tvorca rozloženia pri generovaní výrazov pre výstup vlastného poľa, ktorého výraz obsahuje iba funkciu CalculateArrayWithGroupArray(), generuje výstupný výraz, takže výstupné informácie sú usporiadané. Napríklad pre vlastné pole s výrazom:

CalculateExpressionWithGroupArray("Suma(SumaTurnover)", "Protistrana")
Tvorca rozloženia vygeneruje pre výstup nasledujúci výraz:

ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable)("View(Sum(DataSet.AmountTurnover)),Sum(DataSet.AmountTurnover)",,"DataSet.Account"),"2")))

Možnosti:

Typ: Reťazec. Výraz, ktorý sa má vyhodnotiť. Reťazec, napríklad Suma(SumaObrat).

Typ: Reťazec. Výrazy zoskupení polí – výrazy zoskupení polí oddelené čiarkami. Napríklad Dodávateľ, Strana.

Typ: Reťazec. Výraz popisujúci výber aplikovaný na podrobné záznamy. Výraz nepodporuje použitie agregačných funkcií. Napríklad, DeletionFlag = False.

Typ: Reťazec. Výraz popisujúci výber aplikovaný na skupinové záznamy. Napríklad Suma(SumaObrat) > &Parameter1.
Príklad:

Maximum(CalculateExpressionWithGroupArray("Suma(SumaTurnover)", "Protistrana"));

Podrobný popis syntaxe funkcie možno nájsť na http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582
Teraz pre výpočet duplikujeme pole „Objednávka“ s rôznymi hodnotami „Vypočítať podľa...“ pomocou nasledujúcich výrazov, všimnite si, že na každej vyššej úrovni sa používajú hodnoty úrovní pod zoskupeniami .

Výsledkom je nasledujúca konštrukcia:

V zložení údajov nastavenie súčtov vyzerá trochu inak ako v žiadostiach. Definujme súbor údajov „Query“ v systéme na zostavovanie údajov.

V samotnej žiadosti nekonfigurujeme súčty, ale prejdeme na kartu „Zdroje“ zloženia údajov. Na úrovni schémy zloženia údajov sme určiť zdroje. Toto sú polia, ktoré je potrebné počítať na úrovni zoskupenia. Kliknite na tlačidlo „>>“ a systém sám prenesie všetky číselné polia a definuje ich ako zdroje.

V zdrojoch môžete zadať aj nečíselné polia. Ak napríklad vyberiete atribút „Odkaz“, systém spočíta počet dokumentov v našich skupinách. Tieto informácie môžu byť tiež užitočné. takže, v layout diagrame definujeme len zdroje a samotné zoskupenia sú nakonfigurované na úrovni variantu zostavy. Používateľ môže tiež vytvoriť zoskupenia, ktoré chce vidieť v nastaveniach možností prehľadu.

Poďme tvoriť štandardné nastavenie zloženie údajov.
Kliknite na tlačidlo „Otvoriť návrhára nastavení“.

Vyberieme typ prehľadu – zoznam. Kliknite na tlačidlo „Ďalej“.

Označme všetky polia a pole protistrany presuňte na najvyššiu pozíciu. Kliknite na tlačidlo „Ďalej“.

Označme všetky polia a pole protistrany presuňte na najvyššiu pozíciu. Kliknite na tlačidlo „OK“.

Výsledkom je nasledujúce nastavenie:

Ako vidíte, pri nastavovaní možnosti zostavy sú zdroje zvýraznené zelenou ikonou, aby sa dali rýchlo odlíšiť od ostatných polí.

Ak otvoríme náš prehľad v režime 1C:Enterprise a vygenerujeme ho, uvidíme, že konečné údaje sa generujú na úrovni zoskupenia. Výsledky podľa položky a podľa protistrán.

Nastavenie zdrojov v schéme zloženia údajov 1C

Teraz obráťme svoju pozornosť na nastavenia, ktoré existujú pre zdroje. V poli „Výraz“ môžeme špecifikovať súhrnnú funkciu, ktorú možno použiť na získanie hodnoty zdroja. V rozbaľovacom zozname môžete vidieť číslo štandardné funkcie, Ale nie všetky. Napríklad neexistujú žiadne funkcie.

Tu do poľa „Výraz“ môžeme napísať vlastný výraz.

V poli „Výraz“ máme prístup aj k funkciám bežných modulov.

Okrem toho môžete v poli „Vypočítať podľa...“ určiť, podľa ktorých zoskupení má byť zdroj vypočítaný. Ak pole „Vypočítať podľa...“ nie je vyplnené, bude výsledná hodnota zdroja vypočítaná na všetkých úrovniach zoskupenia, ktoré sú definované v nastaveniach voľby zostavy. V našom prípade musíme vyplniť pole „Vypočítať podľa...“ zdroja „Množstvo“, pretože produkt môžeme predávať s rôzne jednotky merania. Napríklad: olej v litroch a kolesá v kusoch. Nie je pravda, že by bolo nelogické sčítať množstvá tohto tovaru? Preto musíme ponechať súčet množstva na úrovni položky a na úrovni protistrany
Odstránime súčet.

Ak vygenerujeme zostavu, uvidíme, že súčty množstiev sú vypočítané len podľa položky a súčty množstiev pre dodávateľov sú prázdne.

Možnosti pri popise zdrojov v schéme zloženia údajov 1C

uvažujme riadok nezrejmé vlastnosti súvisiace s popisom zdroja.

  • Každý zdroj môže definovať niekoľkokrát. Ale toto má zmysel len vtedy, ak
    zdroj bude vypočítaný na rôznych úrovniach zoskupení. Napríklad, ak množstvo, v jednom prípade
    je sčítaná pre položku a pre protistrany dostaneme minimálnu hodnotu.

Ak vygenerujeme správu, uvidíme, že pre protistranu „Deriya“ je minimálny nákup päť jednotiek z produktovej rady „Samolepiaci papier“.

  • V poli „Výraz“ môžete okrem napísania vzorca použiť aj špeciálna funkcia skladania údajov s názvom „Vypočítať“. Táto funkcia vám umožňuje vypočítať nejakú konečnú hodnotu pomocou určitého vzorca. Napríklad pre každú protistranu je potrebné poznať percento nákupov v naturálnych jednotkách vzhľadom na celkový objem. Ako však získať celkový objem nákupov podľa množstva? Ak to chcete urobiť, použite funkciu „Vypočítať“ a do poľa „Výraz“ napíšte nasledujúci výraz:
Súčet (množstvo)/vypočítať ("Súčet (množstvo)", "celkom spolu")*100

Ako je vidieť, všetky parametre funkcie "Vypočítať" sú reťazce. Aby sa pole množstva krásne zobrazilo v prehľade, nakonfigurujeme ho na karte „Súbory údajov“. V riadku množstva nájdeme pole „Možnosti úprav“. Otvorme dialógové okno, nájdeme riadok „Formát“ a upravíme v ňom riadok formátu, pričom na karte „Číslo“ nastavíme hodnotu „Presnosť“ na dve.

Spustite prehľad a pozrime sa na výsledok výpočtu percenta nákupov pre protistranu „AUPP KOS LLP“ vzhľadom na
celkový objem:


Na konci článku vám chcem odporučiť jeden bezplatný od Anatolija Sotnikova. Ide o kurz od skúseného programátora. Na samostatnom základe vám ukáže, ako zostaviť zostavy v systéme kontroly prístupu. Musíte len pozorne počúvať a pamätať si! Dostanete odpovede na nasledujúce otázky:
  • Ako vytvoriť jednoduchý zoznamový prehľad?
  • Na čo slúžia stĺpce Pole, Cesta a Názov na karte Polia?
  • Aké sú obmedzenia pre polia rozloženia?
  • Ako správne nakonfigurovať roly?
  • Aké sú úlohy pre polia rozloženia?
  • Kde nájdem kartu zloženia údajov v dopyte?
  • Ako nakonfigurovať parametre v systéme kontroly prístupu?
  • Stáva sa to ešte zaujímavejšie...
Pravdepodobne by ste sa nemali pokúšať sami surfovať po internete a hľadať potrebné informácie? Navyše je všetko pripravené na použitie. Len začnite! Všetky podrobnosti o tom, čo je v bezplatných video lekciách

Tu je jedna z lekcií o záložkovaní zloženia údajov v dotaze: