电源双时间桶

时间:2017-10-21 04:25:33

标签: powerbi

Time bucket

列dax查询:

Column = if(Table1[TransactionDate].[Date]=Table1[COBProcessDate].[Date], 
    SWITCH (
        TRUE (),
     HOUR ( Table1[COBProcessDate] )
    + MINUTE ( Table1[COBProcessDate]) / 60
    >= 6
    && HOUR ( Table1[COBProcessDate] )
        + MINUTE ( Table1[COBProcessDate] ) / 60
        < 8.5, "6:00 a.m. - 8:30 a.m.",
HOUR ( Table1[COBProcessDate])
    + MINUTE ( Table1[COBProcessDate]) / 60
    >= 8.5
    && HOUR ( Table1[COBProcessDate])
        + MINUTE ( Table1[COBProcessDate]) / 60
        < 9.5, "8:30 a.m. - 9:30 a.m",
HOUR ( Table1[COBProcessDate].[Date] )
    + MINUTE ( Table1[COBProcessDate]) / 60
    >= 9.5
    && HOUR ( Table1[COBProcessDate])
        + MINUTE ( Table1[COBProcessDate] ) / 60
        < 12, "9:30 a.m. to noon",
HOUR ( Table1[COBProcessDate] )
    + MINUTE ( Table1[COBProcessDate] ) / 60
    >= 12
    && HOUR ( Table1[COBProcessDate])
        + MINUTE ( Table1[COBProcessDate]) / 60
        < 15.5, "noon to 3:30 p.m.",
HOUR ( Table1[COBProcessDate].[Date] )
    + MINUTE ( Table1[COBProcessDate] ) / 60
    >= 15.5
    && HOUR ( Table1[COBProcessDate] )
        + MINUTE ( Table1[COBProcessDate] ) / 60
        < 18, "3:30 p.m. to 6:00 p.m.",
"6:00 p.m. - 6:00 a.m."),"Next Day")

我无法在正确的系列中安排时间。比如早上6:30到晚上8:30,然后是早上8:30到9:30,然后是中午到下午6:30,然后是下午6:30到晚上11:59,然后是第二天。 附加了屏幕截图。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

默认情况下,列值按字母顺序排列,如果您想要或必须更改它,则必须完成以下步骤:

创建另一个计算列“列索引” 列值将用于排序第1列的列值。 结果看起来像这样

... | column | column index
... | 6:00 a.m. - 8:30 a.m. | 1
... | 8:30 a.m. - 9:30 a.m. | 2
...

您可以使用完全相同的DAX公式,但是返回一个字符串,您将返回一个表示排序索引的数值

按“排序列”对“列”进行排序 在“数据视图”中标记要订购的列,切换到“建模”功能区并选择“按列排序” - 选择包含数值的列。

隐藏索引列 为了避免在“字段”窗格中出现混乱,我总是隐藏索引列。

希望这就是你要找的东西

此致 汤姆