GENERATESERIES() 以半小时为增量

GENERATESERIES() in half hour increments

我正在使用下面的 DAX 代码创建日期时间 table,但是,我试图每半小时递增一次,但我不确定如何去做。

DateTime = 
ADDCOLUMNS (
    CROSSJOIN (
        CALENDAR(DATE(2021,01,01),DATE(2021,01,01)),
        SELECTCOLUMNS(GENERATESERIES(0,23,1),"Time",TIME([Value],0,0))
    ),
    "DateTime", [Date] + [Time]
)

您可以像这样修改您拥有的内容:

DateTime = 
ADDCOLUMNS (
    CROSSJOIN (
        CALENDAR(DATE(2021,01,01),DATE(2021,01,01)),
        SELECTCOLUMNS(GENERATESERIES(0,23.5,.5),"Time",TIME([Value],([value]-INT([value]))*60,0))
    ),
    "DateTime", [Date] + [Time]
)

你可以这样做

SELECTCOLUMNS ( GENERATESERIES ( 0, 47, 1 ), "Time", [Value] / 48 )

然后将时间列的数据类型转换为时间。

你几乎明白了,但考虑到一分钟只是一天的 1/1440

DateTime = 
ADDCOLUMNS(
    CROSSJOIN(
        CALENDAR( DATE( 2021, 1, 1), DATE( 2021, 12, 31)),
        DATATABLE("Minutes", INTEGER,{{0}, {30}})
    ),
    "DateTime", [Date] + [Minutes] / (24 * 60)
)