Отформатировать дату в измерении

mpuzanovmpuzanov Ижевск
отредактировано 16:31 Раздел: FastCube
Не получается отформатировать дату в измерении или в фильтре при
создании среза.
Делаю так

AIndex := AddFieldTo('date_edit', 'Дата закрытия', rf_CapYAx);
CapYFields[AIndex].DisplayFormat.Kind:=fkDateTime;
CapYFields[AIndex].DisplayFormat.FormatStr:='dd.mm.yyyy';
или так
AIndex := AddFieldTo('day', 'Дата платежа', rf_Page, af_None, ''); // область фильтра
SliceFields[AIndex].CubeField.DisplayFormat.FormatStr := 'dd.mm.yy';

всё выходит в формате типа 0:00 07.02.2012

Если делать как в примерах поиском конкретных полей после запроса то смена формата работает.
Хотелось бы узнать как сразу в срезе надо делать.

Комментарии

  • отредактировано 16:31
    Приветствую.

    Несколько моментов, касающихся формата вывода значения:
    1. При создании поля куба (TfcCubeField) формат устанавливается в соответствии с типом. Свойства берутся из TfcCube.DefaultFormat.
    2. При создании поля региона (TfcFieldOfRegion) формат устанавливается как в базовом поле куба (TfcCubeField).
    3. При переносе поля между регионам происходит уничтожение поля региона и создание его в новом регионе.
    4. Изменение формата в поле куба не меняет формат в созданных полях региона.
    5. При выводе в осях используется формат из поля региона.
    6. При выводе в списке фильтра используется формат из поля куба.

    Самый правильный путь - присвоить нужный формат полю куба до формирования схемы.
    Или одновременно изменить его и в поле куба и в поле региона.
    А можно изначально изменить TfcCube.DefaultFormat.

    Первый Ваш пример правильный. Должно работать для значений в осях.
    Во втором примере ошибка.
    Для обращения к полю куба надо писать:
    CapPageFields[AIndex].SliceField.CubeField.DisplayFormat.FormatStr := 'dd.mm.yy';

    С уважением,
    Олег Прялков.
  • отредактировано 16:31
    Ну и как, получилось? :)
    http://pravoslavnij.ru/molitvy/molitva-optinskix-starcev
  • mpuzanovmpuzanov Ижевск
    отредактировано 16:31
    reacnhappy написал: »

    У меня получилось только целиком на куб(когда у него Active=false) менять формат
    например:
    DM3.fcCube_ces.DefaultFormat.DateTimeFormat.FormatStr := 'dd.MM.yyyy';
  • отредактировано 16:31
    Чуть другой вопрос но по этой же теме.

    Есть dataset, приходящий из MSSQLServer 2005 , в котором есть поле типа TdateTime. Мне в отчете и кубе ВООБЩЕ НЕ нужна инорфмация о времени, поэтому я средствами SQL избавляюсь от него, округляя значение даты. В Delphi у такого поля ставлю формат отображения "dd.mm.yyyy".
    НО! в Кубе, который строится на основе данного набора данных формат отображения получается '0:00 21.06.2012' (то есть с временем, которое 0:00).

    Вопрос: Как изменить формат отображения даты в кубе.
  • отредактировано 16:31
    Что сюда поддержка не заходит??? простой вопрос без ответа две недели???

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.