Udostępnij przez


Praca z kolumnami formuł

Kolumny formuł to kolumny, w których jest wyświetlana wartość obliczana w tabeli Microsoft Dataverse. Formuły używają Power Fx, zaawansowanego, ale przyjaznego dla ludzi języka programowania. Utwórz formułę w kolumnie z formułą Dataverse w taki sam sposób, w jaki tworzysz formułę w programie Microsoft Excel. Po wpisaniu sugeruje funkcje i składnię, a nawet pomaga to naprawić błędy.

Dodaj kolumnę formuły

  1. Zaloguj się do usługi Power Apps pod adresem https://make.powerapps.com.

  2. Wybierz Tabele, a następnie wybierz tabelę, do której chcesz dodać kolumnę z formułą. Jeśli elementu nie ma w okienku panelu bocznego, wybierz …Więcej, a następnie wybierz żądany element.

  3. Wybierz obszar Kolumny, a następnie Nowa kolumna.

  4. Wprowadź następujące informacje:

    • Nazwa wyświetlana kolumny.
    • Opcjonalnie wpisz Opis kolumny.
  5. Jako Typ danych wybierz fx Formula.

  6. Wpisz formułę lub użyj sugestii dotyczących formuł:

    Wprowadź formułę Power Fx w polu Formuła. Więcej informacji: Typy formuł


  1. Wybierz dodatkowe właściwości:
    • Wybierz Z możliwością wyszukiwania, jeśli chcesz, aby ta kolumna była dostępna w widokach, wykresach, pulpitach nawigacyjnych i w Wyszukiwaniu zaawansowanym.
    • Opcje zaawansowane:
      • Jeśli w formule jest obliczana wartość dziesiętna, rozwiń Opcje zaawansowane w celu zmiany liczby miejsc dziesiętnych (dokładności) od 0 do 10. Domyślna wartość wynosi 2.
  2. Wybierz pozycję Zapisz.

Wpisz formułę

W następującym przykładzie przedstawiono kolumnę formuły o nazwie Łączna cena. Kolumna Liczba jednostek to typ danych o liczbie pełnej. Kolumna Cena to typ danych dziesiętnych.

Zrzut ekranu z definicją kolumny z formułą.

W kolumnie formuły jest wyświetlany wynik ceny z wartością Liczba jednostek.

Zrzut ekranu rekordu z kolumną z formułą.

Wprowadzona formuła określa typ kolumny. Nie możesz zmienić typu kolumny po utworzeniu kolumny. Oznacza to, że po utworzeniu kolumny można zmienić formułę tylko wtedy, gdy nie zmienia to typu kolumny.

Na przykład formuła cena * rabat tworzy typ kolumny numeru. Możesz zmienić formułę cena * rabat na cena * (rabat +10%), ponieważ nie zmienia to typu kolumny. Jednak nie można zmienić formuły cena * rabat na Text(cena * rabat), ponieważ wymagałoby to zmiany typu kolumny na ciąg.

Pobierz sugestie formuły (wersja zapoznawcza)

[Ten temat pochodzi ze wstępnej wersji dokumentacji i może ulec zmianie.]

Opisz, co ma robić formuła i uzyskaj wygenerowane wyniki przez AI. Sugestie formuł akceptują dane wejściowe w języku naturalnym w celu interpretowania i sugerowania formuły Power Fx przy użyciu modelu AI opartego na GPT.

Ważne

Ta funkcja w wersji zapoznawczej jest dostępna tylko w regionach USA.

Funkcje w wersji zapoznawczej nie są przeznaczone do użytku w środowiskach produkcyjnych i mogą mieć ograniczoną funkcjonalność. Te funkcje są udostępniane przed oficjalnym wydaniem, dzięki czemu klienci mogą szybciej uzyskać do nich dostęp i przekazać opinie na ich temat.

Obecnie są obsługiwane sugestie formuł odwołujące się do jednej tabeli. Sugestie formuły odwołującej się do kolumny w powiązanej tabeli nie są obsługiwane.

Wymagania wstępne

Aby włączyć tę funkcję, należy włączyć ustawienie środowiska sugestie AI dla kolumn formuł. Więcej informacji: Sugestie AI do formuły kolumn

Przykład wprowadzania danych w języku naturalnym

Załóżmy, że jest kolumna Klasyfikacja klientów , która pokazuje ich klasyfikację według kont. Przykładowa kolumna klasyfikacji klienta

W polu Pobierz sugestie formuły wprowadź formułę w języku naturalnym, na przykład Jeśli ocena w kolumnie klasyfikacji jest równa lub większa niż 5, pokaż Dobrze, a jeśli mniejsza niż 5, pokaż Średnio, a jeśli wartość jest pusta, pokaż Źle, a następnie wybierz przycisk strzałki (Enter).

Następnie skopiuj Zasugerowaną formułę. Sugerowana formuła

I wklej go do pola Wpisz formułę . Wybierz pozycję Zapisz. Wklej formułę do pola Wpisz formułę.

Oto, jak formuła jest wyświetlana po wklejeniu.

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"
)

Sprawdź obliczoną kolumnę Opis oceny, która może wyglądać w następujący sposób.

Sprawdzanie wyników w kolumnie formuł

Odpowiedzialna sztuczna inteligencja

Aby uzyskać informacje o odpowiedzialnym używaniu AI, przejdź do tych zasobów:

Operatory

W kolumnie formuły można używać następujących operatorów:
+, -, *, /, %, in, exactin, &

Aby uzyskać więcej informacji, zobacz Operatory w usłudze Power Apps.

Typy danych

W kolumnie z formułą możesz wyświetlić następujące typy danych:

Więcej informacji: Tworzenie kolumn formuł z typami danych liczba dziesiętna, liczba całkowita, liczba zmiennoprzecinkowa i typ wyboru\

Typ danych Waluta nie jest obecnie obsługiwany.

Typy funkcji

W kolumnie z formułą możesz używać następujących typów funkcji:

  • Dziesiętne
  • String
  • logiczny
  • Opcja wyboru
  • Data/godzina (TZI)
  • Data/godzina (lokalny użytkownik) (ograniczone do porównywania z innymi wartościami lokalnymi użytkownika i funkcjami DateAdd i DateDiff)
  • Data/godzina (tylko data) (ograniczone do porównywania z innymi wartościami tylko daty i funkcjami DateAdd i DateDiff)
  • Currency
  • Liczbowy całkowity

Functions

Aby zapoznać się z funkcjami skalarnymi, których można używać w kolumnie formuły, przejdź do Informacje o formułach — kolumny formuł Dataverse.

* Funkcje Text i Value działają tylko z liczbami całkowitymi, przy użyciu których nie jest zaangażowany separator dziesiętny. Separator dziesiętny jest zmienny w różnych lokalizacjach regionalnych. Ponieważ kolumny formuł są obliczane bez znajomości lokalizacji, nie można prawidłowo zinterpretować ani wygenerować separatora dziesiętnego.

* StartOfWeek (argument) nie jest obsługiwany w funkcjach WeekNum i Dzień tygodnia w kolumnach formuł.

Przykład funkcji

Podpis Przykład
Pobierz wartość daty. DateAdd(UTCNow(),-1,TimeUnit.Years)

Wytyczne i ograniczenia

W tej sekcji opisano wytyczne i znane ograniczenia dotyczące kolumn formuł w Dataverse.

Sprawdzanie poprawności użycia pól walutowych

  • Kolumny z formułami nie obsługują używania w formule kolumny waluty pokrewnej tabeli, tak jak w tym przykładzie. Kolumna Formuła z nieobsługiwaną formułą Konto.Przychód roczny
  • Bezpośrednie korzystanie z kolumn waluty i kursów wymiany w formułach jest obecnie nieobsługiwane. Korzystanie z kolumn waluty i kursów wymiany jest możliwe za pośrednictwem funkcji Decimal, jak np. Decimal(currency column) lub Decimal(exchange rate). Funkcja Decimal zapewnia, że wynik znajduje się w akceptowanym zakresie. Jeśli wartość kolumny waluty lub kursu wymiany przekracza akceptowany zakres, formuła zwraca wartość null.
  • Kolumny podstawowe walut nie są obsługiwane w wyrażeniach kolumn formuł, ponieważ są to kolumny systemowe używane do celów raportowania. Aby uzyskać podobny rezultat, można użyć typu kolumny waluty wraz z kombinacją kolumn kursów wymiany: CurrencyField_Base = (CurrencyField / ExchangeRate)

Sprawdzanie poprawności użycia kolumn daty i godzin

  • Zachowanie kolumn formuły daty i czasu można zaktualizować tylko wtedy, gdy nie jest ono używane w innej kolumnie formuły.
  • W przypadku kolumn formuły daty i czasu podczas korzystania z funkcji DateDiff należy się upewnić, że:
    • Kolumny zachowania lokalnej użytkownika nie można porównać ani użyć z kolumną zachowania DateTime(TZI)/DateOnly.
    • Kolumny zachowania lokalne użytkownika można porównywać lub używać tylko z inną kolumną zachowania lokalną użytkownika.
    • Kolumny zachowania DateTime(TZI) mogą być porównywane lub używane w funkcjach z inną kolumną DateTime(TZI)/DateOnlyzachowania DateDiff.
    • Kolumny zachowania DateOnly mogą być porównywane lub używane w funkcjach DateDiff z inną kolumną zachowania DateTime(TZI)/DateOnly. Nieobsługiwana konfiguracja daty i czasu za pomocą kolumny formuły
  • Kolumny daty i funkcje daty oraz godziny UTCNow()Now() nie mogą być przekazywane jako parametr funkcji ciągu. Kolumna Formuła z nieobsługiwanym parametrem daty i czasu przekazywanego w formule

Użycie kolumny formuły w polach zestawienia

  • W prostej kolumnie formuły są używane kolumny z tego samego rekordu lub wartości zapisane na dysku twardym. W przypadku kolumn zestawienia kolumny formuł muszą być prostymi kolumnami formuł, na przykład jak w tej kolumnie zestawienia. Przykładowa prosta kolumna formuły dla kolumny zestawienia Przykładowa konfiguracja kolumny zestawienia
  • Kolumna formuły zależy od funkcji związanych z czasem UTCNow() i UTCToday() i nie może być używana w polu zestawienia.

Zalecenia dotyczące funkcji tekstowych Power Fx

  • Kolumny formuł nie obsługują funkcji Text() z jednym argumentem typu Liczba. Liczbą może być liczbą całkowitą, dziesiętną lub walutą. Kolumna formuł z nieobsługiwaną funkcją tekstową z argumentem typu liczba

  • Kolumny formuł nie obsługują liczb w następujących konfiguracjach:

    • Funkcje ciągów. Są to funkcje ciągów mające zastosowanie tam, gdzie oczekiwanym argumentem jest tekst: Upper, Lower, Left, Right, Concatenate, Mid, Len, StartsWith, EndsWith, TrimEnds, Trim, Substitute i Replace.
    • W niejawnych formułach, takich jak 12 & "foo" lub 12 & 34 lub "foo" & 12.
    • Numer wewnętrzny do wymuszania tekstu nie jest obsługiwany. Zaleca się użycie funkcji Text(Number, Format) w celu przekonwertowania liczby na tekst. W przypadku, gdy argument typu String jest przekazywany do funkcji Text, argument Format nie jest obsługiwany.
    • Poniżej podano przykład użycia funkcji Text do przekonwertowania liczby na tekst i dołączania do niego ciągu:
    Concatenate(Text(123,"#"),"ab")
    Text(123,"#") & "foo"
    
  • Specyficzne dla ustawień regionalnych tokeny formatowania, takie jak „.” i „,”, nie są obsługiwane w kolumnach formuł. Nieobsługiwany token formatowania specyficznego dla ustawień regionalnych przekazywany jako parametr do funkcji Tekst w formule

Sprawdzanie poprawności zakresu kolumn formuł

  • Nie można ustawić właściwości Wartość minimalna lub Wartość maksymalna kolumny formuły.
  • Wszystkie obliczenia wewnętrzne powinny znajdować się w zakresie Dataverse dla kolumn z formułami typu dziesiętnego (-100000000000 do 100000000000).
  • Zakodowane na stałe wartości literałów wprowadzane na pasku formuły powinny znajdować się w zakresie Dataverse.
  • Jeśli istnieje kolumna numeryczna o wartości null, wówczas podczas operacji pośrednich jest brana za wartość 0. Na przykład dla formuły a+b+c and If a = null, b=2, c=3 kolumna formuły daje wartość 0 + 2 + 3 = 5.
    • To zachowanie jest inne niż dla kolumn obliczanych, dla których jest w tym przypadku null + 2 + 3 = null.

Ogólne sprawdzanie poprawności zakresu kolumn formuł

  • Kolumny formuł mogą odwoływać się do innych kolumn formuł, ale kolumna formuły nie może się odwoływać do samej siebie.
  • Kolumny formuł nie obsługują łańcuchów cyklicznych np. F1 = F2 + 10, F2 = F1 * 2.
  • Maksymalna długość wyrażenia formuły w kolumnach formuł wynosi 1000 znaków.
  • Maksymalna głębokość dozwolona w kolumnach formuł wynosi 10. Głębokość jest definiowana jako łańcuch kolumn formuł odwołujących się do innych formuł lub kolumn zestawienia.
    • Na przykład table E1, F1 = 1*2, table E2, F2 - E1*2. W tym przykładzie głębokość F2 wynosi 1.
  • W aplikacjach opartych na modelu sortowanie jest wyłączone w następujących opcjach:
    • Kolumna formuły zawierająca kolumnę powiązanej tabeli.
    • Kolumna formuły zawierająca kolumnę logiczną (na przykład kolumnę adresu).
    • Kolumna formuł zawierająca inną kolumnę obliczaną lub kolumnę formuły.
    • Kolumna formuły, która korzysta z funkcji powiązanej z czasem UTCNow().
  • Kolumny typu Numer cały z formatem Język, Czas trwania, Strefa czasowa nie są obsługiwane w kolumnach formuł.
  • Kolumny typu Ciąg z formatem Wiadomość e-mail, Obszar tekstu, Symbol znacznika i Adres URL nie są obsługiwane w kolumnach formuł.
  • Kolumny formuł nie wyświetlają wartości, kiedy aplikacja mobilna jest w trybie offline.
  • Nie można uruchamiać przepływów pracy ani wtyczek w kolumnach z formułami.
  • Nie zaleca się używania kolumn obliczanych w kolumnach formuł i na odwrót.
  • Reguły wykrycia duplikatów nie są wyzwalane w przypadku kolumn formuł.
  • Funkcja Now może być używana z kolumnami formuł. Now() ma zachowanie lokalne dla użytkownika, a UTCNow() ma zachowanie niezależne od strefy czasowej.
  • Dla kolumn dziesiętnych można ustawić właściwość dokładności.
  • Domyślna wartość typu danych formuły jest ustawiona na Liczba dziesiętna dla formuł zwracających wartość liczbową.
  • Aktualizowanie formatu kolumny z formułą liczb całkowitych nie jest obsługiwane.

Kolumny formuł typów danych, których nie można tworzyć

  • Currency

Zobacz także

Typy kolumn

Omówienie Microsoft Power Fx

Kolumny specjalistyczne