日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 辦公軟件教程 > 詳細頁面

Power Pivot 中的數據區分表達式 (DAX)

Power Pivot 中的數據區分表達式 (DAX)

更新時間:2023-12-20 文章作者:未知 信息來源:網絡 閱讀次數:

Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。

Data Analysis Expressions (DAX) 乍聽起來有點唬人,但可別讓這名字把您給騙了。 DAX 基礎知識其實很容易理解。 首先說最重要的一點 — DAX 不是編程語言。 DAX 是一種公式語言。 可使用 DAX 來定義計算列和度量(也稱為計算字段)的自定義計算。 DAX 包含一些在 Excel 公式中使用的函數,此外還包含其他用于處理關系數據和執行動態聚合的函數。

了解 DAX 公式

DAX 公式與 Excel 公式非常相似。 要創建一個 DAX 公式,只需鍵入一個等號,后跟函數名或表達式以及所需的任何值或參數即可。 與 Excel 類似,DAX 提供多種函數,可用于處理字符串、使用日期和時間執行計算或者創建條件值。

但 DAX 公式在以下幾個重要方面卻有所不同:

  • 如果您希望逐行自定義計算,DAX 提供了允許您使用當前行值或相關值執行計算(因上下文而異)的函數。

  • DAX 包含一類函數,此類函數返回表作為其結果,而不是返回單個值。 這些函數可用于提供其他函數的輸入。

  • 時間智能函數,可按照日期范圍進行計算,也可比較并行時間段內的結果。

使用 DAX 公式的位置

在Power Pivot中的計算計算字段中可以創建公式。

計算列

計算列是添加到現有 Power Pivot 表中的列。 無需粘貼或導入值,您可以在計算列中創建用于定義列值的 DAX 公式。 如果某個數據透視表(或數據透視圖)中包括 Power Pivot 表,則可以像使用任何其他數據列一樣使用計算列。

計算列中的公式非常類似于在 Excel 中創建的公式。 但與在 Excel 中不同,您不能為表中的不同行創建不同公式 — DAX 公式會自動應用到整個列。

當某列中包含公式時,將為每一行都計算值。 一旦創建公式就將立即為列計算結果。 只有在刷新基礎數據或者手動重新計算時,才重新計算列值。

可創建基于計算度量和其他計算列的計算列。 但請勿將同一名稱既用于計算列又用于度量,因為這可能導致結果混亂。 引用列時,最好使用完全限定的列引用,以避免無意中調用度量。

有關更多詳細信息,請參閱 Power Pivot 中的計算列。

度量

度量是一種公式,專門創建用于使用 Power Pivot 數據的數據透視表(或數據透視圖)。 度量可基于標準聚合函數,如 COUNT 或 SUM;你也可使用 DAX 自行定義公式。 度量在數據透視表的“值”區域中使用。 如果希望將計算得出的結果放置在數據透視表的其他區域,則應改用計算列。

為某個顯式度量定義公式時,在將該度量添加到數據透視表中之前,不會發生任何操作。 在添加度量時,對數據透視表的“值”區域中的每個單元計算該公式。 由于會為每個行和列標題組合都創建一個結果,因此度量的結果在每個單元格中可能有所不同。

所創建的度量的定義隨附其源數據表一并保存。 它出現在數據透視表字段列表中,可供工作簿的所有用戶使用。

有關更多詳細信息,請參閱 Power Pivot 中的度量。

使用編輯欄創建公式

與 Excel?相似,Power Pivot?提供的編輯欄讓創建和編輯公式更方便,以及記憶式鍵入功能,盡量減少鍵入和語法錯誤。

輸入表格名稱???開始鍵入表格的名稱。 公式自動完成功能提供了一個下拉列表,其中包含以這些字母開頭的有效名稱。

輸入列的名稱???鍵入方括號,然后從當前表格的列列表中選擇列。 對于來自其他表格的列,請先鍵入表格名稱的前幾個字母,然后從“自動完成”下拉列表中選擇列。

有關如何構建公式的詳細信息和演練,請參閱在 Power Pivot 中創建計算公式。

使用記憶式鍵入的提示

可以在具有嵌套函數的現有公式中使用公式記憶式鍵入功能。 與插入點緊鄰的前一個文本用于顯示下拉列表中的值,插入點之后的所有文本都保持不變。

“自動完成”下拉列表中不顯示為常量創建且已定義的名稱,但你仍可鍵入它們。

Power Pivot 不會添加函數的右括號或自動匹配括號。 您應確保每個函數在語法上都是正確的,否則就不能保存或使用公式。?

在公式中使用多個函數

可以嵌套函數,這意味著您可以使用一個函數的結果作為另一個函數的參數。 在計算列中,最多可以嵌套 64 層函數。 但是,嵌套可能會導致很難創建公式或者排除公式問題。

許多 DAX 函數設計為僅用作嵌套函數。 這些函數返回一個表,該表不能直接保存為結果,?而應作為表函數的輸入提供。 例如,函數 SUMX、AVERAGEX 和 MINX?全都要求將表作為第一個參數。

注意:?在度量內嵌套函數時存在一些限制,目的是確保列之間的依賴關系所要求的大量計算不會影響性能。

比較 DAX 函數和 Excel 函數

DAX 函數庫基于 Excel 函數庫,但這兩種庫有許多差異。 本節總結了 Excel 函數與 DAX 函數之間的差異和相似性。

  • 許多 DAX 函數名稱和常規行為都與 Excel 函數相同,但這些函數已修改為采用不同類型的輸入,因此在有些情況下可能會返回不同的數據類型。 通常,如果不進行某些修改,無法在 Excel 公式中使用 DAX 函數或在 Power Pivot 中使用 Excel 公式。

  • DAX 函數不會將單元引用或范圍作為引用,而是將列或表作為引用。

  • DAX 日期和時間函數返回 datetime 數據類型。 與之相比,Excel 日期和時間函數返回將日期表示為序列數的整數。

  • 許多新的 DAX 函數返回值表,或基于值表作為輸入進行計算。 與之相比,Excel 沒有返回表的函數,但某些函數可以使用數組。 能夠輕松地引用完整的表和列是 Power Pivot 中的新功能。

  • DAX 提供了新的查找函數,這些函數類似于 Excel 中的數組和矢量查找函數。 但這些 DAX 函數需要在表之間建立關系。

  • 列中的數據應該始終具有相同的數據類型。 如果數據類型不同,DAX 會更改整個列,以使其具有最適合所有值的數據類型。

DAX 數據類型

您可以將數據從可能支持不同數據類型的多種數據源導入 Power Pivot 數據模型中。 在導入或加載數據,然后在計算或數據透視表中使用這些數據時,數據會轉換為?Power Pivot 數據類型之一。 有關數據類型的列表,請參閱數據模型中的數據類型。

表數據類型是 DAX 中的一種新數據類型,用作許多新函數的輸入或輸出。 例如,FILTER 函數采用表作為輸入,并輸出僅包含滿足篩選條件的行的另一個表。 通過組合表函數與聚合函數,可以對動態定義的數據集執行復雜計算。 有關詳細信息,請參閱 Power Pivot 中的聚合。

公式和關系模型

Power Pivot?窗口是一個區域,您可以在其中使用多個數據表,并通過“關系模型”將這些表連接起來。 在此數據模型中,表通過關系相互連接,這樣,您就可以創建與其他表中的列的關聯,并創建更有用的計算。 例如,可以創建對相關表的值進行求和的公式,然后將該值保存在一個單元格中。 或者,您可以對表和列應用篩選器,以便控制相關表中的行。 有關詳細信息,請參閱數據模型中表之間的關系。

由于可以使用關系來鏈接表,因此數據透視表還可以包含來自不同表中多個列的數據。

但是,由于公式可以處理整個表和列,因此您需要設計與在 Excel 中不同的計算。

  • 通常,列中的 DAX 公式始終應用于列中的整個值集(而不是僅應用于幾個行或單元格)。

  • Power Pivot?中表的每一行必須始終具有相同的列數,并且一列中的所有行必須包含相同的數據類型。

  • 在通過關系連接多個表時,您應該確保用作鍵的兩列對于大多數部分具有匹配的值。 因為 Power Pivot 不強制引用完整性,所以,當鍵列中具有不匹配的值時,仍有可能創建關系。 但是,空值或不匹配的值可能影響公式的結果和數據透視表的外觀。 有關詳細信息,請參閱 Power Pivot 公式中的查找。

  • 使用關系鏈接表時,可以擴大計算公式的范圍(或“下文”)。 例如,數據透視表中的公式可能受該數據透視表中任何篩選器或者列和行標題的影響。 您可以編寫處理上下文的公式,但上下文還可能以各種意外方式導致結果發生變化。 有關詳細信息,請參閱 DAX 公式中的上下文。

更新公式的結果

數據刷新”和“重新計算”是兩個各自獨立而又有相關性的操作,在設計包含復雜公式、大量數據或從外部數據源獲取的數據的數據模型時,應了解這兩項操作。

“刷新數據”是用外部數據源的新數據更新工作簿中數據的過程。 您可以按指定的時間間隔手動刷新數據。 或者,如果您已將工作簿發布到 SharePoint 網站,則可以從外部源安排自動刷新。

重新計算是對公式結果進行更新的過程,用于反映對公式本身的任何更改以及基礎數據中的那些更改。 重新計算會以下列方式影響性能:

  • 對于計算列,每次更改公式時,應始終針對整個列重新計算公式的結果。

  • 對于度量,在將度量放到數據透視表或數據透視圖的上下文中之前,不對公式的結果進行計算。 在更改可影響數據篩選器的任何行或列標題時,或在手動刷新數據透視表時,也會重新計算公式。

公式疑難解答

編寫公式時出錯

如果定義公式時遇到錯誤,公式中可能包含語法錯誤語義錯誤計算錯誤

語法錯誤是最容易解決的。 此類錯誤通常涉及缺少括號或逗號。 有關各個函數的語法的幫助,請參閱“DAX 函數參考”。

當語法正確而值或列引用對公式上下文無意義時,就會發生其他類型的錯誤。 以下任何問題都可能導致此類語義和計算錯誤:

  • 公式引用了非現有的列、表或函數。

  • 公式看起來是正確的,但當數據引擎提取數據時找到的類型卻不匹配,從而引發錯誤。

  • 公式為函數傳遞的數字或參數類型不正確。

  • 公式引用了另一個出錯的列,因此它的值無效。

  • 公式引用了尚未處理的列,這意味著雖然它具有元數據,但沒有用于計算的實際數據。

在前四種情況下,DAX 會標記包含無效公式的整個列。 在最后一種情況下,DAX 灰顯該列來指示該列處于未處理狀態。

對列值進行排名或排序時,結果不正確或異常

對包含值 NaN (非數字)的列進行排名或排序時,可能會獲得不正確或意外的結果。 例如,當計算 0 除以 0 時,返回結果 NaN。

這是因為公式引擎通過比較數值來執行排序或排名;但是 NaN 卻無法與該列中的其他數字進行比較。

為了確保結果正確,您可以利用使用 IF 函數的條件語句來測試 NaN 值并返回數字 0 值。

與 Analysis Services 表格模型和 DirectQuery 模式的兼容性

通常,在 Power Pivot 中構建的 DAX 公式與 Analysis Services 表模型完全兼容。 但是,如果將 Power Pivot 模型遷移到某個 Analysis Services 實例,然后在 DirectQuery 模式下部署該模型,則存在一些限制。

  • 如果在 DirectQuery 模式下部署該模型,則某些 DAX 公式可能會返回不同的結果。

  • 在將模型部署到 DirectQuery 模式時,某些公式可能會導致驗證錯誤,因為該公式包含關系數據源不支持的 DAX 函數。

有關詳細信息,請參閱 SQL Server 2012 聯機叢書中的 Analysis Services 表格模型文檔。


Excel整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 中文字幕乱码人成乱码在线视频 | 九九精品久久久久久久久 | 日本三级韩国三级香港三级网站 | 欧美日本一 | 日本人成年视频在线观看 | 91国内精品久久久久免费影院 | 中文字幕一区2区3区 | 四虎影院最新网址 | 久久这里只有精品免费视频 | 国产 欧美 日韩在线 | www精品视频| 亚洲国产天堂久久综合9999 | 久久亚洲国产欧洲精品一 | 天堂mv亚洲mv在线播放9蜜 | 久久国产精品2020免费m3u8 | 91大片淫黄大片.在线天堂 | 大胆国模一区二区三区伊人 | 天天色天 | 日日日b | 国产一区二区亚洲精品天堂 | 国产99在线播放免费 | 福利视频一区 | 久热香蕉在线视频 | 久久久久久久久免费视频 | 91精品综合国产在线观看 | 在线免费视频 | 免费国产h视频在线观看 | www色综合 | 91国在线高清视频 | 欧美一级片 在线播放 | 男女男精品视频站 | 亚洲精品国产一区二区在线 | 24小时日本在线www免费的 | 欧美一级在线观看播放 | 97超级碰碰碰视频在线视频观看 | 国产麻豆精品一区二区 | 亚洲1区| 国产成人+综合亚洲+天堂 | 亚洲国产一区二区三区四区 | 国产精品福利一区二区久久 | 天天看天天爽天天摸天天添 |