Telegram Group & Telegram Channel
♒️ Роллап роллапа роллапа роллапа
или Путь до карточки по иерархии Parent items,
продолжение поста выше
#формулы

💘Итак, давайте создадим базу данных в виде таблицы и включим Sub-items.

💘Переименуем проперти с родительской карточкой Parent item в Уровень вверх,
💘а проперти с под-карточкой Sub-item в Уровень вниз.

Допустим в нашей базе есть 4 уровня вложенности.

📌 Моя задача написать для карточки 4 уровня такую формулу, чтобы отображалась иерархия всех родительских карточек от 4 карточки, то есть 1 2 3 4.

Для других карточек по тому же принципу будут отображаться соответствующие карточки:
💘для 3-его уровня: 1 2 3
💘для 2-ого уровня: 1 2
💘для 1-ого уровня: 1

⚡️Приступаем к написанию формулы!

Начнем с конца.
Выводим название текущего уровня, просто выбрав проперти с названием карточки в проперти Уровень
Добавим желтый фон для выделения текущего уровня от вышестоящих через .style("yellow_background")
⬇️
prop("Уровень").style("yellow_background")

Теперь достаем уровень выше у текущего уровня.
Наш текущий уровень - это 4, значит нам нужно выводить 3,
а карточка 3 содержится у 4-ого уровня в проперти Уровень вверх.
Так что просто выводим это проперти к названию текущего уровня через плюс:
⬇️
prop("Уровень вверх") + prop("Уровень").style("yellow_background")

Начинается интересное.
Нам нужно получить 2-ой уровень, а он запрятан в проперти Уровень выше для Уровня выше нашего текущего уровня
(💘4: уровень выше - 3,💘3: уровень выше - 2),
то есть через рилейшен к 3 нам нужно забрать его значение в проперти Уровень выше, то есть двойку.
Ну да, это обычный роллап!

Вспомним, как выводить роллап формулой:
Рилейшен.map(current.Проперти_рилейшена)

Приземляем на наш кейс:
⬇️
prop("Уровень вверх").map(current.prop("Уровень вверх"))

Прибавляем через плюс к остальному:
⬇️
prop("Уровень вверх").map(current.prop("Уровень вверх"))
+ prop("Уровень вверх")
+ prop("Уровень").style("yellow_background")


А теперь делаем то, что раньше казалось невозможным, смотрим в проперти Уровень вверх у двойки, чтобы отображать единицу.

💘Наш текущий уровень - 4.
💘Берем его рилейшен уровня вверх, то есть рилейшен тройки.
💘Через .map(current) получаем роллап уровня вверх для тройки, то есть двойку.

💘А теперь через тот же самый .map(current) берем роллап уровня выше для двойки, то есть единицу:

⬇️
prop("Уровень вверх") 3
.map(current.prop("Уровень вверх")
2
.map(current.prop("Уровень вверх")
1
))


И вот этих .map(current.prop("Уровень вверх") пишем столько, сколько уровней вложенности есть у нас в базе данных.
Не забываем, что на каждое map в конце формулы нужно написать закрывающую скобочку.

Так для 10 уровня получение карточки первого уровня будет написано вот так:

prop("Уровень вверх") 9
.map(current.prop("Уровень вверх") 8
.map(current.prop("Уровень вверх") 7
.map(current.prop("Уровень вверх") 6
.map(current.prop("Уровень вверх") 5
.map(current.prop("Уровень вверх") 4
.map(current.prop("Уровень вверх") 3
.map(current.prop("Уровень вверх") 2
.map(current.prop("Уровень вверх") 1
))))))))

Получаем роллап роллапа роллапа роллапа...


Итоговая формула для карточек с 4 уровнями вложенности:

prop("Уровень вверх").map(current.prop("Уровень вверх").map(current.prop("Уровень вверх")))
+ prop("Уровень вверх").map(current.prop("Уровень вверх"))
+ prop("Уровень вверх")
+ prop("Уровень").style("yellow_background")


💜 Вот такие интересные штуки способны проворачивать новые формулы!

💜 Поддержать канал
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/notion_ogonek/326
Create:
Last Update:

♒️ Роллап роллапа роллапа роллапа
или Путь до карточки по иерархии Parent items,
продолжение поста выше
#формулы

💘Итак, давайте создадим базу данных в виде таблицы и включим Sub-items.

💘Переименуем проперти с родительской карточкой Parent item в Уровень вверх,
💘а проперти с под-карточкой Sub-item в Уровень вниз.

Допустим в нашей базе есть 4 уровня вложенности.

📌 Моя задача написать для карточки 4 уровня такую формулу, чтобы отображалась иерархия всех родительских карточек от 4 карточки, то есть 1 2 3 4.

Для других карточек по тому же принципу будут отображаться соответствующие карточки:
💘для 3-его уровня: 1 2 3
💘для 2-ого уровня: 1 2
💘для 1-ого уровня: 1

⚡️Приступаем к написанию формулы!

Начнем с конца.
Выводим название текущего уровня, просто выбрав проперти с названием карточки в проперти Уровень
Добавим желтый фон для выделения текущего уровня от вышестоящих через .style("yellow_background")
⬇️
prop("Уровень").style("yellow_background")

Теперь достаем уровень выше у текущего уровня.
Наш текущий уровень - это 4, значит нам нужно выводить 3,
а карточка 3 содержится у 4-ого уровня в проперти Уровень вверх.
Так что просто выводим это проперти к названию текущего уровня через плюс:
⬇️
prop("Уровень вверх") + prop("Уровень").style("yellow_background")

Начинается интересное.
Нам нужно получить 2-ой уровень, а он запрятан в проперти Уровень выше для Уровня выше нашего текущего уровня
(💘4: уровень выше - 3,💘3: уровень выше - 2),
то есть через рилейшен к 3 нам нужно забрать его значение в проперти Уровень выше, то есть двойку.
Ну да, это обычный роллап!

Вспомним, как выводить роллап формулой:
Рилейшен.map(current.Проперти_рилейшена)

Приземляем на наш кейс:
⬇️
prop("Уровень вверх").map(current.prop("Уровень вверх"))

Прибавляем через плюс к остальному:
⬇️
prop("Уровень вверх").map(current.prop("Уровень вверх"))
+ prop("Уровень вверх")
+ prop("Уровень").style("yellow_background")


А теперь делаем то, что раньше казалось невозможным, смотрим в проперти Уровень вверх у двойки, чтобы отображать единицу.

💘Наш текущий уровень - 4.
💘Берем его рилейшен уровня вверх, то есть рилейшен тройки.
💘Через .map(current) получаем роллап уровня вверх для тройки, то есть двойку.

💘А теперь через тот же самый .map(current) берем роллап уровня выше для двойки, то есть единицу:

⬇️
prop("Уровень вверх") 3
.map(current.prop("Уровень вверх")
2
.map(current.prop("Уровень вверх")
1
))


И вот этих .map(current.prop("Уровень вверх") пишем столько, сколько уровней вложенности есть у нас в базе данных.
Не забываем, что на каждое map в конце формулы нужно написать закрывающую скобочку.

Так для 10 уровня получение карточки первого уровня будет написано вот так:

prop("Уровень вверх") 9
.map(current.prop("Уровень вверх") 8
.map(current.prop("Уровень вверх") 7
.map(current.prop("Уровень вверх") 6
.map(current.prop("Уровень вверх") 5
.map(current.prop("Уровень вверх") 4
.map(current.prop("Уровень вверх") 3
.map(current.prop("Уровень вверх") 2
.map(current.prop("Уровень вверх") 1
))))))))

Получаем роллап роллапа роллапа роллапа...


Итоговая формула для карточек с 4 уровнями вложенности:

prop("Уровень вверх").map(current.prop("Уровень вверх").map(current.prop("Уровень вверх")))
+ prop("Уровень вверх").map(current.prop("Уровень вверх"))
+ prop("Уровень вверх")
+ prop("Уровень").style("yellow_background")


💜 Вот такие интересные штуки способны проворачивать новые формулы!

💜 Поддержать канал

BY Огонек | Notion Buildin | Планеры


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/notion_ogonek/326

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

How Does Telegram Make Money?

Telegram is a free app and runs on donations. According to a blog on the telegram: We believe in fast and secure messaging that is also 100% free. Pavel Durov, who shares our vision, supplied Telegram with a generous donation, so we have quite enough money for the time being. If Telegram runs out, we will introduce non-essential paid options to support the infrastructure and finance developer salaries. But making profits will never be an end-goal for Telegram.

telegram from id


Telegram Огонек | Notion Buildin | Планеры
FROM USA