ABC классификация - динамическая - PullRequest
0 голосов
/ 13 ноября 2018

Недавно, в поисках решения динамической классификации ABC, я нашел учебное пособие по https://www.daxpatterns.com/abc-classification-dynamic/.. Оно состоит из 4 мер:

Сумма продаж: =

SUM ('Sales' [SalesAmount])

MinLowerBoundary: =

MIN ('Classifications' [LowerBoundary])

MaxUpperBoundary: =

MAX ('Classifications' [UpperBoundary])

введите описание изображения здесь

Объем продаж ABC : =

CALCULATE (
    [Sales Amount],
    VALUES ('Products' [ProductCode]),
    FILTER (
        CALCULATETABLE (
            ADDCOLUMNS (
                ADDCOLUMNS (
                    VALUES ('Products' [ProductCode]),
                    "OuterValue", [Sales Amount]
                ),
                "CumulatedSalesPercentage", DIVIDE (
                    SUMX (
                        FILTER (
                            ADDCOLUMNS (
                                VALUES ('Products' [ProductCode]),
                                "InnerValue", [Sales Amount]
                            ),
                            [InnerValue]> = [OuterValue]
                        ),
                        [InnerValue]
                    ),
                    CALCULATE (
                        [Sales Amount],
                        VALUES ('Products' [ProductCode])
                    )
                )
            ),
            ALL ('Products')
        ),
        [CumulatedSalesPercentage]> [MinLowerBoundary]
            && [CumulatedSalesPercentage] <= [MaxUpperBoundary]
    )
    )

Мера [Объем продаж ABC] работает правильно для набора данных, в котором зарегистрировано 3000 продуктов x 375000 проданных товаров, но в наборе данных с 11000 продуктов x 230000 он становится очень медленным.

Я считаю, что медлительность связана с количеством продукта для количества продаж.Однако нет возможности уменьшить количество продуктов.Любые предложения по решению медлительности?

...