Как исправить мои вложенные операторы If, чтобы показать все желаемые результаты, а не только некоторые из них? - PullRequest
0 голосов
/ 05 июля 2019

Я создаю отчет, в котором я хотел бы отфильтровать записи по тому, истек ли срок их действия, истекает через год, или у них начался срок хранения, или только действительные данные, используя один столбец.

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

Проблема, однако, заключается в том, что «Записи о сроке хранения» не отображаются сами по себе, но когда я выбираю остальные параметры, я вижу его значение в отображаемых результатах.

Как проверить, что сначала не истек срок действия записи, прежде чем проверять, не начался ли период хранения.

Я пытался переставить ifs, но результаты меня не устраивают, когда я вмешиваюсь.

вот моя формула

Record Status = 
IF(
Records[Destruction Date]<>BLANK() && Records[Destruction Date] <= Today() , 
"Expired Records" , 
IF(
Records[Destruction Date]<>BLANK() && YEAR(Records[Destruction Date]) >= YEAR(Today())+1 , 
"Records Expiring In An Year", 
IF(
Records[Retention Begins]<>BLANK() &&  Records[Retention Begins]<=TODAY() , 
"Records on Retention Period", 
"Valid Records"
)))

Я ожидаю получить: записи с истекшим сроком действия, записи, срок действия которых истекает через год, «записи за период хранения» или «действительные записи».

Включение фильтрации во время визуализации.

1 Ответ

0 голосов
/ 05 июля 2019

Я мог бы найти логические ошибки в расчете Records Expiring In An Year & Records on Retention Period, посмотреть, работает ли следующая формула,

Record Status = 
IF(
Records[Destruction Date]<>BLANK() && Records[Destruction Date] <= Today() , 
"Expired Records" , 
IF(
Records[Destruction Date]<>BLANK() && YEAR(Records[Destruction Date]) <= YEAR(Today())+1 , 
"Records Expiring In An Year", 
IF(
Records[Retention Begins]<>BLANK() &&  Records[Retention Begins] >= TODAY() , 
"Records on Retention Period", 
"Valid Records"
)))
...