analytics/pbi/model/report/Model/tables/План продаж по группам.tmdl
2026-02-18 14:36:38 +03:00

437 lines
15 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 'План продаж месяц, 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