table 'План продаж по группам' measure 'План продаж месяц, usd' = ``` VAR PlanGroups = SUMMARIZE( 'Номенклатура', 'Группы'[first group], 'Номенклатура'[Менеджер по закупкам], 'Номенклатура'[Товарный менеджер] ) VAR FilterPlanGroups = TREATAS( PlanGroups, 'План продаж по группам'[group_id], 'План продаж по группам'[Менеджер по закупкам], 'План продаж по группам'[Товарный менеджер] ) VAR Result = CALCULATE( SUM('План продаж по группам'[План продаж, usd]), KEEPFILTERS(FilterPlanGroups), FILTER('План продаж по группам',MONTH('План продаж по группам'[Месяц]) = MONTH(MAX('.Календарь'[Дата]))), FILTER('План продаж по группам',YEAR('План продаж по группам'[Месяц]) = YEAR(MAX('.Календарь'[Дата]))) ) RETURN Result ``` formatString: #,0 displayFolder: План по группам usd annotation PBI_FormatHint = {"isDecimal":true} measure 'План год, usd' = ``` VAR PlanGroups = SUMMARIZE( 'Номенклатура', 'Группы'[first group], 'Номенклатура'[Менеджер по закупкам], 'Номенклатура'[Товарный менеджер] ) VAR FilterPlanGroups = TREATAS( PlanGroups, 'План продаж по группам'[group_id], 'План продаж по группам'[Менеджер по закупкам], 'План продаж по группам'[Товарный менеджер] ) VAR Result = CALCULATE( SUM('План продаж по группам'[План продаж, usd]), KEEPFILTERS(FilterPlanGroups), FILTER('План продаж по группам',YEAR('План продаж по группам'[Месяц]) = YEAR(MAX('.Календарь'[Дата]))) ) RETURN Result ``` formatString: #,0 displayFolder: План по группам usd annotation PBI_FormatHint = {"isDecimal":true} measure '% план год' = ``` DIVIDE ( [Сумма продаж + РК, usd], [План год, usd], BLANK() ) ``` formatString: 0.00%;-0.00%;0.00% displayFolder: План по группам usd measure '% план месяц' = ``` DIVIDE ( [Сумма продаж + РК, usd], [План продаж месяц, usd], BLANK() ) ``` formatString: 0.00%;-0.00%;0.00% displayFolder: План по группам usd measure 'Аппроксимация год, usd' = ``` VAR CySales = [Сумма продаж + РК, usd] VAR LastSalesDay = INT( LASTNONBLANK('.Календарь'[Дата], [Сумма продаж + РК, usd] > 0) - STARTOFYEAR('.Календарь'[Дата].[Date]) ) + 1 VAR YearDays = INT( ENDOFYEAR('.Календарь'[Дата].[Date]) - STARTOFYEAR('.Календарь'[Дата].[Date]) ) + 1 VAR Approx = IF( NOT ISBLANK ( CySales ), DIVIDE( 'Основной отчет'[YTD Сумма продаж с начала года, usd] * YearDays , LastSalesDay ) ) RETURN Approx ``` formatString: #,0 displayFolder: План по группам usd measure 'Аппроксимация месяц, usd' = ``` VAR CySales = [Сумма продаж + РК, usd] VAR LastSalesDay = DAY(LASTNONBLANK('.Календарь'[Дата], [Сумма продаж + РК, usd] > 0)) VAR MonthDays = DAY(EOMONTH(MAX('.Календарь'[Дата]), 0)) VAR Approx = IF( NOT ISBLANK ( CySales ), DIVIDE( 'Основной отчет'[MTD Сумма продаж с начала месяца, usd] * MonthDays , LastSalesDay ) ) RETURN Approx ``` formatString: #,0 displayFolder: План по группам usd measure 'Аппроксим. год usd, %' = ``` DIVIDE( [Аппроксимация год, usd], [План год, usd] ) ``` formatString: 0.00%;-0.00%;0.00% displayFolder: План по группам usd measure 'Аппроксим. месяц usd, %' = ``` DIVIDE( [Аппроксимация месяц, usd], [План продаж месяц, usd] ) ``` formatString: 0.00%;-0.00%;0.00% displayFolder: План по группам usd measure 'Аппроксимация год, шт' = ``` VAR CySales = [Количество продаж, шт] VAR LastSalesDay = INT( LASTNONBLANK('.Календарь'[Дата], [Количество продаж, шт] > 0) - STARTOFYEAR('.Календарь'[Дата].[Date]) ) + 1 VAR YearDays = INT( ENDOFYEAR('.Календарь'[Дата].[Date]) - STARTOFYEAR('.Календарь'[Дата].[Date]) ) + 1 VAR Approx = IF( NOT ISBLANK ( CySales ), DIVIDE( 'Основной отчет'[YTD Сумма продаж с начала года, шт] * YearDays , LastSalesDay ) ) RETURN Approx ``` formatString: #,0 measure 'План закупки ост. период, шт' = ``` [Аппроксимация год, шт] - [YTD Сумма продаж с начала года, шт] - 'Заказы все'[В производстве кол] - 'Заказы все'[В пути кол.] - [Остаток - МП конец, шт] + [Остаток - МП средний, шт] ``` formatString: #,0 displayFolder: План закупки measure 'План закупки ост. период, руб' = SUMX('Номенклатура', [Учетная цена (руб)] * [План закупки ост. период, шт] / 1000) formatString: #,0 displayFolder: План закупки measure 'План закупки ост. период, usd' = DIVIDE([План закупки ост. период, руб], [Курс TODAY-1, usd2], 0) formatString: #,0 displayFolder: План закупки measure 'План год, руб' = ``` VAR PlanGroups = SUMMARIZE( 'Номенклатура', 'Группы'[first group], 'Номенклатура'[Менеджер по закупкам], 'Номенклатура'[Товарный менеджер] ) VAR FilterPlanGroups = TREATAS( PlanGroups, 'План продаж по группам'[group_id], 'План продаж по группам'[Менеджер по закупкам], 'План продаж по группам'[Товарный менеджер] ) VAR Result = CALCULATE( SUM('План продаж по группам'[План продаж, руб]), KEEPFILTERS(FilterPlanGroups), FILTER('План продаж по группам',YEAR('План продаж по группам'[Месяц]) = YEAR(MAX('.Календарь'[Дата]))) ) RETURN Result ``` formatString: #,0 displayFolder: План по группам руб annotation PBI_FormatHint = {"isDecimal":true} measure 'План продаж месяц, руб' = ``` VAR PlanGroups = SUMMARIZE( 'Номенклатура', 'Группы'[first group], 'Номенклатура'[Менеджер по закупкам], 'Номенклатура'[Товарный менеджер] ) VAR FilterPlanGroups = TREATAS( PlanGroups, 'План продаж по группам'[group_id], 'План продаж по группам'[Менеджер по закупкам], 'План продаж по группам'[Товарный менеджер] ) VAR Result = CALCULATE( SUM('План продаж по группам'[План продаж, руб]), KEEPFILTERS(FilterPlanGroups), FILTER('План продаж по группам',MONTH('План продаж по группам'[Месяц]) = MONTH(MAX('.Календарь'[Дата]))), FILTER('План продаж по группам',YEAR('План продаж по группам'[Месяц]) = YEAR(MAX('.Календарь'[Дата]))) ) RETURN Result ``` formatString: #,0 displayFolder: План по группам руб annotation PBI_FormatHint = {"isDecimal":true} measure '% план год (р)' = ``` DIVIDE ( [Сумма продаж + РК, руб], [План год, руб], BLANK() ) ``` formatString: 0.00%;-0.00%;0.00% displayFolder: План по группам руб measure '% план месяц (р)' = ``` DIVIDE ( [Сумма продаж + РК, руб], [План продаж месяц, руб], BLANK() ) ``` formatString: 0.00%;-0.00%;0.00% displayFolder: План по группам руб measure 'Аппроксимация год по группам, руб' = ``` VAR CySales = [Сумма продаж + РК, руб] VAR LastSalesDay = INT( LASTNONBLANK('.Календарь'[Дата], [Сумма продаж + РК, руб] > 0) - STARTOFYEAR('.Календарь'[Дата].[Date]) ) + 1 VAR YearDays = INT( ENDOFYEAR('.Календарь'[Дата].[Date]) - STARTOFYEAR('.Календарь'[Дата].[Date]) ) + 1 VAR Approx = IF( NOT ISBLANK ( CySales ), DIVIDE( 'Основной отчет'[YTD Сумма продаж с начала года, руб] * YearDays , LastSalesDay ) ) RETURN Approx ``` formatString: #,0 displayFolder: План по группам руб measure 'Аппроксимация месяц по группам, руб' = ``` VAR CySales = [Сумма продаж + РК, руб] VAR LastSalesDay = DAY(LASTNONBLANK('.Календарь'[Дата], [Сумма продаж + РК, руб] > 0)) VAR MonthDays = DAY(EOMONTH(MAX('.Календарь'[Дата]), 0)) VAR Approx = IF( NOT ISBLANK ( CySales ), DIVIDE( 'Основной отчет'[MTD Сумма продаж с начала месяца, руб] * MonthDays , LastSalesDay ) ) RETURN Approx ``` formatString: #,0 displayFolder: План по группам руб measure 'Аппроксим. год по группам руб, %' = ``` DIVIDE( [Аппроксимация год по группам, руб], [План год, руб] ) ``` formatString: 0.00%;-0.00%;0.00% displayFolder: План по группам руб measure 'Аппроксим. месяц по группам руб, %' = ``` DIVIDE( [Аппроксимация месяц по группам, руб], [План продаж месяц, руб] ) ``` formatString: 0.00%;-0.00%;0.00% displayFolder: План по группам руб column Месяц dataType: dateTime isHidden formatString: Long Date summarizeBy: none sourceColumn: Месяц variation Изменение isDefault relationship: 6bdd8855-c6d2-4c21-b90f-cb9f0b0bd52e defaultHierarchy: LocalDateTable_704570fc-e0c6-4914-97ab-ebb645a2ab6e.'Иерархия дат' changedProperty = IsHidden annotation SummarizationSetBy = Automatic annotation UnderlyingDateTimeDataType = Date column 'План продаж, usd' dataType: double isHidden formatString: #,0 summarizeBy: sum sourceColumn: План продаж, usd changedProperty = IsHidden annotation SummarizationSetBy = Automatic annotation PBI_FormatHint = {"isDecimal":true} column group_id dataType: string isHidden summarizeBy: none sourceColumn: group_id changedProperty = IsHidden annotation SummarizationSetBy = Automatic column 'Товарный менеджер' dataType: string isHidden summarizeBy: none sourceColumn: Товарный менеджер changedProperty = IsHidden annotation SummarizationSetBy = Automatic column 'Менеджер по закупкам' dataType: string isHidden summarizeBy: none sourceColumn: Менеджер по закупкам changedProperty = IsHidden annotation SummarizationSetBy = Automatic column 'План продаж, руб' = 'План продаж по группам'[План продаж, usd] * 102 isHidden formatString: #,0 summarizeBy: sum changedProperty = IsHidden annotation SummarizationSetBy = Automatic annotation PBI_FormatHint = {"isDecimal":true} partition 'План продаж по группам' = m mode: import source = let Источник = Sql.Database("prdsql", "mag_pbi"), pbi_ПланыПродажПоГруппам = Источник{[Schema="pbi",Item="ПланыПродажПоГруппам"]}[Data], #"Измененный тип" = Table.TransformColumnTypes(pbi_ПланыПродажПоГруппам,{{"Месяц", type date}}), #"Переименованные столбцы" = Table.RenameColumns(#"Измененный тип",{{"План продаж", "План продаж, usd"}}) in #"Переименованные столбцы" annotation PBI_ResultType = Table