analytics/pbi/report/Model/tables/Основной отчет.tmdl
2026-02-22 15:39:05 +03:00

1437 lines
54 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

table 'Основной отчет'
measure 'Сумма продаж + РК, руб' = ```
CALCULATE(
SUMX(
FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация"),
'Себестоимость'[Сумма plus МП, руб]) - SUM('Стоимость МП'[Расходы МП, руб]
) * (1 + 'Параметр цена продажи, %'[Значение Параметр цена продажи, %] / 100)
)
```
formatString: #,0
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Сумма учетная, руб' =
CALCULATE(
SUM('Себестоимость'[Учетная сумма, руб]) - SUM('Себестоимость'[Доп расходы])
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
) + [Учет.Списание товара, руб]
formatString: #,0
measure 'Учет.Закупка, руб' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Закупка] )
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
```
formatString: #,0
displayFolder: Учет
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Учет.НДС, руб' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[НДС])
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
```
formatString: #,0
displayFolder: Учет
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Учет.Таможня, руб' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Таможня])
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
```
formatString: #,0
displayFolder: Учет
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Учет.Доставка, руб' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Доставка])
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
```
formatString: #,0
displayFolder: Учет
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Сборка в другие товары, руб' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Закупка])
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Производство товара" )
)
```
formatString: #,0
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Сумма продаж + РК, usd' = ```
CALCULATE(
SUMX(
FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация"),
'Себестоимость'[Сумма plus МП, usd]) - SUM('Стоимость МП'[Расходы МП, usd]
) * (1 + 'Параметр цена продажи, %'[Значение Параметр цена продажи, %] / 100)
)
```
formatString: #,0
measure 'Сумма учетная, usd' =
CALCULATE(
SUM('Себестоимость'[Учетная сумма, usd]) - SUM('Себестоимость'[Доп расходы USD2+2])
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
) + [Учет.Списание товара, usd]
formatString: #,0
measure 'Учет.Закупка, usd' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Закупка, usd2] )
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
```
formatString: #,0
displayFolder: Учет
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Учет.Доставка, usd' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Доставка, usd] )
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
```
formatString: #,0
displayFolder: Учет
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Учет.НДС, usd' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[НДС, usd] )
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
```
formatString: #,0
displayFolder: Учет
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Учет.Таможня, usd' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Таможня, usd] )
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
```
formatString: #,0
displayFolder: Учет
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Сборка в другие товары, usd' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Закупка, usd2] )
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Производство товара" )
)
```
formatString: #,0
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Сборка из других товаров, руб' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Закупка])
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Приход" && 'Себестоимость'[Статья]="Производство товара" )
)
```
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Сборка из других товаров, usd' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Закупка, usd2])
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Приход" && 'Себестоимость'[Статья]="Производство товара" )
)
```
formatString: #,0
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Сумма продаж + МП + РК, руб' =
CALCULATE(
SUM('Себестоимость'[Сумма plus МП, руб]),
FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
formatString: #,0
measure 'Сумма продаж + МП + РК, usd' =
CALCULATE(
SUM('Себестоимость'[Сумма plus МП, usd]),
FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
formatString: #,0
measure 'MAT скользящая годовая, руб' = ```
CALCULATE(
[Сумма продаж + РК, руб],
DATESINPERIOD(
'.Календарь'[Дата],
MAX('.Календарь'[Дата]), -1, YEAR
)
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'Торг. надбавка, руб' = ```
[Сумма продаж, руб] - [Сумма учетная, руб]
```
formatString: #,0
measure 'Торг. надбавка, usd' = [Сумма продаж, usd] - [Сумма учетная, usd]
formatString: #,0
measure 'Торг. надбавка, руб, %' =
DIVIDE(
[Торг. надбавка, руб],
[Сумма учетная, руб]
) * 100
formatString: #,0
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Торг. надбавка, usd, %' =
DIVIDE(
[Торг. надбавка, usd],
[Сумма учетная, usd]
) * 100
formatString: #,0
annotation PBI_FormatHint = {"isDecimal":true}
measure 'MAT скользящая годовая сегодня, руб' = ```
CALCULATE(
[Сумма продаж + РК, руб],
DATESINPERIOD(
'.Календарь'[Дата],
TODAY() - 1, -1, YEAR
)
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'MTD Сумма продаж с начала месяца, руб' = ```
IF (
NOT ISBLANK([Сумма продаж + РК, руб]),
CALCULATE(
[Сумма продаж + РК, руб],
DATESMTD('.Календарь'[Дата])
)
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'MTD Сумма продаж с начала месяца, usd' = ```
IF (
NOT ISBLANK([Сумма продаж + РК, usd]),
CALCULATE(
[Сумма продаж + РК, usd],
DATESMTD('.Календарь'[Дата])
)
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'MAA скользящая среднегодовая' = ```
CALCULATE (
DIVIDE (
[Сумма продаж + РК, руб],
DISTINCTCOUNT ( '.Календарь'[Дата].[Месяц] )
),
DATESINPERIOD (
'.Календарь'[Дата],
MAX ('.Календарь'[Дата]), -1, YEAR)
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'PY Сумма продаж прошлый год, руб' = ```
CALCULATE(
[Сумма продаж + РК, руб],
SAMEPERIODLASTYEAR('.Календарь'[Дата])
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'YTD Сумма продаж с начала года, руб' = ```
IF (
NOT ISBLANK([Сумма продаж + РК, руб]),
CALCULATE(
[Сумма продаж + РК, руб],
DATESYTD('.Календарь'[Дата])
)
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'YTD Сумма продаж с начала года, usd' = ```
IF (
NOT ISBLANK ([Сумма продаж + РК, usd]),
CALCULATE(
[Сумма продаж + РК, usd],
DATESYTD('.Календарь'[Дата])
)
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'Средний чек' = DIVIDE('Основной отчет'[Сумма продаж + РК, руб], DISTINCTCOUNTNOBLANK('Себестоимость'[Номер заказа]), 0)
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Средний чек, usd' = DIVIDE('Основной отчет'[Сумма продаж + РК, usd], DISTINCTCOUNTNOBLANK('Себестоимость'[Номер заказа]), 0)
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Остаток - МП начало, упак' = ```
CALCULATE(
SUM('Остатки'[upakovok])
, REMOVEFILTERS('Остатки'[Дата])
, REMOVEFILTERS('.Календарь'[Дата])
, FILTER(
'Остатки'
,'Остатки'[Дата]<SELECTEDVALUE('.Календарь'[Дата],MIN('.Календарь'[Дата]))
)
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))
/*CALCULATE(
SUM('Остатки'[upakovok]),
FILTER(ALL('Остатки'[Дата]),'Остатки'[Дата]<SELECTEDVALUE('.Календарь'[Дата],MIN('.Календарь'[Дата])))
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))*/
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП конец, упак' = ```
CALCULATE(
SUM('Остатки'[upakovok])
, REMOVEFILTERS('Остатки'[Дата])
, REMOVEFILTERS('.Календарь'[Дата])
, FILTER(
'Остатки'
,'Остатки'[Дата]<=SELECTEDVALUE('.Календарь'[Дата],MAX('.Календарь'[Дата]))
)
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))
/*CALCULATE(
SUM('Остатки'[upakovok]),
FILTER('Остатки','Остатки'[Дата]<=SELECTEDVALUE('.Календарь'[Дата],MAX('.Календарь'[Дата])))
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))*/
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП начало, шт' = ```
CALCULATE(
SUM('Остатки'[quantity])
, REMOVEFILTERS('Остатки'[Дата])
, REMOVEFILTERS('.Календарь'[Дата])
, FILTER(
'Остатки'
,'Остатки'[Дата]<SELECTEDVALUE('.Календарь'[Дата],MIN('.Календарь'[Дата]))
)
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))
/*CALCULATE(
SUM('Остатки'[Quantity]),
FILTER(ALL('Остатки'[Дата]),'Остатки'[Дата]<SELECTEDVALUE('.Календарь'[Дата],MIN('.Календарь'[Дата]))),
FILTER('Остатки', [Категория склада] <> "Виртуальный"
))*/
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП конец, шт' = ```
CALCULATE(
SUM('Остатки'[quantity])
, REMOVEFILTERS('Остатки'[Дата])
, REMOVEFILTERS('.Календарь'[Дата])
, FILTER(
'Остатки'
,'Остатки'[Дата]<=SELECTEDVALUE('.Календарь'[Дата],MAX('.Календарь'[Дата]))
)
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))
/*CALCULATE(
SUM('Остатки'[Quantity]),
FILTER('Остатки','Остатки'[Дата]<=SELECTEDVALUE('.Календарь'[Дата],MAX('.Календарь'[Дата])))
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))*/
```
formatString: #,0
displayFolder: Остаток склад
measure 'Продажи за все время, руб' =
CALCULATE(
[Сумма продаж + РК, руб],
ALL('.Календарь'[Дата])
)
formatString: #,0
measure 'Продажи за все время, шт' =
CALCULATE(
[Количество продаж, шт],
ALL('.Календарь'[Дата])
)
formatString: #,0
displayFolder: Количество
measure 'Количество продаж, шт' =
CALCULATE(
SUM('Себестоимость'[Количество]),
FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
formatString: #,0
displayFolder: Количество
measure 'Остаток - МП начало, руб' = ```
CALCULATE(
SUM('Остатки'[quantity в руб])
, REMOVEFILTERS('Остатки'[Дата])
, REMOVEFILTERS('.Календарь'[Дата])
, FILTER(
'Остатки'
,'Остатки'[Дата]<SELECTEDVALUE('.Календарь'[Дата],MIN('.Календарь'[Дата]))
)
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))
/*CALCULATE(
SUM('Остатки'[quantity в руб]),
FILTER(ALL('Остатки'[Дата]),'Остатки'[Дата]<SELECTEDVALUE('.Календарь'[Дата],MIN('.Календарь'[Дата]))),
FILTER('Остатки', [Категория склада] <> "Виртуальный"
))*/
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП начало, usd' = ```
CALCULATE(
SUM('Остатки'[quantity в usd])
, REMOVEFILTERS('Остатки'[Дата])
, REMOVEFILTERS('.Календарь'[Дата])
, FILTER(
'Остатки'
,'Остатки'[Дата]<SELECTEDVALUE('.Календарь'[Дата],MIN('.Календарь'[Дата]))
)
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))
/*CALCULATE(
SUM('Остатки'[quantity в usd]),
FILTER(ALL('Остатки'[Дата]),'Остатки'[Дата]<SELECTEDVALUE('.Календарь'[Дата],MIN('.Календарь'[Дата]))),
FILTER('Остатки', [Категория склада] <> "Виртуальный"
))*/
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП конец, руб' = ```
CALCULATE(
SUM('Остатки'[quantity в руб])
, REMOVEFILTERS('Остатки'[Дата])
, REMOVEFILTERS('.Календарь'[Дата])
, FILTER(
'Остатки'
,'Остатки'[Дата]<=SELECTEDVALUE('.Календарь'[Дата],MAX('.Календарь'[Дата]))
)
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))
/*CALCULATE(
SUM('Остатки'[quantity в руб]),
FILTER('Остатки','Остатки'[Дата]<=SELECTEDVALUE('.Календарь'[Дата],MAX('.Календарь'[Дата])))
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))*/
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП конец, usd' = ```
CALCULATE(
SUM('Остатки'[quantity в usd])
, REMOVEFILTERS('Остатки'[Дата])
, REMOVEFILTERS('.Календарь'[Дата])
, FILTER(
'Остатки'
,'Остатки'[Дата]<=SELECTEDVALUE('.Календарь'[Дата],MAX('.Календарь'[Дата]))
)
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))
/*CALCULATE(
SUM('Остатки'[quantity в usd]),
FILTER('Остатки','Остатки'[Дата]<=SELECTEDVALUE('.Календарь'[Дата],MAX('.Календарь'[Дата])))
, FILTER('Остатки', [Категория склада] <> "Виртуальный"
))*/
```
formatString: #,0
displayFolder: Остаток склад
measure Оборачиваемость = ```
DIVIDE(
[Сумма учетная, руб],
(('Основной отчет'[Остаток - МП конец, руб] + 'Основной отчет'[Остаток - МП начало, руб])/2 )
)
```
displayFolder: Показатели эффективности
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Оборачиваемость, usd' = ```
DIVIDE(
[Сумма учетная, usd],
(('Основной отчет'[Остаток - МП конец, usd] + 'Основной отчет'[Остаток - МП начало, usd])/2 )
)
```
displayFolder: Показатели эффективности
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Рентаб. активов' = 'Основной отчет'[Оборачиваемость] * 'Основной отчет'[Торг. надбавка, руб, %]
formatString: #,0
displayFolder: Показатели эффективности
measure 'Рентаб. активов, usd' = 'Основной отчет'[Оборачиваемость, usd] * 'Основной отчет'[Торг. надбавка, usd, %]
formatString: #,0
displayFolder: Показатели эффективности
measure КоэфВозвратаUsd = DIVIDE([Сумма продаж + РК, usd], [Сумма закупки, usd], 0)
displayFolder: Показатели эффективности
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure КоэфВозвратаРуб = DIVIDE([Сумма продаж + РК, руб], [Сумма закупки, руб], 0)
displayFolder: Показатели эффективности
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Сальдо, руб' = [Сумма продаж + РК, руб] - [Сумма закупки, руб]
formatString: #,0
displayFolder: Показатели эффективности
measure 'Сальдо, usd' = [Сумма продаж + РК, usd] - [Сумма закупки, usd]
formatString: #,0
displayFolder: Показатели эффективности
measure 'Сальдо накопит. руб' =
CALCULATE(
[Сальдо, руб],
FILTER(
ALLSELECTED('.Календарь'[Дата]),
ISONORAFTER('.Календарь'[Дата], MAX('.Календарь'[Дата]), DESC)
)
)
formatString: #,0
displayFolder: Показатели эффективности
measure 'Сальдо накопит. usd' =
CALCULATE(
[Сальдо, usd],
FILTER(
ALLSELECTED('.Календарь'[Дата]),
ISONORAFTER('.Календарь'[Дата], MAX('.Календарь'[Дата]), DESC)
)
)
formatString: #,0
displayFolder: Показатели эффективности
measure 'Хранение.Продажа, руб' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[ЗатратыСкладХранение] )
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
```
displayFolder: Учет
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Хранение.Закупка, руб' = ```
CALCULATE(
(
SUM('Себестоимость'[ЗатратыСкладХранение] )
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Приход" && 'Себестоимость'[Статья]="Склад хранение")
)
```
displayFolder: Учет
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Количество заказов' =
CALCULATE(
DISTINCTCOUNTNOBLANK('Себестоимость'[Номер заказа]),
FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
formatString: #,0
displayFolder: Количество
measure 'Артикулы продающие' =
CALCULATE(
DISTINCTCOUNTNOBLANK('Себестоимость'[artic_id]),
FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
formatString: #,0
displayFolder: Количество
measure 'PY Прирост к прошлому году, руб' = ```
VAR CySales = [Сумма продаж + РК, руб]
VAR PySales = [PY Сумма продаж прошлый год, руб]
VAR YoySales =
IF (
NOT ISBLANK ( CySales ) && NOT ISBLANK ( PySales ),
CySales - PySales
)
RETURN
YoySales
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'PY Прирост к прошлому году, %' = ```
DIVIDE(
[PY Прирост к прошлому году, руб],
[PY Сумма продаж прошлый год, руб]
)
```
formatString: #,0%;-#,0%;#,0%
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'Сборка в другие товары, шт' = ```
CALCULATE(
SUM('Себестоимость'[Количество])
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Производство товара" )
)
```
formatString: #,0
displayFolder: Количество
measure 'Сборка из других товаров, шт' = ```
CALCULATE(
SUM('Себестоимость'[Количество])
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Приход" && 'Себестоимость'[Статья]="Производство товара" )
)
```
formatString: #,0
displayFolder: Количество
measure 'Количество продаж, упак' =
CALCULATE(
SUM('Себестоимость'[КоличествоУпаковок]),
FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
formatString: #,0
displayFolder: Количество
measure 'PP Продажи прошлый период, руб' = ```
VAR StartDate = MIN( '.Календарь'[Дата] )
VAR EndDate = MAX( '.Календарь'[Дата] )
VAR PeriodLength = DATEDIFF( StartDate, EndDate, DAY )
RETURN
CALCULATE(
[Сумма продаж + РК, руб],
DATESBETWEEN(
'.Календарь'[Дата],
StartDate - PeriodLength - 1,
StartDate - 1
)
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'PP Прирост к прошлому периоду, руб' = ```
VAR CySales = [Сумма продаж + РК, руб]
VAR PySales = [PP Продажи прошлый период, руб]
VAR YoySales =
IF (
NOT ISBLANK ( CySales ) && NOT ISBLANK ( PySales ),
CySales - PySales
)
RETURN
YoySales
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'PP Прирост к прошлому периоду, руб, %' = ```
DIVIDE(
[PP Прирост к прошлому периоду, руб],
[PP Продажи прошлый период, руб]
)
```
formatString: 0%;-0%;0%
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'PP Продажи прошлый период, шт' = ```
VAR StartDate = MIN( '.Календарь'[Дата] )
VAR EndDate = MAX( '.Календарь'[Дата] )
VAR PeriodLength = DATEDIFF( StartDate, EndDate, DAY )
RETURN
CALCULATE(
[Количество продаж, шт],
DATESBETWEEN(
'.Календарь'[Дата],
StartDate - PeriodLength - 1,
StartDate - 1
)
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'PP Прирост к прошлому периоду, шт' = ```
VAR CySales = [Количество продаж, шт]
VAR PySales = [PP Продажи прошлый период, шт]
VAR YoySales =
IF (
NOT ISBLANK ( CySales ) && NOT ISBLANK ( PySales ),
CySales - PySales
)
RETURN
YoySales
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'PP Прирост к прошлому периоду, шт, %' = ```
DIVIDE(
[PP Прирост к прошлому периоду, шт],
[PP Продажи прошлый период, шт]
)
```
formatString: 0%;-0%;0%
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'PP Продажи прошлый период, упак' = ```
VAR StartDate = MIN( '.Календарь'[Дата] )
VAR EndDate = MAX( '.Календарь'[Дата] )
VAR PeriodLength = DATEDIFF( StartDate, EndDate, DAY )
RETURN
CALCULATE(
[Количество продаж, упак],
DATESBETWEEN(
'.Календарь'[Дата],
StartDate - PeriodLength - 1,
StartDate - 1
)
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'PP Прирост к прошлому периоду, упак' = ```
VAR CySales = [Количество продаж, упак]
VAR PySales = [PP Продажи прошлый период, упак]
VAR YoySales =
IF (
NOT ISBLANK ( CySales ) && NOT ISBLANK ( PySales ),
CySales - PySales
)
RETURN
YoySales
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'PP Прирост к прошлому периоду, упак, %' = ```
DIVIDE(
[PP Прирост к прошлому периоду, упак],
[PP Продажи прошлый период, упак]
)
```
formatString: 0%;-0%;0%
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'YTD Сумма продаж с начала года, шт' = ```
IF (
NOT ISBLANK([Количество продаж, шт]),
CALCULATE(
[Количество продаж, шт],
DATESYTD('.Календарь'[Дата])
)
)
```
formatString: #,0
displayFolder: MAA, MAT, MTD, PY, YTD
measure 'Оборачиваемость, шт' = ```
DIVIDE(
[Количество продаж, шт],
(('Основной отчет'[Остаток - МП конец, шт] + 'Основной отчет'[Остаток - МП начало, шт])/2 )
)
```
displayFolder: Показатели эффективности
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Остаток - МП средний, шт' = DIVIDE(([Остаток - МП начало, шт] + [Остаток - МП конец, шт]), 2, 0)
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток конец по последней закупке, руб' =
SUMX('Номенклатура', 'Номенклатура'[Цена учетная последняя известная, руб] * [Остаток - МП конец, шт])
formatString: #,0
isHidden
displayFolder: Остаток склад
changedProperty = IsHidden
measure 'Остаток конец по средней закупке, руб' =
VAR EndDate = MAX('.Календарь'[Дата].[Date])
RETURN
CALCULATE(
SUMX('Номенклатура', [Остаток - МП конец, шт] * [Цена учетная по закупкам, руб]),
FILTER(
ALL('.Календарь'), -- Убираем фильтр по дате
'.Календарь'[Дата] <= EndDate
)
)
formatString: #,0
isHidden
displayFolder: Остаток склад
changedProperty = IsHidden
measure 'Остаток, упак' = [Остаток - МП конец, упак] + sum('mp остатки'[Остаток МП, упак])
displayFolder: Остаток склад
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Остаток потенциальный + согласование, упак' = ```
[Остаток - МП конец, упак]
+ sum('mp остатки'[Остаток МП, упак])
+ [В производстве упак.]
+ [В пути упак.]
+ [Согласование упак.]
```
formatString: #,0
displayFolder: Остаток склад
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Торг. надбавка - 70р за упак, руб' = [Торг. надбавка, руб] - 70 /1000 * [Количество продаж, упак]
formatString: #,0
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Количество строк' =
COUNTROWS(
FILTER(
'Себестоимость',
'Себестоимость'[Статья] = "Реализация"
)
)
formatString: 0
displayFolder: Количество
measure 'Потенциальный остаток, руб' = [Остаток - МП конец, руб] + 'Заказы все'[В производстве сумма всего в руб] + 'Заказы все'[В пути сумма всего в руб] + 'Заказы все'[Тех заказ сумма всего в руб]
formatString: #,0
displayFolder: Аналитика
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Потенциальная ТН' = [Потенциальный остаток, руб] * [Торг. надбавка, руб, %] / 100
displayFolder: Аналитика
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Оборачиваемость + 20%' = [Оборачиваемость] * 1.2
displayFolder: Аналитика
annotation PBI_FormatHint = {"isGeneralNumber":true}
measure 'Сумма скидки, руб' = SUM('Себестоимость'[Сумма скидки])
formatString: #,0
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Остаток - МП конец, кг' = ```
SUMX('Номенклатура',
DIVIDE(
[Остаток - МП конец, шт] * COALESCE('Номенклатура'[Числитель веса], 0),
COALESCE('Номенклатура'[Знаменатель веса], 1)))
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП конец, м3' = ```
SUMX('Номенклатура',
DIVIDE(
[Остаток - МП конец, шт] * COALESCE('Номенклатура'[Числитель объема], 0),
COALESCE('Номенклатура'[Знаменатель объема], 1)))
```
formatString: #,0
displayFolder: Остаток склад
measure 'Учет.Доп расходы, руб' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Доп расходы])
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
```
formatString: #,0
displayFolder: Учет
measure 'Учет.Доп расходы, usd' = ```
CALCULATE(
-1 * (
SUM('Себестоимость'[Доп расходы USD2+2])
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
```
formatString: #,0
displayFolder: Учет
measure 'Остаток потенциальный - МП, шт' = ```
[Остаток - МП конец, шт]
+ [В производстве кол]
+ [В пути кол.]
```
formatString: #,0
displayFolder: Остаток склад
measure 'Количество партнеров' =
CALCULATE(
DISTINCTCOUNTNOBLANK('Себестоимость'[PartnerId]),
FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Реализация")
)
formatString: #,0
displayFolder: Количество
measure 'Остаток потенциальный, упак' = ```
[Остаток - МП конец, упак]
+ sum('mp остатки'[Остаток МП, упак])
+ [В производстве упак.]
+ [В пути упак.]
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток потенциальный - МП, руб' = ```
[Остаток - МП конец, руб] +
[В пути сумма всего в руб] +
[В производстве сумма всего в руб]
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток, шт' = [Остаток - МП конец, шт] + sum('mp остатки'[Остаток МП, шт])
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток, руб' = [Остаток - МП конец, руб] + sum('mp остатки'[Остаток МП, руб])
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток потенциальный, шт' = ```
[Остаток - МП конец, шт]
+ sum('mp остатки'[Остаток МП, шт])
+ [В производстве кол]
+ [В пути кол.]
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток потенциальный, руб' = ```
[Остаток - МП конец, руб]
+ sum('mp остатки'[Остаток МП, руб])
+ [В производстве сумма всего в руб]
+ [В пути сумма всего в руб]
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП средний, руб' = ```
('Основной отчет'[Остаток - МП конец, руб] + 'Основной отчет'[Остаток - МП начало, руб])/2
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП средний, usd' = ```
('Основной отчет'[Остаток - МП конец, usd] + 'Основной отчет'[Остаток - МП начало, usd])/2
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП средний, упак' = ```
('Основной отчет'[Остаток - МП конец, упак] + 'Основной отчет'[Остаток - МП начало, упак])/2
```
formatString: #,0
displayFolder: Остаток склад
measure 'Сумма продаж, руб' =
[Сумма продаж + РК, руб] - SUM('mp реклама'[Затраты РК, руб])
formatString: #,0
measure 'Торг. надбавка + РК, руб' = ```
[Сумма продаж + РК, руб] - [Сумма учетная, руб]
```
formatString: #,0
measure 'Учет.Списание товара, руб' = ```
CALCULATE(
1 * (
SUM('Себестоимость'[Сумма учетная])
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Списание товара")
)
```
formatString: #,0
displayFolder: Учет
measure 'Учет.Списание товара, usd' = ```
CALCULATE(
1 * (
SUM('Себестоимость'[Сумма учетная, usd])
)
, FILTER('Себестоимость','Себестоимость'[Вид операции]="Расход" && 'Себестоимость'[Статья]="Списание товара")
)
```
formatString: #,0
displayFolder: Учет
measure 'Сумма продаж Маркеты, руб' = ```
CALCULATE(
[Сумма продаж, руб],
FILTER('Партнер', 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Сумма продаж Маркеты, usd' = ```
CALCULATE(
[Сумма продаж, usd],
FILTER('Партнер', 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Сумма продаж Магок, руб' = ```
CALCULATE(
[Сумма продаж, руб],
FILTER('Партнер', NOT 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Сумма продаж Магок, usd' = ```
CALCULATE(
[Сумма продаж, usd],
FILTER('Партнер', NOT 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Торг. надбавка Маркеты, руб' = ```
CALCULATE(
[Торг. надбавка, руб],
FILTER('Партнер', 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Торг. надбавка Маркеты, usd' = ```
CALCULATE(
[Торг. надбавка, usd],
FILTER('Партнер', 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Торг. надбавка Магок, руб' = ```
CALCULATE(
[Торг. надбавка, руб],
FILTER('Партнер', NOT 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Торг. надбавка Магок, usd' = ```
CALCULATE(
[Торг. надбавка, usd],
FILTER('Партнер', NOT 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Торг. надбавка Маркеты, руб, %' = ```
CALCULATE(
[Торг. надбавка, руб, %],
FILTER('Партнер', 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Торг. надбавка Маркеты, usd, %' = ```
CALCULATE(
[Торг. надбавка, usd, %],
FILTER('Партнер', 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Торг. надбавка Магок, руб, %' = ```
CALCULATE(
[Торг. надбавка, руб, %],
FILTER('Партнер', NOT 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Торг. надбавка Магок, usd, %' = ```
CALCULATE(
[Торг. надбавка, usd, %],
FILTER('Партнер', NOT 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
annotation PBI_FormatHint = {"isDecimal":true}
measure 'Продажи Маркеты, шт' = ```
CALCULATE(
[Количество продаж, шт],
FILTER('Партнер', 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Продажи Маркеты, упак' = ```
CALCULATE(
[Количество продаж, упак],
FILTER('Партнер', 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Продажи Магок, шт' = ```
CALCULATE(
[Количество продаж, шт],
FILTER('Партнер', NOT 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Продажи Магок, упак' = ```
CALCULATE(
[Количество продаж, упак],
FILTER('Партнер', NOT 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Остаток - МП - резерв, руб' = ```
[Остаток - МП конец, руб] - SUM('Резервы'[В резерве всего, руб])
```
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП - резерв, шт' = [Остаток - МП конец, шт] - SUM('Резервы'[В резерве всего, шт])
formatString: #,0
displayFolder: Остаток склад
measure 'Остаток - МП - резерв, упак' = [Остаток - МП конец, упак] - SUM('Резервы'[В резерве всего, упак])
formatString: #,0
displayFolder: Остаток склад
measure 'Торг. надбавка + РК, руб, %' =
DIVIDE(
[Торг. надбавка + РК, руб],
[Сумма учетная, руб]
) * 100
formatString: #,0
measure 'ДРР реальный от продаж, %' = ```
DIVIDE(
SUM('mp реклама'[Затраты РК, руб]),
'Основной отчет'[Сумма продаж + МП + РК, руб], 1)
```
formatString: #,0%;-#,0%;#,0%
displayFolder: Показатели эффективности
measure 'Сумма продаж, usd' =
[Сумма продаж + РК, usd] - SUM('mp реклама'[Затраты РК, usd])
formatString: #,0
measure 'Торг. надбавка + РК, usd' = ```
[Сумма продаж + РК, usd] - [Сумма учетная, usd]
```
formatString: #,0
measure 'Торг. надбавка + РК, usd, %' =
DIVIDE(
[Торг. надбавка + РК, usd],
[Сумма учетная, usd]
) * 100
formatString: #,0
measure 'Сумма продаж + РК Маркеты, usd' = ```
CALCULATE(
[Сумма продаж + РК, usd],
FILTER('Партнер', 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Сумма продаж + РК Маркеты, руб' = ```
CALCULATE(
[Сумма продаж + РК, руб],
FILTER('Партнер', 'Партнер'[Партнер] IN {"ВАЙЛДБЕРРИЗ ООО", "ИНТЕРНЕТ РЕШЕНИЯ ООО",
"ИНТЕРНЕТ РЕШЕНИЯ ООО юр. лица", "ЯНДЕКС.МАРКЕТ ООО", "ЯНДЕКС.МАРКЕТ ООО юр.лица"})
)
```
formatString: #,0
displayFolder: Магок и маркеты
measure 'Продажи за год, руб' = ```
CALCULATE(
[Сумма продаж + РК, руб],
ALLEXCEPT('.Календарь', '.Календарь'[Дата].[Год])
)
```
formatString: #,0
measure 'Торг. надбавка + МП + РК, руб' = ```
[Сумма продаж + МП + РК, руб] - [Сумма учетная, руб]
```
formatString: #,0
partition 'Основной отчет' = m
mode: import
source =
let
Источник = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlSKjQUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Столбец1 = _t]),
#"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Столбец1", Int64.Type}}),
#"Удаленные столбцы" = Table.RemoveColumns(#"Измененный тип",{"Столбец1"})
in
#"Удаленные столбцы"
annotation PBI_ResultType = Table