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

A Telegram spokesman declined to comment on the bond issue or the amount of the debt the company has due. The spokesman said Telegram’s equipment and bandwidth costs are growing because it has consistently posted more than 40% year-to-year growth in users.

The Singapore stock market has alternated between positive and negative finishes through the last five trading days since the end of the two-day winning streak in which it had added more than a dozen points or 0.4 percent. The Straits Times Index now sits just above the 3,060-point plateau and it's likely to see a narrow trading range on Monday.

telegram from ua


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