Я не уверен, что здесь есть единственное лучшее решение - это во многом зависит от вашей среды, ваших пользователей и т. д.
Если у вас есть довольно наивные пользователи, то я определенно рекомендую один полный репозиторий, если это возможно; будь то файл .sas7bcat, если вы используете одну версию/ОС/разрядность SAS, или готовую таблицу/набор данных для ввода в PROC FORMAT (и файл .sas, включенный в их autoexec, для выполнения импорта). Самым большим недостатком этого является то, что вы должны активно им управлять (например, вы не можете позволить пользователям записывать свои собственные форматы в набор данных основного формата, поскольку они могут перезаписывать другие), и что потребуется дополнительная работа для обеспечения форматирования. имена не конфликтуют - YNF.
может быть 1=YES 2=NO
или 1=YES 0=NO
или чем-то еще. Это также не позволяет вам легко обрабатывать даты вступления в силу; но, возможно, это лучше для ваших пользователей (и тогда просто обрабатывать документацию отдельно).
Если у вас есть более продвинутые пользователи, вы можете рассмотреть таблицу/набор данных, которые являются более реляционными по своей природе. Гибридный подход может включать набор данных со столбцами:
- Имя набора данных (при необходимости уточняется для обеспечения уникальности)
- Название формата
- Начинать
- Этикетка
- Другие элементы (Тип, HLO и т. д.)
- Дата вступления в силу
Это позволит пользователям вносить свои собственные изменения (при условии, что вы достаточно доверяете им, чтобы правильно добавить имя набора данных, в любом случае - или настроить хранимую процедуру для добавления из временной таблицы, которая проверяется на наличие конфликтов) и позволит вам обрабатывать имена форматов, которые конфликтный. У вас все равно должен быть способ, которым пользователь может обрабатывать несколько наборов данных, если это необходимо (например, путем добавления некоторого уникального элемента к имени формата по умолчанию, например «идентификатор набора данных»).
Однако, на мой взгляд, лучшим вариантом является использование словаря данных для обработки метаданных, который сочетает самодокументирование с управлением метаданными. Как и выше, у вас есть таблица с набором данных и элементами формата, но вы добавляете столбцы для описательного текста (например, описание вопроса) и другой полезной информации, в зависимости от ваших вариантов использования. Это можно сохранить в таблице базы данных или наборе данных или, возможно, более полезно в Excel или подобном документе, который можно использовать совместно с непрограммистами и легко редактировать. Я использую этот метод для нескольких проектов, и он окупился, позволив моим пользователям помогать писать документацию для моего кода, поддерживая точность и актуальность моих программ, сводя к минимуму постоянные обсуждения обновлений. Я просто импортирую электронную таблицу и запускаю формат proc каждый раз, когда запускаю свои данные.
Затем у вас может быть одна электронная таблица для каждого набора данных, одна вкладка или одна полная электронная таблица со всеми наборами данных в них — в зависимости от того, что проще всего использовать. Это также легко решает проблемы типа «дата вступления в силу» или даже управление версиями, поскольку это можно обрабатывать в электронной таблице.
person
Joe
schedule
05.09.2013