Как сделать накопительное с дублирующим значением - PullRequest
0 голосов
/ 11 июля 2019

[http://uupload.ir/view/v2t_capture.png] У нас есть 2 таблицы с 2 столбцами:

  1. расположение таблицы -> столбец -> город, провинция
  2. таблица продаж колонка -> фактические продажи
table location : table sales 
province  city       id     sales
tehran    eslamshar  1      100
tehran    rey        2      500
hamedan   tefresh    3      500
esfahan   esahan     4      400
gilan     rasht      5      400
gilan     rar        6      900

Я хочу рассчитать 80% от общего объема продаж в каждом городе и каждой провинции. это означает, что если у нас 2800 общих продаж во всей провинции, мы хотим просто показать провинцию, которая сократила бы 80% продаж:

Я использую этот показатель, но у него есть одна проблема: дублирующее значение не учитывается в совокупной сумме.

Если у меня две одинаковые продажи, например, 900, она не учитывается в совокупности и игнорирует ее.

Cumulative Total =
IF (
    NOT ( ISBLANK ( [sales] ) ),
    CALCULATE (
        [sales],
        FILTER (
            ALL ( DimLocation[Province] ),
            CALCULATE ( [sales], VALUES ( DimLocation[Province] ) ) <= [sales]
        )
    )
)

Ожидаемый результат:

        sales   cumulative
tehran  800 800
shiraz  200 1000
ghom    200 400
markazi 300 500

Выход:

tehran  800 800
shiraz  200 1000
ghom    200 1000
markazi 300 500

1 Ответ

0 голосов
/ 22 июля 2019

Для промежуточного итога вы можете создать эту меру:

RT Province Sales := 
VAR _current = SELECTEDVALUE ( DimLocation[Province] )
RETURN
    CALCULATE (
        [Sales], 
        DimLocation[Province] <= _current , 
        ALL ( DimLocation[Province] )
    )
...