Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 为什么我会得到;“按另一列排序”;错误功率BI_Powerbi_Dax_Powerbi Desktop - Fatal编程技术网

Powerbi 为什么我会得到;“按另一列排序”;错误功率BI

Powerbi 为什么我会得到;“按另一列排序”;错误功率BI,powerbi,dax,powerbi-desktop,Powerbi,Dax,Powerbi Desktop,我不明白为什么会出现这个错误 我确信列MM-DD Sort在表中具有唯一的值 这是我对Power BI中使用的日历表的查询: DECLARE @MinDate DATE = '2017-07-01', @MaxDate DATE = CAST(GETDATE() + 7 as DATE) ;WITH cte_Calendar AS ( SELECT TOP (DATEDIFF(DAY, @MinDate, @MaxDate) + 1) Date = D

我不明白为什么会出现这个错误

我确信列
MM-DD Sort
在表中具有唯一的值

这是我对Power BI中使用的日历表的查询:

 DECLARE @MinDate DATE = '2017-07-01',
        @MaxDate DATE = CAST(GETDATE() + 7  as DATE)  
;WITH cte_Calendar AS (
SELECT  TOP (DATEDIFF(DAY, @MinDate, @MaxDate) + 1)
        Date = DATEADD(DAY, ROW_NUMBER() OVER(ORDER BY a.object_id) - 1, @MinDate)
FROM    sys.all_objects a
        CROSS JOIN sys.all_objects b
) SELECT Date,
         MonthNum = MONTH(Date)
         ,Year = Year(Date)
         ,Month = FORMAT(Date, 'MMM')
         ,'MM-DD' = FORMAT(Date, 'MMM') + '-'+ FORMAT(Date, 'dd')
         ,'MM-DD Sort' = FORMAT(Date, 'yyMMdd')

FROM cte_Calendar 

那么这是Power BI中的某种缺陷吗?

MM-DD排序中的值是唯一的,但
MM-DD
中的值不是唯一的

例如,如果您的日期表跨越2019年和2020年,那么您将有多行
Jun-30
,排序列中有
190630
200630
。因此,Power BI不知道使用哪个索引进行排序


您可以使用建议的日期排序列(确实包括年份),但由于
MM-DD
中没有年份,因此您不能将年份包括在
MM-DD排序中,并期望它能正常工作。

谢谢。有趣。我认为排序列的目标实际上是告诉Power Bi当有多行时(如value
190630
)如何对数据排序。因此,没有一个年份就没有办法对它进行排序了?它更能让你的视觉效果按顺序显示月份,而不是按字母顺序。