Բլոգ/ Ինքնարժեք/ Ինքնարժեք և մենյու

Ինքնարժեք, որ չի հնանում

Ինքնարժեք՝ ամսաթվին կապված, խմբավորումը՝ չափիչով

Բացման օրը հաշված ինքնարժեքը երկու տարի հետո ոչ մի բանի մասին չի խոսում։ Ալյուրը թանկացավ քսան տոկոսով, փաթեթավորումը՝ քառասունով, իսկ հաշվարկում գները մնացին հին։ Ներքևում մեթոդն է՝ ինչպես անել, որ ինքնարժեքը թարմ լինի ինքնուրույն։

Ուտեստի ինքնարժեքը հաշվվում է վաճառքի ամսաթվի դրությամբ բաղադրիչի վերջին գնման գնով։ Ներքևում՝ բաղադրիչների միասնական տեղեկատուն, ինքնարժեքի չափիչը, խմբավորումը կտրվածքի ներսում և շեղման հաշվարկը։

MA Միխայիլ Աբովյան·հիմնադիր, ACS ·հուլիս 2026 ·8 րոպե
Ինքնարժեք մենյուի ինժեներիա շեղում հանրային սնունդ DAX
Տեսանելի Մեթոդը պարզ լեզվով, ապրող աղյուսակով՝ զտիչները փոխեք և տեսեք, ինչպես է վերադասավորվում մենյուն։ Ինժեներական կողմը՝ «Ծրագրային» ռեժիմում։
Ծրագրային Բաղադրիչների տեղեկատու, ինքնարժեքի չափիչ ամսաթվով, խմբավորում ALLSELECTED-ով և շեղման հաշվարկ։

01 Ինքնարժեքը ամսաթիվ ունի

Խոհանոցում ինքնարժեքի ամենատարածված սխալը մեկն է՝ բաղադրիչի գինը վերցվում է տեղեկատուից, և տեղեկատուն թարմացվում է հազվադեպ։ Արդյունքում մարտի շահույթը հաշվվում է հունիսյան գներով, կամ ավելի վատ՝ երկու տարի առաջվա։

Ճիշտ մոտեցումը այլ է։ Ամեն վաճառքի համար վերցվում է բաղադրիչի այն գինը, որ ուժի մեջ էր հենց այդ օրը՝ վերջին գնումով մինչև չեկի ամսաթիվը։ Սերուցքը մարտին թանկացավ՝ սերուցքով ուտեստները թանկացան մարտից։ Փետրվարի շահույթը մնաց այն, ինչ իրականում էր։

«Եթե յուրաքանչյուր թանկացում լռելյայն վերաշարադրում է ամբողջ տարվա պատմությունը, ուրեմն միտում չկա։ Կա միայն ընթացիկ գին՝ բազմապատկած անցյալի վաճառքով»։

02 Երկու շերտ, որ պետք է առանձնացնել

Ինքնարժեքի հետ միշտ գալիս է երկրորդ հարցը՝ իսկ որքա՞ն դուրս եկավ իրականում։ Բաղադրատոմսն ասում է, որ չափաբաժնում 30 գրամ սերուցք է։ Պահեստն ասում է, որ ամսում դուրս եկավ ավելի շատ։ Այս երկուսի տարբերությունը առանձին թիվ է և ունի առանձին պատճառ։

Կարևոր զգուշացում։ Շեղումը մեղադրանք չէ։ Դա հարց է՝ չափաբաժնի գերակշիռ, փչացում, չհաշվառված հյուրասիրություն, սխալ դրված նորմ բաղադրատոմսում։ Ամենից հաճախ պատասխանը վերջինն է։

03 Երբ ամեն դիրք ունի իրական շահույթ

Հենց ինքնարժեքը դառնում է թարմ, մենյուն բաժանվում է չորս խմբի՝ ըստ պոպուլյարության և շահույթի զուգակցման։ Փոխեք զտիչը և տեսեք, ինչպես են դիրքերը տեղ փոխում՝

Մենյու՝ շահույթ ընդդեմ պոպուլյարության տվյալները սինթետիկ են
Խումբը որոշվում է ընթացիկ կտրվածքի միջինների նկատմամբ։ Գումարները դրամով
Կատեգորիա

Ամենահաճախ հանդիպող բացահայտումը վերևի տողերում է։ Վաճառքի առաջատարը կարող է նստած լինել «բեռնակիրների» մեջ՝ ինքնարժեքի բաժինը քառասուն տոկոսից բարձր։ Այն զբաղեցնում է արտադրությունը և անձնակազմի ուշադրությունը, իսկ շահույթում բերում ավելի քիչ, քան դիրքը, որը վաճառվում է երեք անգամ հազվադեպ։

Ինչ անել չորս խմբի հետ։ Աստղերին չշոշափել գինը, դուրս բերել առաջին տողը։ Բեռնակիրներին՝ վերահավաքել բաղադրատոմսը կամ զգույշ բարձրացնել գինը, պահանջարկը կայուն է։ Հանելուկներին՝ փոխել մատուցումը՝ տեղը մենյուում, լուսանկարը, մատուցողի աշխատանքը։ Բալաստը՝ դուրս բերելու թեկնածու։

04 Ինչու է սա աշխատում երկար

Բաղադրատոմսերն ապրում են մեկ աղյուսակում, որը լրացնում է շեֆը, ոչ ծրագրավորողը։ Գները գալիս են հաշիվ-ապրանքագրերից ինքնուրույն։ Ուստի բաղադրատոմսի փոփոխությունը կամ նոր մատակարարը ոչինչ չի կոտրում՝ հաջորդ թարմացմանը ամեն ինչ վերահաշվարկվում է նոր տվյալներով, ներառյալ անցյալ ամիսները՝ ճիշտ գներով։

Ուզու՞մ եք ինժեներական կողմը։ Անցեք վերևի աջ անկյունի «Ծրագրային» ռեժիմին՝ այնտեղ բաղադրիչների տեղեկատուն, ինքնարժեքի չափիչը և խմբավորման բանաձևն են։

01 Առաջին քայլը ձանձրալի է, բայց առանց դրա ոչինչ չի աշխատում

POS-ը վաճառում է դիրքեր, պահեստը հաշվում է բաղադրիչներ, մատակարարներն ուղարկում են իրենց անվանումները։ Նույն սերուցքը հաշիվ-ապրանքագրերում հանդիպում է չորս տարբեր տողով։ Ուստի նախագիծը սկսվում է բաղադրիչների միասնական տեղեկատուից և մատակարարի անվանումների քարտեզագրումից միասնական բանալու։

Ոչ մի DAX-չափիչ դա չի ուղղում։ Եթե քարտեզագրումը սխալ է, բոլոր հետագա թվերը սխալ են։

ԱղյուսակՀատիկԲանալի
Վաճառք (չեկեր)տող՝ ամսաթիվ, մասնաճյուղ, դիրքԴիրք
Տեխնոլոգիական քարտտող՝ դիրք և բաղադրիչԴիրք + Բաղադրիչ
Գնումներտող՝ ապրանքագիր և բաղադրիչԲաղադրիչ + ամսաթիվ
Գույքագրումմնացորդ ըստ ամսաթվի և մասնաճյուղիԲաղադրիչ + ամսաթիվ

02 Ինքնարժեք՝ չեկի ամսաթվին ակտուալ գնով

Հիմնական չափիչը։ Ամսաթվի ֆիլտրը ներսում է, ոչ դրսում, և հենց դա տալիս է ճիշտ պատմությունը՝

-- Վաճառվածի ինքնարժեք, ամսաթվին կապված գներով
SUMX(
    'Վաճառք',
    VAR ՉեկիԱմսաթիվ = 'Վաճառք'[Ամսաթիվ]
    VAR Ուտեստ       = 'Վաճառք'[Դիրք]
    RETURN
    'Վաճառք'[Քանակ] *
    SUMX(
        FILTER( 'Տեխքարտ', 'Տեխքարտ'[Դիրք] = Ուտեստ ),
        'Տեխքարտ'[Նորմ չափաբաժնի] *
        CALCULATE(
            MAX( 'Գնումներ'[Գին միավորի] ),
            ALL( 'Գնումներ' ),
            'Գնումներ'[Բաղադրիչ] = EARLIER( 'Տեխքարտ'[Բաղադրիչ] ),
            'Գնումներ'[Ամսաթիվ] <= ՉեկիԱմսաթիվ
        )
    )
)
Կատարողականության մասին ազնվորեն։ Բույն դրված SUMX-ը հարյուր դիրքի և տարվա չեկերի վրա դանդաղ է։ Արտադրության մոդելում գնի որոնումը տեղափոխվում է ETL-փուլ՝ վաճառքի ամեն տողին կպչում է արդեն հաշված ինքնարժեքը։ DAX-տարբերակը մնում է որպես ընթեռնելի բացատրություն և ստուգում։

03 Խմբավորումը պետք է ապրի կտրվածքի ներսում

Ամենատարածված սխալը՝ խմբերը հաշվել մեկ անգամ ամբողջ ցանցի վրա և պահել որպես սյունակ։ Այդ դեպքում կենտրոնի «աստղը» թաղամասում էլ մնում է աստղ, թեև այնտեղ նրան չեն վերցնում։ Միջինները պետք է հաշվվեն ընթացիկ ընտրության ներսում՝

-- Մենյուի խումբ՝ ընթացիկ կտրվածքի միջինների նկատմամբ
VAR ՄիջինՎաճառք =
    AVERAGEX( ALLSELECTED( 'Դիրքեր'[Դիրք] ), [Վաճառված չափաբաժին] )
VAR ՄիջինՇահույթ =
    AVERAGEX( ALLSELECTED( 'Դիրքեր'[Դիրք] ), [Շահույթ չափաբաժնից] )
RETURN
    SWITCH( TRUE(),
        [Վաճառված չափաբաժին] >= ՄիջինՎաճառք &&
        [Շահույթ չափաբաժնից] >= ՄիջինՇահույթ, "Աստղ",
        [Վաճառված չափաբաժին] >= ՄիջինՎաճառք, "Բեռնակիր",
        [Շահույթ չափաբաժնից] >= ՄիջինՇահույթ, "Հանելուկ",
        "Բալաստ" )

ALLSELECTED-ը հենց այն է, ինչ պետք է՝ հեռացնում է տողի ֆիլտրը, բայց պահում է օգտագործողի ընտրած մասնաճյուղը և կատեգորիան։

04 Խմբավորումը՝ գումարով, ոչ տոկոսով

Երկրորդ առաջնությունը՝ ինքնարժեքի բաժնի փոխարեն վերցնել շահույթը գումարով։ Ինքնարժեքի ցածր բաժինը գեղեցիկ է, բայց սուրճը 20 տոկոս բաժնով և 300 դրամ շահույթով վատ է դեսերտից 45 տոկոս բաժնով և 1300 դրամ շահույթով։

-- Երկուսն էլ պետք են, բայց խմբավորումը՝ գումարով
Ինքնարժեքի բաժին =
    DIVIDE( [Վաճառվածի ինքնարժեք], [Շրջանառություն] )

Շահույթ չափաբաժնից =
    DIVIDE(
        [Շրջանառություն] - [Վաճառվածի ինքնարժեք],
        [Վաճառված չափաբաժին]
    )

05 Շեղում՝ երկու թիվ, որ պետք է հանդիպեն

Փաստացի ծախսը հաշվետվություն չէ, հաշվարկ է։ Այն հավաքվում է գույքագրումից և մուտքերից՝

-- Շեղում ըստ բաղադրիչի, տոկոս
VAR Տեսական = [Ծախս ըստ տեխքարտերի]
VAR Փաստացի = [Մնացորդ սկզբում] + [Մուտք] - [Մնացորդ վերջում]
RETURN
    DIVIDE( Փաստացի - Տեսական, Տեսական )

Օգտակար է ավելացնել դուրսգրումների աղյուսակը՝ փչացում, հյուրասիրություն, ժամկետանց։ Այն ժամանակ շեղումը բաժանվում է երկուսի՝ բացատրված և չբացատրված, և խոսակցությունը մասնաճյուղի հետ դառնում է կոնկրետ։

Ամենադժվարը կոդում չէ։ Բաղադրատոմսը թարմ պահելը կարգապահություն է։ Շեֆը փոխեց դրվածքի նորմը և չգրեց թերթում՝ մոդելը երկու շաբաթ ցույց կտա սխալ շեղում։ Դա լուծվում է սովորությամբ, ոչ բանաձևով։

Հաշվենք ձեր ինքնարժեքը ձեր տվյալների վրա

Անվճար վերլուծության ընթացքում վերցնում ենք ձեր մենյուի մի քանի դիրք և ցույց տալիս իրական շահույթը ամեն մեկով՝ ակտուալ գնման գներով։ Առանց պարտավորության։

թեմայի շարունակությունը  ·  Բլոգի բոլոր հոդվածները →
ընթերցման ռեժիմ