Cube.js 不包括周末的时间序列

Cube.js time series excluding weekends

我正在使用 mongo db BI 连接器并尝试使用 cube.js 呈现日期系列图表。有没有办法应用具有日期范围的时间维度并仅考虑工作日? 下面是我的示例立方体架构和集合

cube(`Entries`, {
    sql: `SELECT * FROM db.entries`,    
    measures: {
      count: {
        type: `count`
      }
    },

    dimensions: {
      result: {
        sql: `result`,
        type: `string`
      },

      date: {
        sql: `date`,
        type: `time`
      },
    },
  });

查询:

{
     "measures": [
       "Entries.count"
      ],
      "timeDimensions": [
         {
            "dimension": "Entries.date",
            "granularity": "day"
         }
      ]
}

您可以通过引入 weekdays 段来做到这一点:

cube(`Entries`, {
  sql: `SELECT * FROM db.entries`,    
  measures: {
    count: {
      type: `count`
    }
  },

  dimensions: {
    result: {
      sql: `result`,
      type: `string`
    },

    date: {
      sql: `date`,
      type: `time`
    },
  },

  segments: {
    weekdays: {
      sql: `DAYOFWEEK(${date}) <> 1 AND DAYOFWEEK(${date}) <> 7`
    }
  }
});

并在查询中使用它,例如:

{
   "measures": [
     "Entries.count"
   ],
   "timeDimensions": [
       {
          "dimension": "Entries.date",
          "granularity": "day"
       }
   ],
   "segments": ["Entries.weekdays"]
}

要隐藏零周末值,请在准备数据时传递 fillMissingDates: false

resultSet.chartPivot({ fillMissingDates: false })

在此处了解有关细分的更多信息:https://cube.dev/docs/segments