Изменить идентификатор элемента атрибута Gooddata

Пока Gooddata не работает с часами, мы создали два набора атрибутов (begin_hour и end_hour) для обработки часов дня (с 00 до 23).

У нас также есть набор данных Store, в котором есть два поля для обработки рабочего времени каждого магазина (store_begin_hour и store_end_hour).

Чтобы получить значения только из рабочего времени каждого магазина, мы сделали следующую метрику:

select avg(store_temperature) where begin_hour >= store_begin_hour and end_hour <= store_end_hour

Сначала это работало, но мы заметили, что не было никаких данных за несколько часов (15,16,17). Затем мы посмотрели на элементы? Id каждого из атрибутов часа и обнаружили проблему.

Элемент? Id этих 3 часов (15, 16, 17) не имел той же последовательности, что и остальные (... 13h = 22, 14h = 23, 15h =7, 16h =6, 17h =9, 18h = 24...), поэтому он не был включен в критерии отбора.

Я попытался удалить значения атрибута часа и снова загрузить те же данные в эти наборы данных, но идентификатор все равно остается прежним.

Есть какой-нибудь способ изменить эти 3 идентификатора за эти 3 часа?

OBS: "Идентификатор", о котором я говорю, - это не поле, а идентификатор URL каждого значения атрибута, как на изображении ниже:

идентификатор атрибута

3 ответа

Я решил эту проблему, вставив эти 3 часа (15,16,17) в оговорку.

Что-то вроде "выберите значение где (час между 08 и 18) или (час в (15,16,17))".

Я знаю, что делать такие хаки нехорошо, но другого выбора у меня, видимо, не было.

Спасибо, ребята, за все ответы! Ты обалденный!

Есть способ, как работать с часами и минутами в GoodData, используя пользовательское измерение даты.

Но чтобы полностью ответить на ваш вопрос, необходимо изучить вашу логическую модель данных. Не могли бы вы поделиться им через службу поддержки@gooddata.com? Спасибо!

В общем, числовые сравнения, такие как begin_hour >= store_begin_hour работает только с числовыми типами, то есть фактами. Внутренние числовые идентификаторы значений атрибутов автоматически генерируются во время загрузки и не могут быть изменены конечным пользователем.

Если вы хотите использовать свое пользовательское измерение времени как для нарезки, так и для числовой фильтрации, я рекомендую расширить его дополнительными фактами (или, может быть, просто хотите, чтобы факт был в течение минуты дня).

Просто для полноты - есть одно исключение из того, что я описал в первом абзаце - встроенное измерение даты GoodData. Его встроенные атрибуты даты имеют двойной атрибут / фактический символ, и их можно использовать как для нарезки, агрегирования, так и для числового сравнения.

Надеюсь, поможет,

Павел

Другие вопросы по тегам