Nano Hash - криптовалюты, майнинг, программирование

IcCube сообщает о предварительно выбранных датах в слайсере дат

что я могу поместить в метку «Предварительный выбор», чтобы получить начало текущего месяца?

введите здесь описание изображения


Ответы:


1

Есть еще вариант, который не требует javascript и, скорее всего, проживет дольше. Выбор диапазона может использовать значения из MDX, поэтому мы можем изменить запрос, чтобы получить то, что мы ищем:

WITH
SET [dates] as [Time].[Calendar].[Day].allmembers
Function ic3Min() as Head([dates])
Function ic3Max() as Tail([dates])
Function ic3DefFrom() as Tail([dates]).dtWithDayOfMonth(1)  // first day of month , not the same as withDayOfMonth
Function ic3DefTo() as Tail([dates])
SELECT
{ic3Min(),ic3Max(),ic3DefFrom(),ic3DefTo()} on 0
FROM [Sales]
CELL PROPERTIES CELL_ORDINAL

У вас есть хорошее семейство функций даты в MDX, которые позволяют перемещаться по времени. В нашем примере LookupByKey,Сегодня и сДнемМесяца. Что-то вроде

[Time].[Calendar].[Day].lookupByKey( Today()->withDayOfMonth(1) )

Это может быть преобразовано в функцию для повторного использования:

 Function  myDatesStartOfCurrentMonth() as [Time].[Calendar].[Day].lookupByKey(Today()->withDayOfMonth(1) )

В конце концов вам придется изменить фильтр, чтобы использовать значения MDX:

введите здесь описание изображения

И это должно получиться.

09.05.2017

2

Нет возможности установить такой предварительный выбор с существующими параметрами данных, но вы можете добиться необходимого поведения с помощью ловушек JavaScript виджета.

Чтобы установить предварительный выбор на первый день месяца:

  • Настроить параметры данных

например Как на скриншоте выше, но без предварительного выбора

  • Перейти к категории крючков параметров виджета

  • Скопируйте приведенный ниже код в значение хука "При получении данных":

При получении данных (для icCube 6.1):

/**
 * Return data object
 */
function(context, data, $box) {
    context.fireEvent('initDate', {caption_: moment().set('date', 1).format('YYYY-MM-DD')})
    return data;
}

При получении данных (для более ранних версий):

/**
 * Return data object
 */
function(context, data, $box) {
    context.eventMgr().fireEvent('initDate', {caption_: moment().set('date', 1).format('YYYY-MM-DD')})
    return data;
}
  • Настройте раздел событий следующим образом:

Раздел событий

Обновление для предварительного выбора диапазона

Чтобы применить предварительный выбор диапазона, измените тело JavaScript хука On Data Received на:

 /**
 * Return data object
 */
function(context, data, $box) {
    let event = new viz.event.RangeSelectionEvent([
        {name: moment().set('date', 1).format('YYYY-MM-DD')},
        {name: moment().set('date', 2).format('YYYY-MM-DD')}
    ]);
    context.fireEvent('initDate2', event)
    return data;
}

P.S. Проверьте Демонстрационный отчет чтобы увидеть, как это работает.

08.05.2017
  • Спасибо за ответ, это было очень полезно. каков правильный синтаксис для запуска события, если я хочу установить как предварительный выбор, так и предварительный выбор из хуков JavaScript виджета? 08.05.2017
  • Ответ @ItayRegev расширен с учетом диапазона. Надеюсь, поможет! 09.05.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..