2017-10-21 96 views
0

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

默认的列值按字母顺序排列,如果你想或者必须改变这一点,你必须完成以下步骤:

创建另一个计算列“列索引” 列值将是用于排列第一列的列值。 结果会是这个样子

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

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

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

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

希望这是你在找什么

问候 汤姆

+0

谢谢..它的工作.. –