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 如何在Power BI中按自定义日期层次结构按时间顺序对图表排序_Powerbi - Fatal编程技术网

Powerbi 如何在Power BI中按自定义日期层次结构按时间顺序对图表排序

Powerbi 如何在Power BI中按自定义日期层次结构按时间顺序对图表排序,powerbi,Powerbi,我有一个星型模式模型。我的维度表之一是日期表。它是在Power BI之外构建的,因为它为我们的财政日历设置了列,这是不寻常的(4-5-4,52/53日历),并且不从1月1日开始。(也就是说,您永远不希望在Power BI中生成此日历。)其粒度为天,其中3列包括[日期](PK)(例如,“2019-11-9”)、[会计年度-期间名称](例如,“2019-2020-11月”,这是我们日历中的第8个期间)和[会计年度-期间编号](一个整数,例如201920208)。我的事实表有日期键(以日期为单位),从

我有一个星型模式模型。我的维度表之一是日期表。它是在Power BI之外构建的,因为它为我们的财政日历设置了列,这是不寻常的(4-5-4,52/53日历),并且不从1月1日开始。(也就是说,您永远不希望在Power BI中生成此日历。)其粒度为天,其中3列包括[日期](PK)(例如,“2019-11-9”)、[会计年度-期间名称](例如,“2019-2020-11月”,这是我们日历中的第8个期间)和[会计年度-期间编号](一个整数,例如201920208)。我的事实表有日期键(以日期为单位),从2019年11月一直到2020年5月。事实维度表和日期维度表在[date]键上联接

我想通过一个可钻取的层次结构创建一些度量的折线图,该层次结构由[会计年度-期间名称]\[日期]组成。因此,我创建了所需的字段层次结构(在“字段”窗格中)。默认情况下,[会计年度-期间名称]将按字母顺序排序(因为它是一个字符串),这显然不是我想要的排序。我想按时间顺序排列。因此,我已经按照相应的数字列对日期维度表进行了排序,即[会计年度-期间编号]。(它不能按[日期]排序,因为每个[会计年度-期间名称]值有许多[日期]值。)

当我创建轴仅为[会计年度-期间名称](而不是层次结构)的折线图时,折线图中的排序是按时间顺序的,这是预期的(因为我对日期维度表进行了排序)。当我创建轴为[Date]的折线图时(不是层次结构),折线图中的排序是按时间顺序的,这是预期的(不是因为我对日期维度表进行了排序,而是因为[Date]是日期数据类型)

但,当我用我定义的层次轴创建一个折线图时,它并没有按预期排序。它在[会计年度-期间名称]级别错误地按字母顺序对折线图排序,好像它忽略了本应解决此排序问题的日期维度表排序。请注意,当我深入到[日期]级别时,排序是按时间顺序的,这是需要的


如何解决我的层次结构的排序问题?

在您的模型中,选择[会计年度-期间名称]列并转到功能区中的
建模
选项卡,单击
按列排序
并选择您的[Date]列(或您想要排序的任何列)


你们可以在文章中阅读更多关于
按列排序的内容。

正如我已经提到的,我实际上已经做到了。但是,事实证明,我的层次结构没有正确排序的原因是我推导[会计年度-期间数]值时存在缺陷。我生成的值如201920201(2019-2020财年,第1期)和20192012(2019-2020财年,第12期)。问题在于下一个财政年度的第1期(即20202021)发生在当前财政年度的第9期之后。也就是说,2020211发生在201920209之后。我的修正是取会计年度(其中“-”被替换为”使其成为数字),并将期间数除以100。因此,我现在得到了类似20192020.01(2019-2020-P1)、20192020.12(2019-2020-P12)和20202021.01(2020-2021-P1)的值。既然你的答案仍然是正确的,我会接受它作为正确的答案,即使我的问题是其他的。