Выбор Lotus Notes View: Как отображать 10 лучших документов только на основе значения столбца

Просто хотите спросить, как отображать топ-10 документов только на основе значения столбца, используя выбор представления? Формула выбора представления приведена ниже во фрагменте кода. Тогда в представлении будет 50 документов. Как мне расположить их в соответствии с 10 самыми высокими значениями столбца?

SELECT Form = "MPPP" & MPPPValid != "No" & Status != "Draft" & ProductEndOfLife!= "Product is End of Life" & NonIBMProduct!= "Non IBM Product" & @If(
((

(@If(GDis_0 != ""&L_0!="";L_0;
@If(GDis_1 != ""&L_1!="";L_1;
@If(GDis_2 != ""&L_2!="";L_2;
@If(GDis_3 != ""&L_3!="";L_3;
@If(L_0=""&UL_0!="";UL_0;
@If(L_1=""&UL_1!="";UL_1;
@If(L_2=""&UL_2!="";UL_2;
UL_3))))))))*

(@If(GDis_0 != ""&W_0!="";W_0;
@If(GDis_1 != ""&W_1!="";W_1;
@If(GDis_2 != ""&W_2!="";W_2;
@If(GDis_3 != ""&W_3!="";W_3;
@If(W_0=""&UW_0!="";UW_0;
@If(W_1=""&UW_1!="";UW_1;
@If(W_2=""&UW_2!="";UW_2;
UW_3))))))))*

(@If(GDis_0 != ""&D_0!="";D_0;
@If(GDis_1 != ""&D_1!="";D_1;
@If(GDis_2 != ""&D_2!="";D_2;
@If(GDis_3 != ""&D_3!="";D_3;
@If(D_0=""&UD_0!="";UD_0;
@If(D_1=""&UD_1!="";UD_1;
@If(D_2=""&UD_2!="";UD_2;
UD_3)))))))))/6000000)-

(@If(GDis_0 != ""&PW_0!="";PW_0;
@If(GDis_1 != ""&PW_1!="";PW_1;
@If(GDis_2 != ""&PW_2!="";PW_2;
@If(GDis_3 != ""&PW_3!="";PW_3;
@If(PW_0=""&ULW_0!="";ULW_0;
@If(PW_1=""&ULW_1!="";ULW_1;
@If(PW_2=""&ULW_2!="";ULW_2;ULW_3))))))))>10 |

(((((@If(GDis_0 != ""&L_0!="";L_0;
@If(GDis_1 != ""&L_1!="";L_1;
@If(GDis_2 != ""&L_2!="";L_2;
@If(GDis_3 != ""&L_3!="";L_3;
@If(L_0=""&UL_0!="";UL_0;
@If(L_1=""&UL_1!="";UL_1;
@If(L_2=""&UL_2!="";UL_2;UL_3))))))))*

(@If(GDis_0 != ""&W_0!="";W_0;
@If(GDis_1 != ""&W_1!="";W_1;
@If(GDis_2 != ""&W_2!="";W_2;
@If(GDis_3 != ""&W_3!="";W_3;
@If(W_0=""&UW_0!="";UW_0;
@If(W_1=""&UW_1!="";UW_1;
@If(W_2=""&UW_2!="";UW_2;UW_3))))))))*

(@If(GDis_0 != ""&D_0!="";D_0;
@If(GDis_1 != ""&D_1!="";D_1;
@If(GDis_2 != ""&D_2!="";D_2;
@If(GDis_3 != ""&D_3!="";D_3;
@If(D_0=""&UD_0!="";UD_0;
@If(D_1=""&UD_1!="";UD_1;
@If(D_2=""&UD_2!="";UD_2;UD_3)))))))))/6000000)-

(@If(GDis_0 != ""&PW_0!="";PW_0;
@If(GDis_1 != ""&PW_1!="";PW_1;
@If(GDis_2 != ""&PW_2!="";PW_2;
@If(GDis_3 != ""&PW_3!="";PW_3;
@If(PW_0=""&ULW_0!="";ULW_0;
@If(PW_1=""&ULW_1!="";ULW_1;
@If(PW_2=""&ULW_2!="";ULW_2;ULW_3)))))))))/

(@If(GDis_0 != ""&PW_0!="";PW_0;
@If(GDis_1 != ""&PW_1!="";PW_1;
@If(GDis_2 != ""&PW_2!="";PW_2;
@If(GDis_3 != ""&PW_3!="";PW_3;
@If(PW_0=""&ULW_0!="";ULW_0;
@If(PW_1=""&ULW_1!="";ULW_1;
@If(PW_2=""&ULW_2!="";ULW_2;ULW_3)))))))))>0.2;
@True;@False)

Фрагмент значения столбца:

((((@If(GDis_0 != ""&L_0!="";L_0;@If(GDis_1 != ""&L_1!="";L_1;@If(GDis_2 != ""&L_2!="";L_2;@If(GDis_3 != ""&L_3!="";L_3;@If(L_0=""&UL_0!="";UL_0;@If(L_1=""&UL_1!="";UL_1;@If(L_2=""&UL_2!="";UL_2;UL_3))))))))*(@If(GDis_0 != ""&W_0!="";W_0;@If(GDis_1 != ""&W_1!="";W_1;@If(GDis_2 != ""&W_2!="";W_2;@If(GDis_3 != ""&W_3!="";W_3;@If(W_0=""&UW_0!="";UW_0;@If(W_1=""&UW_1!="";UW_1;@If(W_2=""&UW_2!="";UW_2;UW_3))))))))*(@If(GDis_0 != ""&D_0!="";D_0;@If(GDis_1 != ""&D_1!="";D_1;@If(GDis_2 != ""&D_2!="";D_2;@If(GDis_3 != ""&D_3!="";D_3;@If(D_0=""&UD_0!="";UD_0;@If(D_1=""&UD_1!="";UD_1;@If(D_2=""&UD_2!="";UD_2;UD_3)))))))))/6000000)-(@If(GDis_0 != ""&PW_0!="";PW_0;@If(GDis_1 != ""&PW_1!="";PW_1;@If(GDis_2 != ""&PW_2!="";PW_2;@If(GDis_3 != ""&PW_3!="";PW_3;@If(PW_0=""&ULW_0!="";ULW_0;@If(PW_1=""&ULW_1!="";ULW_1;@If(PW_2=""&ULW_2!="";ULW_2;ULW_3)))))))))/(@If(GDis_0 != ""&PW_0!="";PW_0;@If(GDis_1 != ""&PW_1!="";PW_1;@If(GDis_2 != ""&PW_2!="";PW_2;@If(GDis_3 != ""&PW_3!="";PW_3;@If(PW_0=""&ULW_0!="";ULW_0;@If(PW_1=""&ULW_1!="";ULW_1;@If(PW_2=""&ULW_2!="";ULW_2;ULW_3))))))))

Был бы признателен за помощь. Благодарю.

1 ответ

Решение

Это невозможно сделать каким-либо разумным способом, используя только возможности формулы выбора представления, потому что эти формулы работают с одним документом за раз. Они просто не могут сравнить один документ с другим и решить, "это один из лучших 10?" Не без помощи

Вы можете написать агента, который работает со всеми документами. Он может быть запущен всякий раз, когда документ создается или изменяется. Этот агент может перебирать все документы и использовать любую логику, необходимую для их сортировки и сравнения, и он может устанавливать специальный элемент TopTen равно @True или же @False, Тогда все, что вам нужно будет сделать с формулой выбора, поместить все это (кроме ключевого слова SELECT) в скобки и добавить & (TopTen = @True) к концу.

Другие вопросы по тегам