Сохраняйте все пустые строки в матрице в PowerBI с DAX - PullRequest
0 голосов
/ 20 февраля 2020

В PowerBI у меня есть таблица с 4 столбцами:

  • ItemId
  • OptionId
  • Цена
  • IsItemSold

Для каждого ItemId в таблице у нас одинаковое количество OptionIds с флагом IsItemSold, который равен «Да», если Опция продана, и «Нет», если опция не продана.

I создал матрицу с

  • ItemId на строках
  • OptionId на столбцах
  • Цена на значениях
  • IsItemSold на матричном визуальном фильтре со значением, равным "Да"

Результат моей таблицы такой:

Result table

Цель состоит в том, чтобы отображать только ItemId, где все столбцы матрицы не пусты (без пробелов в строках).

Как мы можем сделать это с DAX и / или с помощью визуальных опций PowerBI?

Marco

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Это можно сделать, создав вычисляемый столбец, чтобы определить, имеет ли идентификатор элемента значения для всех идентификаторов параметров:

Filter Flag = 
    VAR ItemID='Table'[ItemId]
    VAR Val = CALCULATE(DISTINCTCOUNT('Table'[OptionID]),
                        FILTER('Table','Table'[ItemId]=ItemID),
                        FILTER('Table','Table'[IsItemSold]="Yes"))
    VAR Val_Total = CALCULATE(DISTINCTCOUNT('Table'[OptionID]),
                              FILTER('Table','Table'[IsItemSold]="Yes"))
RETURN IF(Val=Val_Total,"Yes","No")

Используя VAR val, мы подсчитываем количество различных идентификаторов параметров для элемента. который мы продали. Затем мы сравниваем это с общим количеством идентификаторов опций (Val_Total) и создаем флаги Да / Нет.

После создания этого столбца вы можете использовать его как фильтр и фильтр для ДА. Надеюсь, это поможет.

0 голосов
/ 20 февраля 2020

Возможным решением может быть добавление каждого поля в фильтры на этом визуале. Затем вы можете отфильтровать эти поля только для тех значений, которые не являются пустыми. Вы можете перейти на панель фильтров на ленте, нажав Вид -> Фильтры.

...