Регулярная планировка • Архитектурный блог
При сохранении крепости в городе, естественно, сохранялась историческая преемственность схемы новой планировки и существовавшей до этого застройки, не допускавшей абстрактной геометризации. Новая планировка исходит в основном из принципа совершенствования исторически сложившейся схемы города.
Это заметно, например, в плане Сум, где в центре при слиянии рек Сумы, Псела и Сумка находится старая крепость. Планировка города, расчлененного реками на три части, подчинена единому замыслу, заключающемуся в прокладке большинства улиц по направлению к крепости, почему план города приближается к радиально-кольцевой схеме.
Регулярная планировка применялась лишь на свободных территориях, как это было, например, в проекте планировки Киева, составленном Меллером и Шуваловым, где новые кварталы были разбиты в районе Липок между существовавшими в то время крепостями Старым Киевом и Печерской крепостью. В пределах же каждой из крепостей, а также в Печерском форштате предусмотрено было лишь выпрямить улицы и местами расширить.
Проекты перепланировки старых украинских городов, утвержденные в конце XVIII столетия, во многих случаях оставались нереализованными из-за войн с Турцией, строительства новых черноморских портов и создания военного и торгового флота, поглощавших большие средства.
К концу XIX в. многие города Украины потеряли свое оборонное значение, что повлекло в ряде случаев уничтожение древних земляных валов. В этот период увеличиваются ассигнования на реконструкцию таких городов, как Киев, Харьков, Чернигов, Сумы, Новгород-Северский и др., значение которых как административных центров губерний и уездов все более растет.
Развитию городов Украины в начале XIX в. способствовал рост промышленности и торговли, вызвавший приток населения и оживление строительства. Правительство отпускает средства на строительство зданий административных, культурно-просветительного назначения и учреждений Приказа общественного призрения; улучшается и благоустройство городов. Во многих городах появляются каменные мостовые, тротуары и уличное освещение.
Конкретные условия развития городов Украины потребовали составления новых проектов планировки, а в ряде случаев — существенной переработки генеральных планов, утвержденных в конце XVIII в. В этот период получает распространение геометрическая регулярная планировка. Прямые улицы прорезают старые земляные укрепления и прокладываются на местности без учета рельефа, береговых линий рек и существующих зеленых насаждений.
В Киеве в это время сливаются воедино три разобщенные раньше части. Между старым городом и Печерском по плану 1787 г. застраивается район «Липки», а части города, раньше заключенные в кольцо укреплений, также перепланированы и объединены по плану 1837 г. с районом «Новое строение».
После пожара на Подоле в 1811 г. был сделан архитектором В. Гесте новый проект планировки, согласно которому вместо скученной застройки с узкими путаными улицами должны быть проложены прямые, широкие магистрали. В центре этой части города сделана обширная Контрактовая площадь, где предполагалось возвести Контрактовый дом и почту.
XIX в. предусматривалось сделать район Печерска, где на пустыре против царского дворца было построено по проекту А. Меленского здание губернских Присутственных мест с площадью — плац-парадом, а вдоль кромки днепровских склонов посажена липовая аллея. Здесь же предполагалось устройство нового гостиного двора. Но в 30-х гг. в связи со строительством новой Печерской крепости административный центр был перенесен в район Старого города, на вновь расчищенную Софийскую площадь.
Регулярная планировка — Рамблер/новости
Коммерсантъ — Weekend
Как устроен город В 1935 году в воронежской ссылке Осип Мандельштам написал стихотворение трагическое и ироническое. «Это какая улица? // Улица Мандельштама. // Что за фамилия чертова — // Как ее ни вывертывай, // Криво звучит, а не прямо. // Мало в нем было линейного, // Нрава он был не лилейного, // И потому эта улица, // Или, верней, эта яма // Так и зовется по имени // Этого Мандельштама». Полагаю, оно является вариацией темы «Памятника» Горация. Памятником оказывается яма (могила) — в силу своей физической иррегулярности. А еще мне, прошу прощения за урбанистический взгляд, кажется, это очень неординарное размышление о природе линейной и свободной планировки. Как ни странно, в истории мы не наблюдаем эволюции от городов иррегулярных к регулярным. Казалось бы, сначала должно появиться поселение свободной формы, потом ему должны придать геометрический порядок. Однако и в Вавилоне, и в Мохенджо-Даро (главном городе Хараппской цивилизации), и в Гизе (Египет, Древнее царство), то есть во всех центрах изобретения городской цивилизации, мы с самого начала сталкиваемся с регулярными планами. Это даже завораживает. Изобретение регулярной планировки оказывается современным изобретению города вообще. Стоит напомнить, что города появляются примерно тогда же, когда и письменность. Не знаю, насколько оригинальным является это сравнение, но для археолога или человека с филологическим опытом очевидно визуальное сходство регулярных планов древних городов с древнейшими памятниками письменности — будь то хеттские клинописные таблички или египетские рельефы и папирусы. Письменность и регулярный план — это изобретения-современники и, как мне кажется, родственники. Если угодно, регулярный план — это текст, написанный прямо на земле. Тем более поразительно, что одновременно существуют города регулярные и иррегулярные. Изобретение регулярности выглядит колоссальным цивилизационным скачком, но оказывается, что им можно пользоваться, а можно и нет. Это все равно как изобрести колесо и откатить его в сторону. С семиотической точки зрения прямоугольные кварталы на территории являются знаками-индексами в классификации Чарльза Пирса (то есть такими, в которых означающее физически связано с означаемым — как, скажем, этикетка с бутылкой, на которую она наклеена). Это индексирование в древности происходило буквально, путем разметки плана города на местности, прочерчивания границ плугом (как делал Ромул при основании Рима). В известной степени так же происходит до сих пор (с той разницей, что план сначала вычерчивается на бумаге или в компьютере). Вопрос — что означают эти прочерченные на земле прямоугольные знаки? И почему ими можно не пользоваться, что заменяет эти знаки, когда регулярной планировки нет? Об этом и говорит Мандельштам. Улица потому получает его имя, что она (яма) и он (поэт) «нелинейны». Индексом для иррегулярной территории является человек. Следом такого означивания человеком места являются наши именования улиц — хоть той же улицы Мандельштама, которая таки появилась в Воронеже, хоть Немцова моста, который так пока и не появился в Москве. Из таких обжитых и означенных смертью мест и складывается органическое, иррегулярное поселение. За этим стоит представление о неразрывной, сакральной связи человека и территории. Вспомните запреты на продажу земли в феодальной экономике, принципы майората — живые знаки-индексы не могут меняться или дробиться. Кстати, забавным рудиментом этой идеи в современной экономике является необходимость нотариального заверения купли-продажи недвижимости (чего не нужно делать ни с едой, ни с одеждой, ни с механизмами): земля — это такой товар, покупка которого за деньги не вполне законна, нарушает порядок вещей, и требуется юридическая процедура его восстановления. Что означает регулярный прямоугольник территории, если при свободной планировке участок индексирует связанный с ним конкретный человек? Если бы, скажем, в Мандельштаме было «много линейного», если бы это был такой стандартный, «прямоугольный» Мандельштам, то его имя ничего не говорило бы о месте. Его человеческое качество свелось бы к квадрату. Здесь стоит вспомнить о роли геометрии в древних цивилизациях. Пифагорейцы, а за ними Платон, видели в геометрии выражение метафизического порядка мироздания. Отсюда проистекают эзотерические следствия учений о пропорциях, но в случае с регулярной планировкой речь идет о самом элементарном геометрическом порядке. Однако смысл его не столько элементарен, сколько очень обобщен. Сама акция соотнесения территории с геометрическим порядком делает ее причастной к порядку разума. Природа не знает прямых углов, регулярная территория — это не просто terra, но terra sapiens. Если угодно, иррегулярный город сплошь состоит из имен собственных — он размечен уникальностью судеб тех, кто здесь жил и умер. Регулярный город — это город местоимений. В каждом конкретном квартале может жить кто угодно, а может не жить никто, для прямоугольных территорий важно только одно их свойство — наличие сознания. Спиро Костоф потратил много сил на то, чтобы доказать, что регулярность планировки города не имеет политического смысла. Его аргументы не лишены убедительности и остроумия. На основе сетки устроены города демократические (как у греков или американцев) и авторитарные (как в Древнем Китае, Риме или в СССР) — форма города ничего не говорит об устройстве власти. «Сетка — это сетка и ничего, кроме сетки» — вот формула Костофа. Она звучит прекрасно, но я не могу согласиться. Сетка не имеет конкретного политического смысла, но сетка имеет политический смысл как таковой. Сетка — это власть. Это не обязательно власть авторитарная. В традициях американской урбанистики принято связывать регулярную сетку с демократическим устройством, и это естественно для людей, у которых есть Нью-Йорк. Отцы-основатели США полагали, что правом голоса обладает землевладелец, а земельное законодательство этого времени предписывало размечать землю в ортогональной сетке, так что вместе получался яркий пространственный образ демократии — все граждане равны, у всех равные наделы, каждого можно свести к квадрату. Однако при этом стоит иметь в виду, что и Мэдисон, и Джефферсон, и Джей, и даже Гамильтон были людьми Просвещения и классицизма и, придумывая страну, вдохновлялись моделью древнегреческой колонизации. Сами по себе люди, поселившиеся рядом, в силу, я думаю, невозможности сбалансировать два базовых стадных инстинкта — права на равенство и права на первенство — не могут разделить свою территорию на равные прямоугольные части. Для этого нужен внешний фактор, осуществляющий это деление. Конечно, города мормонов (Солт-Лейк-Сити), греческих колонистов (Милет, Приена), римские военные лагеря (Тимгад, Сплит), сталинские и муссолиниевские города имели разное политическое устройство. Однако у них есть одна общая черта — все они были средствами колонизации территории. Я считаю, что это право — право перевода пространства из terra inconscia в terra sapiens — является прерогативой власти. Колонизация — это превращение диких территорий в цивилизованные еще до того, как на них поселились цивилизованные горожане. Колонизация может иметь самые разные цели — хозяйственные, административные, религиозные,— но эти цели достигаются с помощью политической власти. Если город основан железнодорожной компанией (как, например, Галва, штат Иллинойс) для спекуляции земельными участками, то это означает, что политическая власть в городе принадлежала железнодорожной компании, а если в 1833 году Джозеф Смит нарисовал идеальный план Сиона, воплощенный, по итогам исхода мормонов, в Солт-Лейк-Сити, то это значит, что политическая власть в этом городе принадлежала мормонам. Колонизация — властный жест. Если мы встречаем примеры добавления к городу с иррегулярной планировкой регулярной части (как в Неаполе) или сталкиваемся с регулярной перепланировкой исторического города — это улика вмешательства власти. Пожалуй, один из наиболее ярких примеров в истории градостроительства — перепланировка российских городов Екатериной Великой, учрежденной ей комиссией Ивана Бецкого, когда большинство из них получили регулярные планы. Этот грандиозный опыт можно связать с высказанной Александром Эткиндом идеей «внутренней колонизации» как основной стратегии российской государственности. Регулярный план был одновременно и средством модернизации страны, и признаком политического доминирования. Напротив, если мы сталкиваемся с постепенной утратой регулярности в городе — а это история большинства европейских городов, выросших на римской основе,— то перед нами след «ухода» власти из города. Так происходило вплоть до ХХ века — и вдруг все перевернулось. Бесконечные новые районы СССР, отчасти Европы (Франция, Германия), Азии — колонизация спальными районами происходит в форме оккупации свободных пятен без всяких признаков регулярности. Напротив, квартальная застройка исторических центров начинает ассоциироваться со свободной городской жизнью, традициями и «правом на город» (термин Анри Лефевра 1968 года, акцентирующий права городских сообществ в противостоянии власти и спекулятивному девелопменту). Как это возможно? Мне кажется, для ответа на этот вопрос стоит вспомнить, что в традиционном городе прямоугольник квартала застраивался сравнительно свободно. Мы встречаем там большое разнообразие форм — от городских вилл до многоэтажных домов-каре, от дворов-колодцев до парадных внутренних улиц. Свободная планировка спальных районов неотделима от стандартных жилых ячеек многоквартирных домов. Многоквартирный индустриальный дом — это регулярный город, сведенный в один объем, квадрат квартала, превратившийся в кубик квартиры. Именно поэтому, мне кажется, индустриальное многоквартирное жилье имеет достаточно ощутимый привкус репрезентации власти, и авторитарные режимы — как Россия или Китай — отдают заметное предпочтение этой форме расселения. Так власть становится ближе, интимнее: она приходит к вам в квартиру. По сравнению с этим клетки кварталов кажутся символами гражданских свобод и неформальных сообществ горожан.
Александр Эткинд, Осип Мандельштам
Стандартные типы макетов
Сайты на платформе Вин65 построены на макетах. Существует 12 различных типов макетов, которые используются на каждом сайте, и вам необходимо назначить файл HTML для каждого из них. Вы можете назначить один HTML-файл более чем одному типу макета или использовать уникальный HTML-файл для каждого из них. Файлы выбираются для каждого типа макета путем парсинга. Подробнее о парсинге здесь.
После применения файла шаблона HTML к одному из макетов, указанных ниже, он будет автоматически использоваться на указанных страницах.
Домашняя страница
Как правило, домашняя страница имеет другой макет, чем остальные страницы содержимого. Обычно включает разделы с изображениями и контентом, которые помогают направлять посетителей сайта в соответствующие места.
Щелкните для просмотра типа макета >
Основной
Это макет по умолчанию, который будет использоваться на всех страницах, не подпадающих ни под одну из перечисленных ниже категорий. Как правило, эта страница включает в себя вспомогательную навигацию.
Тележка — Наследие
Если вы используете новые инструменты Checkout, этот макет не будет работать. Подробнее о новых инструментах Checkout читайте здесь.
Используется на странице корзины. Этот макет должен быть широким по своей природе и не иметь левой или вторичной навигации; обычно такой же макет используется на кассе.
Нажмите, чтобы просмотреть тип макета >
Касса — Наследие
Если вы используете новые инструменты Checkout, этот макет не будет работать. Подробнее о новых инструментах Checkout читайте здесь.
Используется на странице оформления заказа. Этот макет должен быть широким по своей природе и не иметь левой или вторичной навигации; обычно такой же макет используется в корзине.
Участник
Этот макет используется на всех страницах участников. Он должен включать подменю для навигации между инструментами-членами.
Клуб — Наследие
Если вы используете новые инструменты Checkout, этот макет не будет работать. Подробнее о новых инструментах Checkout читайте здесь.
Этот макет используется на странице регистрации в клубе и должен быть шире.
Нажмите, чтобы просмотреть тип макета >
Товар
Этот макет используется на всех страницах продукта и обычно включает в себя дополнительную навигацию.
Нажмите, чтобы просмотреть тип макета >
Блог
Эта страница применяется к блогу и, как правило, имеет уникальный макет, поэтому теги блога Vin65 можно использовать для элементов навигации, таких как категории блогов и архивы блогов.
Детализация продукта
Этот макет используется на странице сведений обо всех продуктах. Как правило, он широкий по своей природе, и ярлыки продуктов на нем можно настроить в соответствии с потребностями винодельни.
Нажмите, чтобы просмотреть тип макета >
Печать — Наследие
Если вы используете новые инструменты Checkout, этот макет не будет работать. Подробнее о новых инструментах Checkout читайте здесь.
Это макет, используемый для получения товара в конце оформления заказа. Это должен быть очень простой макет, включая заголовок и адрес винодельни.
Вы можете протестировать макет печати, добавив что-нибудь в корзину и нажав «Оформить заказ».
В этот момент вы меняете URL-адрес в строке браузера на:
https://www.yourdomain.com/index.cfm?method=checkout.receipt
Затем нажмите кнопку «Распечатать квитанцию».
Детализация событий
Шаблон детализации события применяется к странице сведений о событии. Для этого можно использовать основной макет шаблона.
Нажмите, чтобы просмотреть тип макета >
Детализация рецепта
Шаблон детализации события применяется к странице сведений о рецепте. Для этого можно использовать основной макет шаблона.
Если вам нужно настроить одну страницу, у вас также есть возможность создать собственный макет. Кликните сюда, чтобы узнать больше.
04. Обычный макет • сводная таблица
Крис Бейлис
2022-10-04
Источник: виньетки/v04-regularlayout.Rmd
v04-regularlayout.Rmd
В этой виньетке
- Введение
- Что такое обычный макет?
- Типы обычного макета
- Табличная компоновка
- Контурный макет
- Настройки макета контура
- Установка параметров контура по умолчанию
- Пример компоновки комбинированного контура
- Пример компоновки многоуровневого контура
- Пример расчета контура
- Пример 9 иерархии переменной глубины0118
- Нестандартная компоновка
- Дополнительное чтение
Введение
На этой странице определяется «обычная компоновка», а затем описываются два основных типа
обычной компоновки, которые поддерживаются поворотным столом
упаковка. Большая часть этой страницы посвящена обсуждению более сложных
«Контурный» макет.
Что такое обычный макет?
Рассмотрим следующий пример сводной таблицы:
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addColumnDataGroups("PowerType") pt$addRowDataGroups("TOC") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()
Это обычная сводная таблица, поскольку каждый уровень строки и столбца заголовки связаны только с одной переменной, т. е.
- Первый уровень заголовков столбцов («Экспресс-пассажирский», «Обычный Пассажир» и т. д.) связаны с переменной «TrainCategory».
- Заголовки столбцов второго уровня («DMU», «EMU» и т. д.) относится к переменной «PowerType».
- Первый уровень заголовков строк («Arriva Trains Wales», «CrossCountry» и т. д.) связаны с «TOC» (Train Operating Компания) переменная.
Типы обычного макета
Комплект поворотного стола
поддерживает в основном два типа
обычный макет:
- Табличный макет
- Контурный макет
Эти типы макетов можно смешивать в сводной таблице.
Табличная схема
Табличная компоновка — это простейшая компоновка сводной таблицы. Где есть несколько уровней групп данных строк или столбцов, то дочерние группы отображается «под» родительской группой. Для групп данных столбцов, т.е. непосредственно под родителем. Для групп данных строк, то есть справа от родитель.
Дополнительных настроек табличной верстки нет.
Сводная таблица, показанная выше, является примером сводной таблицы с использованием табличное оформление. Другой пример сводной таблицы с использованием табличного макета: показано ниже.
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC") pt$addRowDataGroups("PowerType") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()
Контурный макет
Контурный макет — это альтернативный способ отображения групп данных строк. Группы данных родительских строк отображаются как заголовки непосредственно над дочерними данными. группы (т. е. вертикально вверху). Последний уровень групп данных строк не указан для использования структурного макета и остается с использованием табличного макета.
Контурный макет полезен, когда заголовки групп данных строк длиннее так как текст может течь вправо. Выделенные группы данных строк действуют как разделители в сводной таблице, которые иногда могут сделать сводную таблицу легче читать.
Контурный макет не применяется к группам данных столбцов — поскольку текст для групп данных столбца уже естественным образом течет вправо.
Контурный макет обычно делает сводные таблицы более узкими (т. е. ширину) и длиннее (т. е. выше по вертикали).
Самый простой способ включить макет схемы — указать layoutBefore=TRUE
в качестве аргумента при добавлении родителя
группы данных строки.
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", layoutBefore=TRUE) pt$addRowDataGroups("PowerType") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()
Сравнение группы данных одной строки (состоит из двух уровней, «TOC» и «Power Type»):
Группа данных строк в табличном макете
Группа данных строк в макете Outline
Макет Outline создает новую строку для TOC «CrossCountry» и делает заголовок обычного бланка группы «CrossCountry».
Группа данных строки в Outline Layout
Несмотря на то, что заголовок пуст, эта строка по-прежнему применяет Фильтрация «TOC=CrossCountry», т. е. числа одинаковы в обоих табличная компоновка и схематическая компоновка.
В приведенном выше примере сводной таблицы используется контурBefore=TRUE
,
который добавляет строку заголовка над каждой группой данных строки. По умолчанию
заголовок этой группы данных является значением группы данных.
Также можно указать layoutAfter=TRUE
. Этот
добавляет строку нижнего колонтитула под каждой группой rowdata. По умолчанию заголовок
эта группа данных пуста.
Полный набор строк в Outline Layout
Когда в группы строк добавляются дополнительные переменные, новые строки группы контуров никогда не разбиваются на вновь добавленные переменная, например когда к приведенному выше примеру было добавлено «PowerType», два новые строки не разбивались на «DMU», «HST» и т. д.
Пример сводной таблицы, показывающей строки структуры до и после:
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", схемаBefore=TRUE, схемаAfter=TRUE) pt$addRowDataGroups("PowerType") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()
Настройки макета контура
Некоторыми аспектами контурного макета можно специально управлять. Это делается путем указания списка настроек для схема до
, схема после
и/или схемаВсего
аргументов.
mergeSpace
Настройка mergeSpace
контролирует, как пустое пространство справа от
контурная строка будет объединена.
Не объединять
Указывает, что ничего не следует объединять.
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", layoutBefore=list(mergeSpace="doNotMerge")) pt$addRowDataGroups("PowerType") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()
только группы данных
Указывает, что следует объединять только заголовки строк.
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", layoutBefore=list(mergeSpace="dataGroupsOnly")) pt$addRowDataGroups("PowerType") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()
только клетки
Указывает, что следует объединять только ячейки.
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", layoutBefore=list(mergeSpace="cellsOnly")) pt$addRowDataGroups("PowerType") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()
dataGroupsAndCellsAs2
Указывает, что заголовки строк должны быть объединены в один
комбинированный заголовок строки и что ячейки должны быть объединены в одну ячейку.
Это значение по умолчанию используется, когда схема до=ИСТИНА
указано.
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", layoutBefore=list(mergeSpace="dataGroupsAndCellsAs2")) pt$addRowDataGroups("PowerType") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()
dataGroupsAndCellsAs1
Указывает, что заголовки строк и ячейки должны быть объединены в один.
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", layoutBefore=list(mergeSpace="dataGroupsAndCellsAs1")) pt$addRowDataGroups("PowerType") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()
Параметр
isEmpty
Обычно группы данных строк схемы не имеют значений в соответствующие ячейки в этих строках сводной таблицы.
Указание isEmpty=FALSE
вместо этого покажет
соответствующие расчетные значения в ячейках строк схемы. Этот
соответствует сумме значений из дочерних групп. Как правило,
когда isEmpty=FALSE
указано для данных родительской строки
группа, то итоговые строки отключаются для дочерних групп данных
указав addTotal=FALSE
.
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", контурBefore=список(isEmpty=FALSE, mergeSpace="dataGroupsOnly")) pt$addRowDataGroups("PowerType", addTotal=FALSE) pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot() 9Обычно для группа данных родительской строки, так что заголовок в строке общего итога отображается согласованным образом с остальными строками структуры (т. е. как объединенная ячейка, а не отдельные ячейки).библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", контурBefore=список(isEmpty=FALSE, mergeSpace="dataGroupsOnly"), схемаТотал = ИСТИНА) pt$addRowDataGroups("PowerType", addTotal=FALSE) pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()Заголовок
Настройка
Настройка подписи управляет заголовком, отображаемым в данных структуры группа. По умолчанию значение параметра заголовка равно
"{значение}"
. Изменение заголовка позволяет добавить дополнительный текст. быть показаны.библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", контурBefore = список (заголовок = "TOC: {значение}")) pt$addRowDataGroups("PowerType") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()groupStyleName
иgroupStyleDeclarations
НастройкиПараметр
groupStyleName
позволяет использовать новый базовый стиль. указан для групп контуров. Это полностью заменит встроенный стиль. Стиль с соответствующим названием должен существовать в Текущая тема сводной таблицы. См. виньетку Стайлинг для более подробной информации.В большинстве случаев указание дополнительных стилей с помощью
настройка groupStyleDeclarations
лучше, так как позволяет дополнительные объявления стиля, которые будут наложены на базовый/встроенный стиль.библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", контурBefore = список (groupStyleDeclarations = список (цвет = "синий"))) pt$addRowDataGroups("PowerType") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()cellStyleName
иCellStyleDeclarations
НастройкиПараметр
cellStyleName
позволяет использовать новый базовый стиль. указан для ячеек в строках структуры. Это будет полностью заменить встроенный стиль. Стиль с соответствующим названием должен существуют в текущей теме сводной таблицы. См. виньетку Стайлинг для более подробной информации.В большинстве случаев указание дополнительных стилей с помощью Настройка
cellStyleDeclarations
лучше, так как позволяет дополнительные объявления стиля, которые будут наложены на базовый/встроенный стиль.библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", контурBefore = список (mergeSpace = "не объединять", cellStyleDeclarations = список («цвет фона» = «светло-голубой»))) pt$addRowDataGroups("PowerType") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()Настройки nocg
При работе с иерархии переменной глубины. Все эти параметры имеют префикс «nocg». Подробнее см. в «Примере иерархии переменной глубины» ниже.
Установка параметров контура по умолчанию
Значения по умолчанию для контура
Before
,схемаПосле
исхемаВсего
параметров можно установить с помощьюpt$setDefault()
. Подробности см. в Приложении: Подробности.Пример компоновки комбинированного контура
В приведенном ниже примере сводной таблицы объединены несколько описанные выше настройки.
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", контурBefore = список (groupStyleDeclarations = список (цвет = "синий")), схемаПосле=список(пусто=ЛОЖЬ, mergeSpace="только группы данных", caption="Всего ({значение})", groupStyleDeclarations = список («стиль шрифта» = «курсив»)), контурTotal = список (groupStyleDeclarations = список (цвет = "синий"), cellStyleDeclarations=список("цвет"="синий"))) pt$addRowDataGroups("PowerType", addTotal=FALSE) pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()Примеры компоновки нескольких уровней
Пример сводной таблицы ниже добавляет третий уровень к группам строк, где выделены и первый, и второй уровни, оставляя третий уровень в виде таблицы.
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", контурBefore=список(isEmpty=FALSE, mergeSpace="только группы данных", groupStyleDeclarations = список (цвет = «синий»), cellStyleDeclarations = список (цвет = "синий")), контурTotal = список (groupStyleDeclarations = список (цвет = "синий"), cellStyleDeclarations = список (цвет = "синий"))) pt$addRowDataGroups("PowerType", добавитьИтого=ЛОЖЬ, контурBefore=список(isEmpty=FALSE, mergeSpace="dataGroupsOnly")) pt$addRowDataGroups("Статус", addTotal=FALSE) pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()В качестве альтернативы можно указать только первый уровень, оставляя второй и третий уровни в виде таблицы.
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$addRowDataGroups("TOC", контурBefore=список(isEmpty=FALSE, mergeSpace="только группы данных", groupStyleDeclarations = список (цвет = "синий")), контурTotal = список (groupStyleDeclarations = список (цвет = "синий"))) pt$addRowDataGroups("PowerType", addTotal=FALSE) pt$addRowDataGroups("Статус") pt$defineCalculation(calculationName="TotalTrains", summariseExpression="n()") pt$renderPivot()Пример расчета контура
Также можно поставить расчеты по строкам в сводке таблицу и наметить расчетные группы.
Ниже показана сводная таблица с расчетами по строкам табличного макет: библиотека
(сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$defineCalculation(calculationName="NumberOfTrains", caption="Количество поездов", суммироватьВыражение="n()") pt$defineCalculation(calculationName="MaximumSpeedMPH", caption="Максимальная скорость (MPH)", summariseExpression="max(SchedSpeedMPH, na. rm=TRUE)") pt$addRowCalculationGroups() pt$addColumnDataGroups("PowerType") pt$addRowDataGroups("TOC") pt$renderPivot()Та же сводная таблица показана ниже в схематическом виде. В этом повороте В таблице показаны два вычисления по строкам:
библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$addData(bhmtrains) pt$addColumnDataGroups("Категорияпоезда") pt$defineCalculation(calculationName="NumberOfTrains", caption="Количество поездов", суммироватьВыражение="n()") pt$defineCalculation(calculationName="MaximumSpeedMPH", caption="Максимальная скорость (MPH)", summariseExpression="max(SchedSpeedMPH, na.rm=TRUE)") pt$addColumnDataGroups("PowerType") pt$addRowCalculationGroups(outlineBefore=list(isEmpty=FALSE, mergeSpace="dataGroupsOnly", groupStyleDeclarations = список (цвет = «синий»), cellStyleDeclarations = список (цвет = "синий"))) pt$addRowDataGroups("TOC", addTotal=FALSE) pt$renderPivot()Пример иерархии переменной глубины
Для расширенных сценариев можно контролировать, будут ли данные группа или структура дочерней группы создается с использованием следующих параметров в
pt$addRowCalculationGroups()
иpt$addColumnCalculationGroups()
:
-
onlyAddGroupIf
— символьное значение, используемое в качестве дополнительные критерии фильтрации перед созданием каждой группы данных. Только если некоторые существуют строки, соответствующие этому фильтру, будет создана группа данных. в изображение ниже, это разрешает/запрещает создание всех строк. -
onlyAddOutlineChildGroupIf
— символьное значение, используется в качестве дополнительных критериев фильтрации перед созданием каждого дочернего элемента структуры группа данных. Только если существуют строки, соответствующие этому фильтру, будет создана дочерняя группа данных. На изображении ниже это позволяет/предотвращает генерируется только средняя (оранжевая «пустая») строка.
Группа данных строк в табличном макете
Если не создана дочерняя группа данных структуры, то некоторые дополнительные параметры могут быть указаны для управления тем, как контур перед/контур после того, как стили строк (например, верхняя и нижняя строки в примере изображения выше). Параметры:
-
nocgApplyOutlineStyling
— логический (ИСТИНА
/ЛОЖЬ
, по умолчаниюИСТИНА
) значение который указывает, следует ли применять стиль контура. -
nocgGroupStyleName
— символьное значение, определяющее альтернативное имя базового стиля для использования в группе. Названный стиль должен быть определены в теме сводной таблицы -
nocgGroupStyleDeclarations
— список стилей CSS объявления, которые должны быть применены к группе. -
nocgCellStyleName
— символьное значение, определяющее альтернативное имя базового стиля для использования в ячейках, связанных с этой группой. именованный стиль должен быть определен в теме сводной таблицы. -
nocgCellStyleDeclarations
— список стилей CSS объявления, применяемые к ячейкам, относящимся к этой группе.
Подробнее об именованных стилях и объявлениях стилей см. в виньетке «Стиль».
Эти дополнительные параметры указываются как часть схема до
или схема после
списков.
Пример ниже демонстрирует использование onlyAddOutlineChildGroupIf
для создания стиля баланса
таблица с переменным количеством уровней в группах данных строк:
df <- data. frame( Level1 = rep("Чистый предпринимательский доход", раз=12), Level2 = c(rep("Чистая операционная прибыль", 9), rep("Проценты и рента", 3)), Level3 = c(rep("Факторный доход", 8),"Компенсация работникам","Оплаченная арендная плата", "Выплаченные проценты", "Полученные проценты"), Уровень4 = c(rep("Чистая добавленная стоимость", 6), rep("Налоги и субсидии", 2), rep(NA, 4)), Level5 = c(rep("Валовая добавленная стоимость", 5),"Амортизация","Другие налоги на производство", «Другие субсидии (не связанные с конкретным продуктом)», представитель(NA, 4)), Level6 = c(rep("Продукция агропрома", 4), "Посреднические услуги", респ(Н.А., 7)), Level7 = c("Растениеводство","Животноводство", "Производство сельскохозяйственных услуг", "Прочая продукция", респ(Н.А., 8)), MaxGroupLevel = c(7,7,7,7,6,5,5,5,3,3,3,3), Бюджет2019= с(4150,39,4739,2,625,6,325,8,-6427,-2049,3, -145,4,2847,3,-1149,-221,2,-307,6,12,8), Actual2019 = c(3978,8,4341,1,603,7,343,-6063,9,-2079,6, -136,8,2578,6,-1092,9,-203,3,-327,6,14,1), Бюджет2020 = c(4210,94857,7676,6405,8,-6299,-2086,7, -145,4,2920,6,-1245,-236,5,-244,7,10,1), Act2020 = c(4373,7,5307,6,693,9,408,2,-7065,3,-1985, -154,2,3063,-1229,3,-268,2,-250,3,11,1) ) # настройки, связанные с группами контуров ob <- list(isEmpty=FALSE, nocgApplyOutlineStyling=FALSE, nocgGroupStyleDeclarations = список («вес шрифта» = «нормальный»)) библиотека (сводная таблица) pt <- сводная таблица $ новая () pt$setDefault(addTotal=FALSE, layoutBefore=ob) pt$addData(df) pt$addRowDataGroups("Уровень1", layoutBefore=TRUE, onlyAddOutlineChildGroupIf="MaxGroupLevel>1") pt$addRowDataGroups("Уровень2", layoutBefore=TRUE, onlyAddOutlineChildGroupIf="MaxGroupLevel>2", порядок сортировки данных = "пользовательский", customSortOrder=c("Чистая операционная прибыль", "Проценты и арендная плата")) pt$addRowDataGroups("Уровень3", layoutBefore=TRUE, onlyAddOutlineChildGroupIf="MaxGroupLevel>3", порядок сортировки данных = "пользовательский", customSortOrder=c("Факторный доход", "Оплата труда работников", "Оплаченная арендная плата", "Выплаченные проценты", "Полученные проценты")) pt$addRowDataGroups("Уровень4", layoutBefore=TRUE, onlyAddOutlineChildGroupIf="MaxGroupLevel>4") pt$addRowDataGroups("Уровень 5", layoutBefore=TRUE, onlyAddOutlineChildGroupIf="MaxGroupLevel>5", порядок сортировки данных = "пользовательский", customSortOrder=c("Валовая добавленная стоимость", "Амортизация", «Другие налоги на производство», «Другие субсидии (не связанные с продуктом)»)) pt$addRowDataGroups("Уровень6", layoutBefore=TRUE, onlyAddOutlineChildGroupIf="MaxGroupLevel>6", порядок сортировки данных = "пользовательский", customSortOrder=c("Продукция агропрома", "Промежуточные услуги")) pt$addRowDataGroups("Level7", dataSortOrder="custom", customSortOrder=c("Растениеводство", "Животноводство", «Производство сельскохозяйственных услуг», «Прочая продукция»), styleDeclarations=list("вес шрифта"="нормальный")) pt$defineCalculation(calculationName="Бюджет", summariseExpression="сумма(Бюджет2020)") pt$defineCalculation(calculationName="Фактическое", summariseExpression="сумма(фактическое2020)") pt$defineCalculation(calculationName="Отклонение", summariseExpression="сумма(фактическая2020)-сумма(бюджет2020)", формат="%. 1f") pt$evaluatePivot() # применяем красный стиль для отрицательной дисперсии ячейки <- pt$findCells(calculationNames="Отклонение", минимальное значение=-1000, максимальное значение=0, includeNull=FALSE, includeNA=FALSE) pt$setStyling(ячейки=ячейки, объявления=список("цвет"="#9)C0006")) # применить зеленый стиль для положительной дисперсии ячейки <- pt$findCells(calculationNames="Отклонение", минимальное значение = 0, максимальное значение = 10000, includeNull=FALSE, includeNA=FALSE) pt $ setStyling (ячейки = ячейки, объявления = список («цвет» = «# 006100»)) # рисуем сводную таблицу pt$renderPivot()
Неправильный макет
Все сводные таблицы на этой странице имеют обычный макет, т. е. где каждый уровень групп данных строк или столбцов относится только к одному переменная. Можно создавать собственные сводные таблицы, используя нестандартная планировка. См. Нерегулярный Макет для деталей.