Отфильтруйте значения выше и ниже - Power BI - PullRequest
0 голосов
/ 07 апреля 2020

Я получаю данные от некоторых датчиков. Но на прошлой неделе были некоторые проблемы, и это привело к тому, что некоторые датчики отправляли неправильные и ненормальные значения. Например, + 678 градусов по Цельсию и - 456 градусов по Цельсию.

Но это происходило всего несколько раз в день, и поступало много нормальных данных. Так что я не могу просто отфильтровать дни, я хочу отфильтровать только неправильные значения.

Я попытался создать пользовательский столбец, где у меня был оператор if, чтобы установить неправильные значения на 1 и det normal на 0, а затем просто удалить все строки с 1. Но я получаю только 0, когда я знаю, что есть строки, которые должны быть 1.

Это мое утверждение if:

if [Sensor Type] = "Temperature" and [SensorValue] > 60 and [SensorValue] < 0 then 1
else if [Sensor Type] ="Humidity" and [SensorValue] > 90 and [SensorValue] < 1 then 1 
else if [Sensor Type] = "CO2" and [SensorValue] > 1200 and [SensorValue] < 1 then 1
else if [Sensor Type] = "Openings" and [SensorValue] > 4000 and [SensorValue] < 1 then 1
else 0

В этом столбце я получаю только 0.

Может кто-нибудь помогите мне с этим или у вас есть другой способ отфильтровать неправильные значения?

Заранее спасибо!

1 Ответ

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

Температура не может быть больше 60 И меньше 0 одновременно. Чтобы быть точным, ваш чек должен быть [Sensor Type] = "Temperature" and ([SensorValue] > 60 or [SensorValue] < 0), поэтому что-то вроде этого:

if [Sensor Type] = "Temperature" and ([SensorValue] > 60 or [SensorValue] < 0) then 1
else if [Sensor Type] ="Humidity" and ([SensorValue] > 90 or [SensorValue] < 1) then 1 
else if [Sensor Type] = "CO2" and ([SensorValue] > 1200 or [SensorValue] < 1) then 1
else if [Sensor Type] = "Openings" and ([SensorValue] > 4000 or [SensorValue] < 1) then 1
else 0

Может быть легче понять, если вы сделаете обратное:

if [Sensor Type] = "Temperature" and [SensorValue] > 60  then 0
else if [Sensor Type] = "Temperature" and [SensorValue] < 0 then 0
else if [Sensor Type] ="Humidity" and [SensorValue] > 90 then 0
else if [Sensor Type] ="Humidity" and [SensorValue] < 1 then 0 
else if [Sensor Type] = "CO2" and [SensorValue] > 1200 then 0
else if [Sensor Type] = "CO2" and [SensorValue] < 1 then 0
else if [Sensor Type] = "Openings" and [SensorValue] > 4000 then 0
else if [Sensor Type] = "Openings" and [SensorValue] < 1 then 0
else 1
...