РасчСт ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΠΈ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

Π Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ Π±ΡƒΠ΄Π΅ΠΌ ΠΊΠ°ΠΊ для физичСских Π»ΠΈΡ†, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… имССтся скидка, указанная Π² столбцС discountamount, Ρ‚Π°ΠΊ ΠΈ для ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΡ… Π»ΠΈΡ†, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ скидка, указанная Π² столбцС bonus.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅:

Π’Π°Π±Π»ΠΈΡ†Π° Ρ„Π°ΠΊΡ‚ΠΎΠ²

Π’Π°Π±Π»ΠΈΡ†Π° ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ

Π’Π°Π±Π»ΠΈΡ†Π° Ρ„Π°ΠΊΡ‚ΠΎΠ²

Π’Π°Π±Π»ΠΈΡ†Π° ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ

fact
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ столбцы:

  • salesamount – сумма, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·Π°ΠΏΠ»Π°Ρ‚ΠΈΠ» ΠΊΠ»ΠΈΠ΅Π½Ρ‚ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ количСства;

  • discountamount – сумма скидки;

  • bonus – бонус (ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°).

dimcustomer
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ столбСц:

  • customertype – Ρ‚ΠΈΠΏ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (β€œPersonβ€œ – физичСскоС Π»ΠΈΡ†ΠΎ, β€œCompanyβ€œ – ΡŽΡ€ΠΈΠ΄ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅).

Для расчСта ΠΏΡ€ΠΈΠ±Ρ‹Π»ΠΈ для физичСски Π»ΠΈΡ†, создадим ΠΌΠ΅Ρ€Ρƒ ΠŸΡ€ΠΈΠ±Ρ‹Π»ΡŒ для Ρ„ΠΈΠ· Π»ΠΈΡ† ΠΈ Π²Π²Π΅Π΄Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ:

ΠŸΡ€ΠΈΠ±Ρ‹Π»ΡŒ для Ρ„ΠΈΠ· Π»ΠΈΡ† = CALCULATE ( SUMX ( fact, fact[salesamount] - fact[discountamount] ), FILTER ( dimcustomer, dimcustomer[customertype] IN { "Person" } ) )

Π³Π΄Π΅:

  • fact[discountamount] – скидка, которая вычитаСтся ΠΈΠ· ΠΎΠ±Ρ‰Π΅ΠΉ суммы ΠΏΡ€ΠΎΠ΄Π°ΠΆ fact[salesamount];

  • функция FILTER Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ измСрСния dimcustomer ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ столбца customertype, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ€Π°Π²Π½ΠΎΠΌΡƒ Person - Ρ‚.Π΅. Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ физичСских Π»ΠΈΡ†.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° рассчитываСт сумму ΠΏΡ€ΠΈΠ±Ρ‹Π»ΠΈ для всСх Ρ„Π°ΠΊΡ‚ΠΎΠ², относящихся ΠΊ физичСским Π»ΠΈΡ†Π°ΠΌ.

Аналогичным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ создаСтся ΠΌΠ΅Ρ€Π° ΠŸΡ€ΠΈΠ±Ρ‹Π»ΡŒ для ΡŽΡ€ Π»ΠΈΡ† с Ρ‚Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ вмСсто fact[discountamount] ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ fact[bomus], Π° вмСсто IN {"Person"} Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ IN {"Company"}:

ΠŸΡ€ΠΈΠ±Ρ‹Π»ΡŒ для ΡŽΡ€ Π»ΠΈΡ† = CALCULATE ( SUMX ( fact, fact[salesamount] - fact[bonus] ), FILTER ( dimcustomer, dimcustomer[customertype] IN { "Company" } ) )

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ с использованиСм созданных ΠΌΠ΅Ρ€:

diagram(1)(1)(1).png

ΠŸΡ€ΠΈ слоТСнии Π΄Π²ΡƒΡ… Ρ„ΠΎΡ€ΠΌΡƒΠ», ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°:

CALCULATE ( SUMX (fact, fact[salesamount] - fact[discountamount]), FILTER (dimcustomer, dimcustomer[customertype] IN {"Person"} ) ) + CALCULATE ( SUMX (fact, fact[salesamount] - fact[bonus]), FILTER (dimcustomer, dimcustomer[customertype] IN {"Company"} ) )

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ DAX
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅Ρ€

НуТна Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒ?

Π‘Π²ΡΠΆΠΈΡ‚Π΅ΡΡŒ с тСхничСской ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ.

Β