Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите чайнику с измерением времени в Oracle Express
|
|||
|---|---|---|---|
|
#18+
Здравствуйте уважаемые знатоки Oracle Express! Давно мучаюсь с измерением времени. Пока использую только два пути: 1. Создаю иерархию из текстовых строк путем импорта из внешнего файла (такой примерчик поставлялся с Express Server) типа: 2004 1 квартал январь 01.01.04 02.01.04 ... февраль ... Такой способ неудобен, так как каждый раз при поступлении данных за месяц, отсутствующий в измерении, приходится генерировать новые элементы иерархии. 2. В измерении времени использую стандартный предопределенный тип Month, такой вариант более приемлем, так как заполняет недостающие значения измерения. Но никак не получается комфортно создать агрегайии по кварталам и по годам, или добавить дни. Получается как отделельные измерения. Т.е. не удается сделать иерархию, чтобы разворачивать и сворачивать вложенные элементы иерархии. Помогите, пожалуйста! Может кто знает, как правильно создавать измерение времени? Буду очень признателен за любую помощь в решении этой проблемы. -=- С уважением, Илья Салов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2004, 09:28 |
|
||
|
Помогите чайнику с измерением времени в Oracle Express
|
|||
|---|---|---|---|
|
#18+
Как правильно - наверное неправомерный вопрос. Лично я предпочитаю способ 1, не вижу особых проблем с добавлением новых элементов. Советую только без необходимости элементы измерений (и другие метаданные) по русски не называть (для этого есть label, dsc и пр.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2004, 10:33 |
|
||
|
Помогите чайнику с измерением времени в Oracle Express
|
|||
|---|---|---|---|
|
#18+
Называй например 20000000 (Год) 20000100 (Месяц) 20000101 (день) 20000102 20000103 ... 20001200 ... 20010000 С сортировкой и иерархиями проблем не будет, влазит в 8 значный тип ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2004, 12:02 |
|
||
|
Помогите чайнику с измерением времени в Oracle Express
|
|||
|---|---|---|---|
|
#18+
Спасибо, Bill_ и DimaR, очень понравился вариант с 8-значными элементами. Так как в используемом мной варианте, сложно делать выборку значений. А в предложенном, с этим не будет проблем! Спасибо всем, кто принял участие в помощи! Если есть и еще какие варианты, то буду рад и их рассмотреть. -=- С уважением, Илья Салов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2004, 15:28 |
|
||
|
Помогите чайнику с измерением времени в Oracle Express
|
|||
|---|---|---|---|
|
#18+
Илья, у меня есть определённые наработки, можно сказать, программный продукт для генерации текстовых файлов измерения ВРЕМЯ. Генерируется многоуровневая иерархическая структура с поддержкой уровней год, полугодие, квартал, месяц, декада, неделя, день плюс поддержка нескольких видов календарей (праздничных дней, рабочих и т.д). Всего можно нагенирить более ста атрибутов для продвинутого анализа зависимости показателей от времени. Состав атрибутов и степень нормализации получающихся таблиц можно гибко настраивать, для этого имеется визуальный интерфейс. Возможна генерация скриптов для загрузки в Oracle с помощью утилиты loader. Это имеет мало отношения к Oracle Express, но если Вы создаёте измерение ВРЕМЯ из текстовых файлов, то мои наработки могут помочь. Если есть интерес, пишите мне на lissianski@mail.ru С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2004, 10:45 |
|
||
|
Помогите чайнику с измерением времени в Oracle Express
|
|||
|---|---|---|---|
|
#18+
В комплект поставки Oracle Warehouse Builder входит функция в виде sql скрипта (Create Function ...), которую можно использовать для генерации разных видов дат. Она работает так - на вход подаем какую либо дату, а на выходе берем одно из 20 или 30 полей, содержащих различные преобразования этой даты (год, месяц, квартал, год и т.п.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2004, 11:29 |
|
||
|
Помогите чайнику с измерением времени в Oracle Express
|
|||
|---|---|---|---|
|
#18+
2Birkhoff: В комплект поставки Oracle Warehouse Builder входит функция в виде sql скрипта (Create Function ...), которую можно использовать для генерации разных видов дат А ссылочку на документ, где она описывается не дадите? Желательно в интернете. Спасибо. С уважением, Константин Лисянский http://lissianski.narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2004, 14:12 |
|
||
|
Помогите чайнику с измерением времени в Oracle Express
|
|||
|---|---|---|---|
|
#18+
2 Константин Лисянский В документации об этом сказано пару слов буквально. An example of a time dimension is provided for you with your Warehouse Builder installation in the form of a Metadata Loader (.MDL) file. Navigate to OWB_Home_Directory\owb\misc\time directory. The readme.txt file in that directory explains how to use the prepackaged .MDL and .SQL files. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2004, 17:21 |
|
||
|
Помогите чайнику с измерением времени в Oracle Express
|
|||
|---|---|---|---|
|
#18+
Я делаю так: Временное dimension текстовая переменная select: sql declare C1 cursor for - select - distinct - to_char(DATE,'dd'), - to_char(DATE,'mm'), - to_char(DATE,'yyyy') - from ORDER - order by to_char(DATE,'yyyy'),to_char(DATE,'mm'),to_char(DATE,'dd') fetch: while SQLCODE eq 0 do sql Fetch C1 into - :_d :_m :_y _date=joinchars(_d'.'_m'.'_y) _mdate=joinchars(_m'.'_y) mnt tdate merge _date "Загрузка дня mnt tdate merge _mdate "Загрузка месяца mnt tdate merge _y "Загрузка года "Загрузка года в иерархию limit tdate to _y ictd.parent=1 "Загрузка месяца в иерархию limit tdate to _mdate ictd.parent=_y "Загрузка дня в иерархию limit tdate to _date ictd.parent=_mdate doend _d,_m,_y,_date,_mdate текстовые переменные Единственное, что нужно создать руками — это самый верхний уровень типа "Весь период" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2005, 08:19 |
|
||
|
|

start [/forum/topic.php?fid=49&tid=1871626]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
31ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 378ms |

| 0 / 0 |
