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: |

Unlimited members in Telegram group now

Telegram has made it easier for its users to communicate, as it has introduced a feature that allows more than 200,000 users in a group chat. However, if the users in a group chat move past 200,000, it changes into "Broadcast Group", but the feature comes with a restriction. Groups with close to 200k members can be converted to a Broadcast Group that allows unlimited members. Only admins can post in Broadcast Groups, but everyone can read along and participate in group Voice Chats," Telegram added.

telegram from tw


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