Làm việc với các cột công thức

Cột công thức là cột hiển thị giá trị được tính toán trong một bảng Microsoft Dataverse. Công thức sử dụng Power Fx, một ngôn ngữ lập trình mạnh mẽ nhưng thân thiện với con người. Xây dựng một công thức trong một cột công thức Dataverse giống như cách bạn xây dựng công thức trong Microsoft Excel. Khi bạn nhập, Intellisense sẽ gợi ý các hàm và cú pháp, thậm chí còn giúp bạn sửa lỗi.

Thêm cột vào công thức

  1. Đăng nhập vào Power Apps tại https://make.powerapps.com.

  2. Chọn Bảng, sau đó chọn bảng mà bạn muốn thêm cột công thức. Nếu không thấy mục này trong ngăn bảng điều khiển bên, hãy chọn …Thêm rồi chọn mục bạn muốn.

  3. Chọn khu vực Cột, sau đó chọn Cột mới.

  4. Nhập các thông tin sau:

    • A Tên hiển thị cho cột.
    • Nhập Mô tả của cột (không bắt buộc).
  5. Đối với Loại dữ liệu chọn fx Công thức.

  6. Nhập công thức hoặc sử dụng gợi ý công thức:

    Nhập công thức vào ô Công thức. Power Fx · Thông tin thêm: Nhập công thức


  1. Chọn các thuộc tính bổ sung:
    • Chọn Có thể tìm kiếm nếu bạn muốn cột này có sẵn trong chế độ xem, biểu đồ, bảng thông tin và Tìm kiếm nâng cao.
    • Tùy chọn nâng cao:
      • Nếu công thức đánh giá thành giá trị thập phân, hãy mở rộng Tùy chọn nâng cao để thay đổi số điểm chính xác, từ 0 đến 10. Giá trị mặc định là 2.
  2. Chọn Lưu.

Nhập công thức

Ví dụ sau tạo một cột công thức được gọi là Tổng giá. Cột Số lượng đơn vị là một kiểu dữ liệu số nguyên. Cột Giá là một kiểu dữ liệu thập phân.

Ảnh chụp màn hình định nghĩa cột công thức.

Cột công thức hiển thị kết quả của Giá nhân với Số lượng đơn vị.

Ảnh chụp màn hình bản ghi ví dụ với một cột công thức.

Công thức bạn nhập xác định loại cột. Bạn không thể thay đổi loại cột sau khi tạo cột. Điều đó có nghĩa là bạn chỉ có thể thay đổi công thức sau khi tạo cột nếu nó không làm thay đổi loại cột.

Ví dụ, công thức giá * chiết khấu tạo loại cột là số. Bạn có thể thay đổi giá * chiết khấu thành giá * (chiết khấu + 10%) vì điều đó không làm thay đổi loại cột. Tuy nhiên, bạn không thể thay đổi giá * chiết khấu thành Văn bản(giá * chiết khấu) vì điều đó sẽ yêu cầu phải thay đổi loại cột thành chuỗi.

Nhận gợi ý công thức (bản xem trước)

[Chủ đề này là tài liệu hướng dẫn trước khi phát hành và có thể thay đổi.]

Mô tả những gì bạn muốn công thức thực hiện và nhận kết quả do AI tạo ra. Gợi ý công thức chấp nhận đầu vào ngôn ngữ tự nhiên của bạn để diễn giải và đề xuất một Power Fx công thức bằng mô hình AI dựa trên GPT.

Quan trọng

Đây là tính năng bản xem trước chỉ khả dụng ở khu vực Hoa Kỳ.

Các tính năng xem trước không được dùng cho sản xuất và có thể có chức năng bị hạn chế. Những tính năng này khả dụng trước khi có bản phát hành chính thức để khách hàng có thể truy cập sớm và cung cấp phản hồi.

Hiện tại, các gợi ý công thức tham chiếu đến một bảng duy nhất được hỗ trợ. Các đề xuất công thức tham chiếu đến một cột trên bảng liên quan không được hỗ trợ.

Điều kiện tiên quyết

Để bật tính năng này, bạn phải bật cài đặt môi trường Gợi ý AI cho các cột công thức . Thông tin thêm: Gợi ý AI cho các cột công thức

Ví dụ đầu vào ngôn ngữ tự nhiên

Hãy tưởng tượng có một cột Xếp hạng của khách hàng hiển thị xếp hạng của họ theo tài khoản. Ví dụ về cột đánh giá của khách hàng

Trong hộp Nhận gợi ý công thức, hãy nhập công thức bằng ngôn ngữ tự nhiên, chẳng hạn như Nếu xếp hạng trên cột xếp hạng bằng hoặc lớn hơn 5 thì hãy chỉ định là Tốt và nếu nhỏ hơn 5 thì hãy chỉ định là Trung bình và nếu giá trị để trống hoặc bằng 0 thì hãy hiển thị là Kém, sau đó chọn nút mũi tên (enter).

Sau đó sao chép Công thức được đề xuất. Công thức đề xuất

Và dán nó vào hộp Nhập công thức . Chọn Lưu. Dán công thức vào hộp Nhập công thức.

Sau đây là cách công thức hiển thị khi được dán.

Switch(
    ThisRecord.'Customer Rating',
    Blank(), "Bad",
    0, "Bad",
    1, "Average",
    2, "Average",
    3, "Average",
    4, "Average",
    5, "Good",
    6, "Good",
    7, "Good",
    8, "Good",
    9, "Good",
    10, "Good"
)

Kiểm tra cột công thức Mô tả xếp hạng đã tính toán, trông như thế này.

Kiểm tra kết quả cho cột công thức

AI có trách nhiệm

Để biết thông tin về AI có trách nhiệm, hãy truy cập các nguồn sau:

Toán tử

Bạn có thể sử dụng các toán tử sau trong cột công thức:
+, -, *, /, %, trong, exactin, &

Để biết thêm thông tin, hãy truy cập Toán tử trong Power Apps.

Loại dữ liệu

Bạn có thể hiển thị kiểu dữ liệu sau trong cột công thức:

Các kiểu dữ liệu tiền tệ và lựa chọn (trước đây là tập hợp tùy chọn) hiện không được hỗ trợ.

Các loại chức năng

Bạn có thể dùng các kiểu dữ liệu sau trong cột công thức:

  • Dấu thập phân
  • String
  • Boolean
  • Bộ tùy chọn
  • DateTime (TZI)
  • DateTime (Cục bộ của người dùng) (giới hạn trong việc so sánh với các giá trị cục bộ khác của người dùng là hàm DateAdd và DateDiff)
  • DateTime (Chỉ ngày) (giới hạn trong việc so sánh với các giá trị chỉ ngày khác, các hàm DateAdd và DateDiff)
  • Tiền tệ
  • Số nguyên, được thăng cấp thành Số thập phân

Hàm

Đối với các hàm vô hướng mà bạn có thể sử dụng trong cột công thức, hãy đi tới Tham chiếu công thức - Dataverse cột công thức.

* Các hàm Văn bảnGiá trị chỉ hoạt động với các số nguyên, trong đó không có dấu phân cách thập phân. Dấu phân tách thập phân khác nhau giữa các ngôn ngữ. Vì các cột công thức được đánh giá mà không có kiến thức về ngôn ngữ, nên không có cách nào để diễn giải hoặc tạo dấu phân tách thập phân một cách chính xác.

* Đối số StartOfWeek không được hỗ trợ cho các hàm WeekNumWeekday trong các cột công thức.

Ví dụ về hàm

Description Ví dụ:
Lấy giá trị ngày tháng. DateAdd(UTCNow(),-1,TimeUnit.Years)

Tạo một cột công thức thập phân

Tạo một cột công thức trả về số thập phân.

  1. Khi bạn tạo một cột, hãy nhập thông tin sau:
    • A Tên hiển thị cho cột.
    • Nhập Mô tả của cột (không bắt buộc).
  2. Đối với Loại dữ liệu chọn fx Công thức.
  3. Nhập công thức trả về giá trị số vào thanh Công thức . Ví dụ này tạo một cột công thức có tên là Tổng số tiền. Cột đơn giá có kiểu dữ liệu thập phân. Ảnh chụp màn hình của ngăn tạo cột công thức mới để sử dụng với số thập phân.
  4. Mở rộng Tùy chọn nâng cao, chọn Thập phân làm Kiểu dữ liệu công thức, sau đó đặt số chữ số thập phân cần thiết. Ảnh chụp màn hình công thức thập phân định nghĩa cột.
  5. Chọn Lưu.

Tạo một cột công thức số nguyên

Tạo một cột công thức trả về một số nguyên.

  1. Khi bạn tạo một cột, hãy nhập thông tin sau:
    • A Tên hiển thị cho cột.
    • Nhập Mô tả của cột (không bắt buộc).
  2. Đối với Loại dữ liệu chọn fx Công thức.
  3. Nhập công thức trả về giá trị số vào thanh Công thức . Ví dụ này tạo ra một cột công thức có tên là Số đơn vị. Tổng giáđơn giá các cột có kiểu dữ liệu thập phân. Ảnh chụp màn hình của ngăn tạo cột công thức mới để sử dụng với số nguyên.
  4. Mở rộng Tùy chọn nâng cao và chọn Số nguyên làm Kiểu dữ liệu công thức và đặt định dạng bắt buộc cho cột số nguyên. Ảnh chụp màn hình công thức số nguyên định nghĩa cột.
  5. Chọn Lưu.

Hướng dẫn và hạn chế

Phần này mô tả các hướng dẫn và những hạn chế đã biết với các cột công thức trong Dataverse.

Xác thực sử dụng trường tiền tệ

  • Các cột công thức không hỗ trợ việc sử dụng cột tiền tệ trong bảng liên quan trong công thức, chẳng hạn như trong ví dụ này. Cột công thức với công thức không được hỗ trợ của Tài khoản.Doanh thu hàng năm
  • Hiện tại không hỗ trợ việc sử dụng trực tiếp các cột tiền tệ và tỷ giá hối đoái trong công thức. Việc sử dụng các cột tiền tệ và tỷ giá hối đoái được thực hiện thông qua chức năng Decimal chẳng hạn như Decimal(currency column) hoặc Decimal(exchange rate). Hàm này đảm bảo đầu ra nằm trong phạm vi được chấp nhận. Decimal Nếu giá trị cột tiền tệ hoặc tỷ giá hối đoái vượt quá phạm vi được chấp nhận thì công thức trả về giá trị null.
  • Các cột tiền tệ cơ sở không được hỗ trợ trong biểu thức cột công thức vì chúng là các cột hệ thống được sử dụng cho mục đích báo cáo. Nếu bạn muốn có kết quả tương tự, bạn có thể sử dụng đơn vị tiền tệ loại cột cùng với tổ hợp cột tỷ giá hối đoái như CurrencyField_Base = (CurrencyField / ExchangeRate).

Xác thực sử dụng cột ngày giờ

  • Hành vi của các cột công thức ngày giờ chỉ có thể được cập nhật khi chúng không được sử dụng trong cột công thức khác.
  • Đối với các cột công thức ngày giờ, khi sử dụng hàm DateDiff , hãy đảm bảo rằng:
    • Cột hành vi cục bộ của người dùng không thể được so sánh hoặc sử dụng với cột hành vi. DateTime(TZI)/DateOnly
    • Cột hành vi cục bộ của người dùng chỉ có thể được so sánh hoặc sử dụng với cột hành vi cục bộ của người dùng khác.
    • DateTime(TZI) các cột hành vi có thể được so sánh hoặc sử dụng trong DateDiff các hàm với một DateTime(TZI)/DateOnly cột hành vi khác.
    • DateOnly các cột hành vi có thể được so sánh hoặc sử dụng trong hàm DateDiff với một cột hành vi khác. DateTime(TZI)/DateOnly Cấu hình ngày giờ không được hỗ trợ với cột công thức
  • Các cột ngày giờ và hàm ngày giờ UTCNow(), Now() không thể được truyền làm tham số cho các hàm chuỗi. Cột công thức có tham số ngày giờ không được hỗ trợ được truyền vào công thức

Sử dụng cột công thức trong các trường cuộn lên

  • Cột công thức đơn giản là nơi công thức sử dụng các cột từ cùng một bản ghi hoặc sử dụng các giá trị được mã hóa cứng. Đối với các cột tổng hợp, các cột công thức phải là các cột công thức đơn giản, chẳng hạn như cột tổng hợp ví dụ này. Ví dụ công thức đơn giản cho cột tổng hợp Ví dụ về cấu hình cột cuộn lên
  • Cột công thức phụ thuộc vào các hàm ràng buộc thời gian UTCNow()UTCToday() không thể được sử dụng trong trường tổng hợp.

Power Fx khuyến nghị chức năng văn bản

  • Các cột công thức không hỗ trợ các hàm có một đối số duy nhất thuộc kiểu Số. Text() Số có thể là số nguyên, số thập phân hoặc tiền tệ. Cột công thức có hàm văn bản không được hỗ trợ với đối số là số

  • Các cột công thức không hỗ trợ sử dụng số trong các cấu hình sau:

    • Trong các hàm chuỗi. Đây là các hàm chuỗi được đặt ở bất kỳ nơi nào cần có đối số văn bản: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute và Replace.
    • Trong các công thức ngầm định, chẳng hạn như 12 & "foo", hoặc 12 & 34, hoặc "foo" & 12.
    • Không hỗ trợ chức năng chuyển đổi số thành văn bản nội bộ. Chúng tôi khuyên bạn nên sử dụng Text(Number, Format) để chuyển đổi số thành văn bản. Trong trường hợp đối số String được truyền vào hàm Text thì đối số Format đó không được hỗ trợ.
    • Sau đây là ví dụ sử dụng hàm Text để chuyển đổi số thành văn bản và thêm chuỗi vào đó:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Các mã định dạng dành riêng cho ngôn ngữ như "." và "," không được hỗ trợ trong các cột công thức. Mã thông báo định dạng cụ thể theo ngôn ngữ không được hỗ trợ được truyền dưới dạng tham số cho hàm Văn bản trong công thức

Xác thực phạm vi trên các cột công thức

  • Bạn không thể đặt thuộc tính Giá trị tối thiểu hoặc Giá trị tối đa của cột công thức.
  • Tất cả các phép tính nội bộ phải nằm trong phạm vi Dataverse cho các cột công thức kiểu thập phân (-100000000000 đến 100000000000).
  • Giá trị theo nghĩa đen được mã hóa cứng được nhập vào thanh công thức phải nằm trong phạm vi Dataverse .
  • Nếu có một cột số là null thì nó được coi là 0 trong phép toán trung gian. Ví dụ, a+b+c and If a = null, b=2, c=3 thì cột công thức sẽ đưa ra 0 + 2 + 3 = 5.
    • Hành vi này khác với các cột được tính toán trong trường hợp này vì các cột được tính toán đưa ra null + 2 + 3 = null.

Xác thực chung trên các cột công thức

  • Các cột công thức có thể tham chiếu đến các cột công thức khác, nhưng một cột công thức không thể tham chiếu đến chính nó.
  • Các cột công thức không hỗ trợ chuỗi tuần hoàn, chẳng hạn như F1 = F2 + 10, F2 = F1 * 2.
  • Độ dài biểu thức công thức tối đa trong các cột công thức là 1.000 ký tự.
  • Độ sâu tối đa được phép trong các cột công thức là 10. Độ sâu được định nghĩa là chuỗi các cột công thức tham chiếu đến các cột công thức hoặc cột tổng hợp khác.
    • Ví dụ: table E1, F1 = 1*2, table E2, F2 - E1*2. Trong ví dụ này, độ sâu của F2 là 1.
  • Trong các ứng dụng dựa trên mô hình, tính năng sắp xếp bị vô hiệu hóa trên:
    • Cột công thức chứa một cột của bảng có liên quan.
    • Một cột công thức có chứa một cột logic (ví dụ: cột địa chỉ).
    • Một cột công thức chứa một cột tính toán hoặc công thức khác.
    • Cột công thức sử dụng hàm giới hạn thời gian UTCNow().
  • Các cột kiểu Số nguyên có định dạng Ngôn ngữ, Thời lượng, Múi giờ không được hỗ trợ trong các cột công thức.
  • Các cột kiểu Chuỗi có định dạng Email, Vùng văn bản, Ký hiệu chứng khoán, URL không được hỗ trợ trong các cột công thức.
  • Các cột công thức không hiển thị giá trị khi ứng dụng ở chế độ ngoại tuyến trên thiết bị di động.
  • Bạn không thể kích hoạt quy trình công việc hoặc plug-in trên các cột công thức.
  • Chúng tôi không khuyến khích sử dụng các cột được tính toán trong các cột công thức và ngược lại.
  • Quy tắc phát hiện sự trùng lặp không được kích hoạt trên các cột công thức.
  • Hàm Now có thể được sử dụng với các cột công thức. Now() có hành vi cục bộ của người dùng và có hành vi độc lập với múi giờ. UTCNow()
  • Bạn có thể thiết lập thuộc tính độ chính xác cho các cột thập phân.
  • Giá trị kiểu dữ liệu công thức mặc định được đặt thành Thập phân cho giá trị số trả về công thức.
  • Không hỗ trợ cập nhật định dạng cột công thức số nguyên.

Power Fx chức năng hiện không được hỗ trợ

  • Lũy thừa
  • Sqrt
  • Exp
  • Ln
  • ^ (toán tử)

Các cột công thức của kiểu dữ liệu không thể tạo được

  • Các lựa chọn (trừ lựa chọn Có/Không)
  • Tiền tệ

Xem thêm

Loại cột

Tổng quan về Microsoft Power Fx

Công thức, tính toán và cuộn các cột bằng mã