列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,然后是第二天。 附加了屏幕截图。 提前谢谢。
答案 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公式,但是返回一个字符串,您将返回一个表示排序索引的数值
按“排序列”对“列”进行排序 在“数据视图”中标记要订购的列,切换到“建模”功能区并选择“按列排序” - 选择包含数值的列。
隐藏索引列 为了避免在“字段”窗格中出现混乱,我总是隐藏索引列。
希望这就是你要找的东西
此致 汤姆