powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Drill по времени (MSTR)
5 сообщений из 5, страница 1 из 1
Drill по времени (MSTR)
    #32975275
Фотография JenkusPenkus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ХАй

кто нибудь может раскрыть тему почему так слабо с преоброзованием времени в MSTR? или я что то не так делаю?

Вообщем решил поэкспериментировать
убрал справочник по времени и стал использовать стандартные функции
типа Year() из поля datetime

получилось вот что (группровка по году)
select DATEPART(YEAR, a11.CA_DATA) CustCol,
count(distinct a11.CA_MSISDN) WJXBFS1
from dbo.CA a11
group by DATEPART(YEAR, a11.CA_DATA)

потом из отчета выбираю год(2005) и хочу перейти на месяц.
select DATEPART(MONTH, a11.CA_DATA) CustCol_1,
count(distinct a11.CA_MSISDN) WJXBFS1
from dbo.CA a11
where DATEPART(YEAR, a11.CA_DATA) in (CONVERT(datetime, '1899-12-30 00:00:00', 120))
group by DATEPART(MONTH, a11.CA_DATA)

Почему же 1899??
и почему CONVERT? хотя просто нужно было поставить ('2005')

:(
...
Рейтинг: 0 / 0
Drill по времени (MSTR)
    #32975332
Фотография JenkusPenkus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще интересно следующее
когда сохраняю производный отчет с группировкой по месяцам
вижу в Editor что фильтр такой
Год in list (2005)
однако он не действует если этот отчет запустить

меняю на exactly и тут то все начинает работать...
вот гад, а...
...
Рейтинг: 0 / 0
Drill по времени (MSTR)
    #32975400
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мой Вам совет - лучше пользуйтесь нормальным измерением ВРЕМЯ и не парьтесь с функциями.
Мало того, что индексы не будут работать, там где они работают со столбцами, ещё и в возможностях проиграете по сравнением с использованием таблиц. Как, например, Вы из даты поймёте, является ли данный день праздничным или выходным, если не использовать таблицу измерения?

Я так понимаю, что Вы хотите избежать лишнего джойна? Тут надо заметить, что отсутствие индекса для проведения операции GROUP BY может наоборот замедлить выполнение запроса, даже если нет джойна. Нормальная СУБД в приведённом Вами запросе сначала выполнит агрегацию, а потом будет выполнять джойн.

Удивляюсь, как на ровном месте можно найти для себя столько проблем...

Удачи в борьбе с функциями.

С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
Drill по времени (MSTR)
    #32975418
Фотография JenkusPenkus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) да ууж.
спасибо

кстати DimModeler поддерживает ли MS SQL?
...
Рейтинг: 0 / 0
Drill по времени (MSTR)
    #32975749
Константин Лисянский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:) да ууж.
спасибо

Не за что :)

кстати DimModeler поддерживает ли MS SQL?

Да, поддерживает. Существует специальный модуль для генерации DDL - называется DBMS Driver. Вот его функциональность:

Feature
Description

CREATE TABLE statements generation
DBMS Driver automatically generates CREATE TABLE statements

DROP TABLE statements generation
DBMS Driver automatically generates DROP TABLE statements to give users an opportunity to create tables more than once

PRIMARY KEY constraint generation
DBMS Driver automatically generates primary keys for the tables using DimensionModeler metadata

FOREIGN KEY constraint generation
DBMS Driver automatically generates foreign keys for the tables using DimensionModeler metadata

NULL/NOT NULL constraint generation
DBMS Driver automatically generates NULL/NOT NULL constraints for the tables using DimensionModeler metadata and our knowledge about the uniquness of the corresponding column values

UNIQUE constraint generation
DBMS Driver automatically generates NULL/NOT NULL clauses for the tables using DimensionModeler metadata

CHECK constraint generation
CHECK constraint expressions are generated automatically depending on the TIME dimension attribute that a column represents

CREATE INDEX generation
DBMS Driver automatically generates CREATE INDEX statements for the tables using DimensionModeler metadata and our knowledge about how the columns must beindexed to achieve better performance

DROP INDEX generation
DBMS Driver automatically generates DROP INDEX statements for the tables using DimensionModeler metadata

File options
Users can choose whether to generate DDL for all tables into one file or to create one DDL file per table

Command file generation
Automatic generation of command files that run the generated DDL using DBMS native utilities for batch SQL execution (like isql in the case of Microsoft SQL Server)

Seamless integration with DimensionModeler Base Module
DBMS Drivers are built into DimensionModeler's GUI and use the same project files
to store their own metadata

В данный момент разрабатывается функциональность, связанная с генерацией скриптов сбора статистики по таблицам измерения ВРЕМЯ для пущей скорострельности. Скоро будет готово.

Источник здесь .
Рекомендую посмотреть также описание модуля для Microstrategy коль скоро Вы им пользуетесь.

Пример кода для создания нескольких таблиц в MS SQL Server, который он может сгенерировать для приведён здесь .

Дальше, есть модуль (Data Loader), который генерирует скрипты bcp для закачки сгенерированных данных в MS SQL.

В общем, MS SQL поддерживается хорошо.


С уважением,
Константин Лисянский
http://lissianski.narod.ru
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Drill по времени (MSTR)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]