Zagnieżdżanie funkcji
Funkcje w Planfix obsługują zagnieżdżanie. Oznacza to, że dowolny z argumentów function można zastąpić inną funkcją, o ile typ wyniku (string, number, date) pasuje do typu funkcji, do której go dodajesz.
Ważne
Wszystkie funkcje użyte zamiast argumentu w innej funkcji muszą zawierać liczbę argumentów i kolejność określone w sekcji pomocy dla dodawanej funkcji.
Funkcja CONCATENATE
Funkcja CONCATENATE zawiera trzy argumenty:
CONCATENATE("Text_1";"Separator";"Text_2")
Argumenty:
- Text_1 — tekst do połączenia. Zamiast argumentu możesz dodać inną funkcję zwracającą tekst.
- Separator — może być dowolny, nawet spacja — ". "
- Text_2 — tekst do połączenia. Zamiast argumentu możesz dodać inną funkcję zwracającą tekst.
Zamiast argumentu Text_1 możesz dodać inną funkcję zwracającą tekst. Na przykład dodać kolejną funkcję CONCATENATE. Ważne jest podanie wszystkich argumentów funkcji zgodnie z instrukcją:
CONCATENATE(CONCATENATE("Text_1";"Separator";"Text_2");"Separator";"Text_2")
Zauważ, że funkcja dodana zamiast argumentu nie musi być ujęta w podwójne cudzysłowy.
Argumenty dla nowej funkcji:
- CONCATENATE("Text_1";"Separator";"Text_2")
- Text_2
Tą metodą można tworzyć funkcje o różnych poziomach zagnieżdżenia.
Funkcja IF
Zawiera trzy argumenty:
IF(condition;value_yes;value_no)
Argumenty:
- Condition — wyrażenie logiczne z operatorami >, <, =, >=, <=, !=, inną funkcją lub wartością. Często używana jest funkcja AND.
- value_yes — wartość numeryczna lub tekstowa, wynik funkcji gdy warunek jest spełniony.
- value_no — wartość numeryczna lub tekstowa, wynik funkcji gdy warunek nie jest spełniony.
Zamiast warunku możesz użyć funkcji AND:
AND(condition1;condition2)
W rezultacie funkcja IF będzie wyglądać tak:
IF(AND(condition1;condition2);value_yes;value_no)
Jeśli zadanie jest bardziej złożone, na przykład funkcja musi sprawdzać trzy warunki jednocześnie, użyj zagnieżdżenia funkcji AND:
IF(AND(AND(condition1;condition2);condition2);value_yes;value_no)
Na przykład:
IF(AND(AND({{System.Today.Number}}=19;{{{Task.Full days}}>15);In queue="In progress");"Finishing";"Something is missing")