excel - Power BI DAX 表
问题描述
我正在尝试创建一个时间表以使过滤器范围在 0 到 23 小时之间。这将是我的第一个问题,但由于语法错误,我什至无法创建任何表。(我不记得如何做到这一点)。我正在使用 Power BI Desktop,这是 DAX 计算表语法:
DateTime =
ADDCOLUMNS (
CROSSJOIN(
CALENDAR(DATE(2000;1;1);DATE(2025;12;31));
UNION (
ROW ( "Time"; TIME ( 1; 0; 0 ) );
ROW ( "Time"; TIME ( 2; 0; 0 ) );
ROW ( "Time"; TIME ( 3; 0; 0 ) );
ROW ( "Time"; TIME ( 4; 0; 0 ) );
ROW ( "Time"; TIME ( 5; 0; 0 ) );
ROW ( "Time"; TIME ( 6; 0; 0 ) );
ROW ( "Time"; TIME ( 7; 0; 0 ) );
ROW ( "Time"; TIME ( 9; 0; 0 ) );
ROW ( "Time"; TIME ( 10; 0; 0 ) );
ROW ( "Time"; TIME ( 11; 0; 0 ) );
ROW ( "Time"; TIME ( 12; 0; 0 ) );
ROW ( "Time"; TIME ( 13; 0; 0 ) );
ROW ( "Time"; TIME ( 14; 0; 0 ) );
ROW ( "Time"; TIME ( 15; 0; 0 ) );
ROW ( "Time"; TIME ( 16; 0; 0 ) );
ROW ( "Time"; TIME ( 17; 0; 0 ) );
ROW ( "Time"; TIME ( 18; 0; 0 ) );
ROW ( "Time"; TIME ( 19; 0; 0 ) );
ROW ( "Time"; TIME ( 20; 0; 0 ) );
ROW ( "Time"; TIME ( 21; 0; 0 ) );
ROW ( "Time"; TIME ( 22; 0; 0 ) );
ROW ( "Time"; TIME ( 23; 0; 0 ) );
ROW ( "Time"; TIME ( 24; 0; 0 ) )
)
);
"DateTime"; [Date] + [Time];
"Hour"; HOUR ( [Time] )
)
这给了我语法错误;(我也试过“,”)。我很确定我写错了一些简单的东西,错误/错误在哪里?谢谢
我尝试使用此代码(从 Internet 粘贴)但这不起作用:
DATET= CALENDAR (DATE (2017, 1, 1), DATE (2017, 12, 31))
解决方案
以下对我有用(并生成 227,928 行):
DateTime = ADDCOLUMNS(
CROSSJOIN(
CALENDAR(DATE(2000,1,1), DATE(2025,12,31)),
GENERATESERIES(0,23,1)
),
"DateTime", [Date] + TIME([Value], 0, 0)
)
推荐阅读
- php - 从 PHP 调用 Ajax
- c - 睡眠时信号处理比旋转慢?
- javascript - 如何将 FontAwesome 放在 select 标签的值中
- linux - 如何使用进程 ID 和端口来识别网站?
- asp.net-core - ASP.NET Core 2.2 已删除用户已授权
- php - 使用 Sessions 在 PHP 中显示不同的登录错误
- php - 比较数组中的值并将其从数组中删除 - php
- angular - 以角度形式预先填充输入
- google-apps-script - 如果单元格 = 0 Google 表格,则一次删除多行
- google-bigquery - 在 BigQuery 界面中使用变量名称创建表