DAX - расчет на основе результатов фильтрации нескольких связанных таблиц - PullRequest
0 голосов
/ 10 сентября 2018

Привет. Я очень старался вычислить результат, но он все еще был ошибочным, надеюсь, кто-нибудь может дать совет. Большое спасибо заранее.

Желаемый результат: Чтобы в [Таблице продуктов] отображался вычисляемый столбец, показывающий, есть ли у этого товара запасы на основе фильтров в [Таблице хранилища] и [Таблице инвентаря].

Логика фильтра:

  1. На основе [инвентарной таблицы], чтобы увидеть, есть ли онлайн-инвентарь продуктов для этого SKU в "регионе" BJ

    • (Информация о регионе поступает из [Таблица складов]) & (Информация онлайн поступает из [Таблица продуктов]
  2. На основе результатов первого шага, для отображения SKU в [Таблице продуктов], которые НЕ появляются в предыдущем результате фильтрации

Мой код:

=
IF (
    CALCULATE (
        COUNTROWS ( 'Inventory' ),
        FILTER (
            'Inventory',
            'Product'[IfOnline] = "Online " && RELATED ( 'Warehouse'[Region] ) = "BJ"
        )
    )
        > 0,
    "BJ has inventory",
    "BJ has no inventory"
)

Таблица отношений приведена ниже:

enter image description here

1 Ответ

0 голосов
/ 10 сентября 2018

Это должно работать:

[column] =
IF (
[IfOnline] = "Online"
    && CALCULATE (
        COUNTROWS('Inventory'),
        Warehouse[Region] = "BJ"
    )
        > 0,
"BJ has inventory",
"BJ has no inventory"
)

Было бы даже лучше суммировать столбец Qty вместо подсчета строк. В случае, если кол-во 0.

[column] =
IF (
[IfOnline] = "Online"
    && CALCULATE (
        SUM('Inventory'[Qty]),
        Warehouse[Region] = "BJ"
    )
        > 0,
"BJ has inventory",
"BJ has no inventory"
)
...