Power BI: измерение для расчета первого и конечного урожая по продукту и имени файла - PullRequest
0 голосов
/ 07 февраля 2020

Мне нужно создать меру для расчета первого и последнего прохода продукта под соответствующим именем файла.

Это образец моих тестовых данных. В этом случае каждое имя файла (например, File_111) будет проверять 3 одинаковых продукта - P1, P2, P3. Пример данных

По праву, результат первого прохода должен быть:

  1. File_111 - Pass, Fail, Pass (66,67%)
  2. Файл_211 - Проход, Сбой, Сбой (33,33%)
  3. Файл_311 - Проход, Сбой, Прохождение (100%)

Однако я следовал одному из примеров и использовал следующие коды, но доходность первого прохода неверна для сценария 2.

    FPYield = 
    VAR distinctCountTotal = CALCULATE(DISTINCTCOUNT('Sheet1'[Product Number]))
    VAR distinctCountFail = CALCULATE(DISTINCTCOUNT('Sheet1'[Result]),'Sheet1'[Result] = "Fail")
    RETURN 
    DIVIDE(distinctCountTotal - distinctCountFail, distinctCountTotal)

Как показано, для сценария 2, первая доходность составляет 66,67%, когда она должна составлять 33,33%. , Я не мог понять, в чем ошибка. Для сценария 3, он показывает правильный, который составляет 100%.

Сценарий-1 Сценарий-2

Примите во внимание:

  1. Должен быть в состоянии отфильтровать среднее значение FPY либо по имени файла, либо по номеру продукта (возьмите номер продукта в качестве моего тестера, будет только 3 - P1, P2, P3

. Далее, мне также нужно рассчитать окончательный результат прохода, если все номера продуктов в этом файле были переданы в последнем прогоне. Какую меру дакс я должен принять, чтобы получить последний статус прогона? Спасибо!

Редактировать: Любое предложение о том, как я могу рассчитать для последний проход, если в моем наборе данных есть столбец DateTime?

1 Ответ

1 голос
/ 07 февраля 2020

В обоих случаях вы должны использовать различное количество номеров продуктов:

FPYield = 
    VAR distinctCountTotal = CALCULATE(DISTINCTCOUNT('Sheet1'[Product Number]))
    VAR distinctCountFail = CALCULATE(DISTINCTCOUNT(Sheet1[Product Number]),'Sheet1'[Result] = "Fail")
    RETURN 
    DIVIDE(distinctCountTotal - distinctCountFail, distinctCountTotal)

Чтобы получить последний статус номера продукта, вам необходимо использовать переменную даты, доступную в ваших данных. Если нет доступных переменных даты, то для этого вам нужно создать индексный столбец в базовом запросе. Если у вас есть переменная даты / индекса, вы можете получить результат для самой последней даты или самого высокого индекса.

Надеюсь, это поможет.

...