reactjs - Cube.js React QueryBuilder:如果月份在周中发生变化,“本月”和“每周”不会从周初获取数据
问题描述
我理解如果月份从中间开始,为什么"This month"
结合"Weekly"
不能获得整周的数据。例如,从 9 月 27 日开始的那一周仍然显示为开始,但数据仅在设置过滤器2021-09-27
时取自,这是有道理的,但有时我们希望获得整周,即使月份在周中更改但我们不想设置更广泛的过滤器(甚至需要考虑太多周)。我尝试追溯 TimeDimensions 函数并在组件处结束,但它已导入,因此我看不到组件接受的内容,或者您是否可以添加. 有人对如何使这项工作有任何建议吗?2021-10-01
"This month"
"This quarter"
"This year"
"QueryBuilder"
"updateTimeDimensions"
from '@cubejs-client/react'
"Time Dimension"
"This month + full weeks"
解决方案
在将日期输入查询 time_dimensions 之前,您始终可以在前端操作日期。
定义一个函数,它接受你的 dateRange ['2021-10-1', '2021-10-31'] 并返回一个包含已完成周数的 dateRange,这可以使用 date-fns 或 moment.js 或 day.js。并在您选择“每周”时调用该函数。
这是一个必要的例子:
dateRange: any = [new Date('2021-10-1'), new Date('2021-10-31')];
startAndendWeeksIncluded = [
startOfWeek(this.dateRange[0], { weekStartsOn: 1 }),
endOfWeek(this.dateRange[1], { weekStartsOn: 1 }),
];
//OutPut ["2021-09-26T23:00:00.000Z", "2021-10-31T22:59:59.999Z"]
推荐阅读
- c - 为什么我不能使用带有字符指针变量的 scanf() 或 gets() strcat() strcpy() 等字符串函数?
- node.js - Heroku Node.js 应用程序不断崩溃并重新启动
- python - python:模拟类变量的多重继承
- reactjs - 在ajax调用后反应更新dom模板
- javascript - 基于用户输入的 JavaScript 字体颜色变化
- python - Pandas:如果无序,则跨列对 DataFrame 单元格进行排序
- java - JDK11 HttpClient 双向 tls
- php - Laravel 5.8 Class XXX 注入时不存在
- javascript - TypeORM 中的 OneToMany 关系在哪里
- react-native - React Native 自动导航到另一个屏幕