【问题标题】:Power BI DAX TablePower BI DAX 表
【发布时间】:2023-03-17 00:20:02
【问题描述】:

我正在尝试创建一个时间表以使过滤器范围介于 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))

【问题讨论】:

  • 当我将所有 ; 替换为 , 时,您的语法对我来说很好。
  • 它对我不起作用,用逗号或分号。
  • 尝试使用“输入数据”创建表,然后创建“新快速度量”以查看 Power BI 如何创建 DAX 公式语法。我很好奇有效措施的外观。

标签: excel powerbi dax powerquery m


【解决方案1】:

以下对我有用(并生成 227,928 行):

DateTime = ADDCOLUMNS(
               CROSSJOIN(
                   CALENDAR(DATE(2000,1,1), DATE(2025,12,31)),
                   GENERATESERIES(0,23,1)
               ), 
               "DateTime", [Date] + TIME([Value], 0, 0)
           )

【讨论】:

  • 这不行,我用逗号和分号试过:i.imgur.com/rvnA0Ub.png
  • 使用逗号时出现同样的错误?它在我的程序中运行良好。
  • 您是否在regional settings 中定义了不同的列表分隔符?
  • 嗯,区域设置“Locale for import”配置为“Spanish”……是这个意思吗?
  • 我的意思是,在我链接的帖子的最后一张图片中,“列表分隔符”显示的是什么字符?
【解决方案2】:

由于某种原因,数字换行被配置为默认值,但我们仍然必须使用引号来换行,例如:

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] )
)

【讨论】:

    猜你喜欢
    • 2017-06-21
    • 2021-12-18
    • 2022-08-13
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 2016-07-04
    • 2021-07-15
    • 2020-11-19
    相关资源
    最近更新 更多