
当我们谈论Power BI中的数据分析时, 日期 表是不可避免的。有多种方法可以创建 日期 table either in 达克斯 or in 功率查询。在 达克斯 you my use either CALENDAR()
function or CALENDARAUTO()
创建的功能 日期 table. In 功率查询 您可以结合使用 List.Dates()
, #date()
and #duration()
职能。无论哪种方式,总有一个挑战,那就是如何找到一个合适的日期范围,该范围从过去的日期开始,到将来的日期结束,涵盖数据模型中的所有相关日期。一个简单的答案是, 我们可以问业务。中小企业知道有效日期范围是多少。.
尽管这是一个正确的论点,但并非总是如此。特别是 开始日期 这是过去的日期。在许多情况下,企业会说:
让我们看一下数据以找出答案.
这也是正确的一点,我们总是可以查看数据,找到其中的所有列 日期
or 日期Time
然后,数据类型按升序或降序对数据进行排序以获得结果。但是,如果有很多呢?然后,此过程可能非常耗时。
你们中许多人可能已经认为我们可以使用 CALENDARAUTO()
in 达克斯 而且我们很乐意去。好吧,那不是很正确。在很多情况下 日期
or 日期Time
我们不能考虑的列 日期 尺寸。如出生日期或去世日期。在这篇文章的后面将对此进行更多讨论。
在这篇文章中,我分享了一段我为自己编写的代码。我当时正在确定 开始日期 and the 结束日期 日期维度的次数很多,所以我认为这可能对您也有帮助。
这个怎么运作?
我在这篇文章中分享的Power Query表达式首先使用以下方法获取所有现有查询:
#sections
intrinsic variable- 筛选出当前查询名称,即 GetMinMaxAllDates 在我的示例中,为避免出现以下错误:
Expression.Error:评估期间遇到循环引用。
