Personalizar filtros de data nos dashboards

É possível personalizar o filtro de data atualizando a estrutura JSON do objeto de metadados (MD) do filtro de data por meio da API. Você pode:

  • Adicione, edite e remova granularidades no período relativo.
  • Adicionar, editar e remover filtros em períodos predefinidos
  • Renomear filtros
  • Definir um filtro padrão para novos dashboards

Para saber mais sobre a estrutura JSON padrão, consulte a seção Default date filter JSON structure, no final deste artigo.

Objeto de metadados do filtro de data

Para encontrar os objetos de MD do filtro de data:

  • Para todo o espaço de trabalho: https://secure.gooddata.com/gdc/md/workspace_ID/objects/query?category=dateFilterConfig&limit=1

  • Para um dashboard já criado: https://secure.gooddata.com/gdc/md/workspace_ID/obj/dashboard_ID

Cada filtro, ou parte de um filtro, é identificado por:

  • localIdentifier - um identificador exclusivo de um filtro na estrutura JSON.
  • name - o nome do filtro que é exibido no dashboard. Se você deixar o nome vazio, o dashboard o criará. Se adicionar seu próprio nome, atualize também as versões localizadas. Para obter detalhes, consulte Localização de metadados.

O tipo dos filtros corresponde aos seguintes nomes JSON:

Nome do dashboardNome JSON
O tempo todoallTime
Período estáticorelativePresets *
Período relativorelativeForm
Períodos predefinidosrelativePresets
* O período estático definido por você é adicionado à seção relativePresests da estrutura JSON.

Edite granularidades no período relativo.

O período relativo inclui granularidades que podem ser dias, semanas, meses, trimestres e anos no formato a seguir:

"GDC.time.week_us",  “GDC.time.month”,  “GDC.time.year”,  “GDC.time.quarter”,  “GDC.time.date”

Para remover qualquer granularidade, exclua o item da seção relativeForm. O código abaixo mostra o período relativo apenas com meses e anos.

"relativeForm" : { "granularities" : [ "GDC.time.month", "GDC.time.year" ], "localIdentifier" : "relativeForm", "name" : "relativeForm", "visible" : true },

Adicionar períodos predefinidos

Na seção relativePresets da estrutura JSON, você edita os períodos predefinidos do filtro de data.

Cada período predefinido consiste em:

  • granularity, que pode ser dias, semanas, meses, trimestres e anos no seguinte formato:

    "GDC.time.week_us",  "GDC.time.month",  "GDC.time.year",  "GDC.time.quarter",  "GDC.time.date"

  • de e a que especifica a duração do período com base na granularidade e em relação a hoje. Com base na granularidade, o número especifica a distância de hoje (que é sempre zero).  Aqui estão alguns exemplos:

    DeAGranularidadeObservações
    -20GDC.time.dateÚltimos 3 dias
    03GDC.time.week_usPróximas quatro semanas
    -21GDC.time.monthDois meses atrás a 1 mês depois
    -1-1GDC.time.quarterÚltimo trimestre
    00GDC.time.yearEste ano
  • localIdentifier que é um nome exclusivo no objeto de MD do filtro de data.

  • name que é o nome do filtro exibido no dashboard.

  • visible que especifica se o filtro está disponível no dashboard.

O código abaixo mostra uma nova predefinição que filtra os últimos 10 dias e está visível no dashboard.

{ "from" : -9, "granularity" : "GDC.time.date", "localIdentifier" : "last_10_days", "name" : "Last 10 days", "to" : 0, "visible" : true },

Renomear filtros

Para renomear um filtro de data ou parte dele, edite o parâmetro name desse filtro. Se você deixar o nome vazio, o nome será criado automaticamente.

O código abaixo mostra o “Período relativo” renomeado como “Definir um filtro relativo”.

"relativeForm" : { "granularities" : [ "GDC.time.month", "GDC.time.year", "GDC.time.quarter", "GDC.time.date" ], "localIdentifier" : "relativeForm", "name" : "Set a relative filter", "visible" : true },

Alterar o filtro padrão de novos dashboards

O parâmetro selectedOption determina qual filtro de data é exibido como padrão nos dashboards recém-criados.

Por padrão, todos os novos dashboards são filtrados como This month (este mês).

Para alterar o filtro padrão, adicione seu localIdentifier ao parâmetro selectedOption.

"selectedOption" : "relative_last_7_days"

Estrutura JSON do filtro de data padrão

A estrutura JSON do filtro de data consiste na definição de filtros individuais.

Você pode usar a estrutura JSON padrão a seguir como referência ou atualizar seu filtro de data.

 { "dateFilterConfig" : { "content" : { "absoluteForm" : { "localIdentifier" : "absoluteForm", "name" : "absoluteForm", "visible" : true }, "allTime" : { "localIdentifier" : "allTime", "name" : "allTime", "visible" : true }, "relativeForm" : { "granularities" : [ "GDC.time.week_us", "GDC.time.month", "GDC.time.year", "GDC.time.quarter", "GDC.time.date" ], "localIdentifier" : "relativeForm", "name" : "relativeForm", "visible" : true }, "relativePresets" : [ { "from" : -6, "granularity" : "GDC.time.date", "localIdentifier" : "relative_last_7_days", "name" : "Last 7 days", "to" : 0, "visible" : true }, { "from" : -29, "granularity" : "GDC.time.date", "localIdentifier" : "relative_last_30_days", "name" : "Last 30 days", "to" : 0, "visible" : true }, { "from" : -89, "granularity" : "GDC.time.date", "localIdentifier" : "relative_last_90_days", "name" : "Last 90 days", "to" : 0, "visible" : true }, { "from" : 0, "granularity" : "GDC.time.week_us", "localIdentifier" : "relative_this_week", "name" : "This week", "to" : 0, "visible" : true }, { "from" : -1, "granularity" : "GDC.time.week_us", "localIdentifier" : "relative_last_week", "name" : "Last week", "to" : -1, "visible" : true }, { "from" : -1, "granularity" : "GDC.time.week_us", "localIdentifier" : "relative_last_two_weeks", "name" : "Last two weeks", "to" : 0, "visible" : true }, { "from" : 0, "granularity" : "GDC.time.month", "localIdentifier" : "relative_this_month", "name" : "This month", "to" : 0, "visible" : true }, { "from" : -1, "granularity" : "GDC.time.month", "localIdentifier" : "relative_last_month", "name" : "Last month", "to" : -1, "visible" : true }, { "from" : -11, "granularity" : "GDC.time.month", "localIdentifier" : "relative_last_12_months", "name" : "Last 12 months", "to" : 0, "visible" : true }, { "from" : 0, "granularity" : "GDC.time.quarter", "localIdentifier" : "relative_this_quarter", "name" : "This quarter", "to" : 0, "visible" : true }, { "from" : -1, "granularity" : "GDC.time.quarter", "localIdentifier" : "relative_last_quarter", "name" : "Last quarter", "to" : -1, "visible" : true }, { "from" : -3, "granularity" : "GDC.time.quarter", "localIdentifier" : "relative_last_4_quarters", "name" : "Last 4 quarters", "to" : 0, "visible" : true }, { "from" : 0, "granularity" : "GDC.time.year", "localIdentifier" : "relative_this_year", "name" : "This year", "to" : 0, "visible" : true }, { "from" : -1, "granularity" : "GDC.time.year", "localIdentifier" : "relative_last_year", "name" : "Last year", "to" : -1, "visible" : true } ], "selectedOption" : "relative_this_month" } } }