官术网_书友最值得收藏!

  • DAX設計模式(第2版)
  • (意)阿爾貝托·法拉里等
  • 802字
  • 2022-12-20 18:38:57

為了使用所有時間智能計算,你需要一個格式正確的日期表(Date表)。該Date表必須滿足以下要求。

● 必須具備年份中的所有日期。該Date表必須始終始于1月1日、終于12月31日,并包括此日期范圍內的所有天。如果報告僅采用會計年度,則Date表必須包含從會計年度的第一天到最后一天的所有日期。例如,如果2008會計年度始于2007年7月1日,則Date表必須包括從2007年7月1日到2008年6月30日的所有天。

● 必須具有包含數據類型為“日期/時間”或“日期”的不重復值的列。該列通常命名為Date。盡管Date列通常用于定義與其他表的關系,但這不是強制的。不過,Date列必須包含不重復值,并應為其應用“標記為日期表”功能。如果該列還包含時間部分,則不應使用時間——例如,時間應始終為12:00 am。

● 模式中的Date表必須標記為Date表,以防沒有基于Date而與其他表(如示例中的Sales)建立聯系。[1]


[1] 對于符合Date表要求且位于一對多關系一端的Date表,不將其標記為Date表,它也會自動具備Date表的特性。——譯者注

創建Date表的方法有以下幾種。只要Date表滿足要求,創建Date表的方式就不會影響你使用標準時間智能計算。如果你已經有一份符合報告需要的Date表,則只需在確保該表可以滿足最低要求后,便可將其導入并將其標記為Date表。如果沒有Date表,則可以使用DAX計算表來創建(后面會做介紹)。

最佳做法是對用于時間智能計算的Date表應用“標記為日期表”設置。“標記為日期表”設置會在每次對Date列應用篩選器時,在Date表上增加一個REMOVEFILTERS修飾符。用于CALCULATE的所有時間智能函數都會執行此操作(對Date列應用篩選器)。如果你使用Date列定義Sales表和Date表之間的關系,則DAX會執行相同的操作。盡管如此,將“標記為日期表”設置應用于Date表依然是最佳做法。如果你有多個Date表,則可以將它們全部標記為日期表。

如果你沒有采用“標記為日期表”設置,而且也沒有使用Date列來建立關系,那么每當你在CALCULATE中使用時間智能函數時,都必須在Date表上增加一個REMOVEFILTERS。SQLBI官網中的“Time Intelligence in Power BI Desktop”一文對此進行了詳細描述。

主站蜘蛛池模板: 屏东市| 江川县| 裕民县| 布拖县| 东乡族自治县| 日土县| 庆城县| 永年县| 呼图壁县| 高要市| 额尔古纳市| 苍山县| 印江| 香港| 沛县| 泸定县| 杭州市| 高青县| 青神县| 仪征市| 英德市| 濮阳县| 临夏县| 嘉峪关市| 沂水县| 余庆县| 崇信县| 康马县| 剑河县| 观塘区| 昌平区| 泾阳县| 阳泉市| 张家界市| 淳安县| 盘山县| 都昌县| 洮南市| 江油市| 六盘水市| 扶风县|