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( 'Остатки' ,'Остатки'[Дата] "Виртуальный" )) /*CALCULATE( SUM('Остатки'[upakovok]), FILTER(ALL('Остатки'[Дата]),'Остатки'[Дата] "Виртуальный" ))*/ ``` 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( 'Остатки' ,'Остатки'[Дата] "Виртуальный" )) /*CALCULATE( SUM('Остатки'[Quantity]), FILTER(ALL('Остатки'[Дата]),'Остатки'[Дата] "Виртуальный" ))*/ ``` 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( 'Остатки' ,'Остатки'[Дата] "Виртуальный" )) /*CALCULATE( SUM('Остатки'[quantity в руб]), FILTER(ALL('Остатки'[Дата]),'Остатки'[Дата] "Виртуальный" ))*/ ``` formatString: #,0 displayFolder: Остаток склад measure 'Остаток - МП начало, usd' = ``` CALCULATE( SUM('Остатки'[quantity в usd]) , REMOVEFILTERS('Остатки'[Дата]) , REMOVEFILTERS('.Календарь'[Дата]) , FILTER( 'Остатки' ,'Остатки'[Дата] "Виртуальный" )) /*CALCULATE( SUM('Остатки'[quantity в usd]), FILTER(ALL('Остатки'[Дата]),'Остатки'[Дата] "Виртуальный" ))*/ ``` 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