Как найти все экземпляры одного идентификатора LocID, оценить их, чтобы увидеть, соответствует ли какой-либо сводка «Отскок», а затем вернуть T / F, если таковой имеется? - PullRequest
0 голосов
/ 10 апреля 2020

Итак, я пытаюсь создать документ, который отслеживает, в каких местоположениях открыты заявки, со сводкой «Отскок», чтобы определить, на каких сайтах должны быть открыты прыгающие билеты. У меня есть отчет (Список местоположений) со всеми перечисленными местоположениями (Столбцы: Идентификатор местоположения). У меня есть другой отчет (Список билетов) со всеми открытыми билетами (столбцы: номер билета, местоположение, сводка, статус билета). Для контекста у меня есть еще один отчет с сигналами тревоги, которые произошли для каждого местоположения (идентификатор местоположения, тип сигнала тревоги, дата возникновения и т. Д. c), но я не думаю, что это необходимо для этого.

Список мест: пример отчета со списком мест

  • Каждое место отображается только один раз

Список заявок: пример отчета о списке билетов

  • Номера билетов уникальны
  • Местоположение может иметь более одного открытого билета одновременно
  • Я создал связь между идентификаторами местоположений в Списке билетов и Списком местоположений со списком Местоположений в качестве Первичного. (аналогичная связь существует со списком местоположений и отчетом о тревоге)
  • В списке билетов будут только билеты ОТКРЫТЫ (поэтому столбец состояния лишний)
  • У меня также есть объединенные запросы, поэтому список билетов Информация (номер билета и сводка) появляется в списке местоположений в тех случаях, когда есть открытые билеты.

В конечном итоге , я пытаюсь создать сводную таблицу на основе Информация о тревоге, которая покажет, является ли Местоположение кандидатом в Билет на прыгун (X сигналов в течение Х дней), но также будет отображать ТОЛЬКО места, которые НЕ имеют открытых Билетов на прыгун. У меня есть первая часть, но только в тех местах, где нет открытых билетов, я сталкиваюсь с проблемами.

Изначально , я думал, что могу просто добавить столбец к одному из запросов, например так:

 #"Added Conditional Column" = Table.AddColumn(#"Changed Type2", "Bouncing Investigation Open?", each if [#"Ticket List.Summary"] = "Bouncing" then "Yes" else "No")

Однако я понял, что, поскольку у местоположения может быть открыто более одного билета, местоположение может отображаться как Да и Нет при выполнении сводки. таблица для определения того, что / не имеет открытую подпрыгивающую квитанцию.

Есть ли способ, чтобы я посоветовал ему искать каждый экземпляр идентификатора местоположения из списка местоположений и проверять, есть ли Сводка по ЛЮБОМУ = "Отскакивающему" и если где-то TRUE отметка (не имеет значения, где, новый столбец в существующем запросе или где-либо еще), "Да" и, если ЛОЖЬ, "Нет"?

Ответы [ 2 ]

0 голосов
/ 12 апреля 2020

(почти) чисто управляемый пользовательским интерфейсом способ сделать это будет

  • отфильтровать ваши строки, чтобы вы получили только «подпрыгивающие» билеты enter image description here
  • , затем группировка по местоположению enter image description here
  • , затем объедините шаг предварительной фильтрации с шагом сгруппированной. Для этого вам необходимо сначала объединить таблицу с самим собой, а затем изменить формулу для ссылки на правильный шаг (ie изменить 2-ю таблицу # «Изменить тип» на таблицу «Сгруппированные строки») enter image description here enter image description here enter image description here
  • Развернуть столбец слияния с количеством строк enter image description here
  • Изменить тип на логическое (1 = true 0 = false) enter image description here

Затем вы можете изменить имена столбцов и т. д. c.

0 голосов
/ 10 апреля 2020

Допустим, таблица LocationList включает столбцы Местоположение и Статус , с данными в столбце Статус либо Отскок или что-то еще

Это будет проверять столбец Location из текущей таблицы с LocationList и извлекать количество раз Bouncing появился для соответствующего Местоположение

= Table.AddColumn(#"PriorStep", "Count",(i) => Table.RowCount(Table.SelectRows(LocationList, each ([Location] = i[Location] and [Status] = "Bouncing"  ))), type number )

Если все данные были в одной таблице, то это можно использовать, аналогично

= Table.AddColumn(#"PriorStep", "Count",(i) => Table.RowCount(Table.SelectRows(#"PriorStep", each ([Location] = i[Location] and [Status] = "Bouncing"  ))), type number )
...