Freigeben über


Isolieren von Problemen in Canvas-Apps

Mit Canvas-Apps können Sie Apps mit zahlreichen verschiedenen visuellen Elementen und verschiedenen Datenverbindungen entwerfen. Verwenden Sie IntelliSense und die App-Prüfung als Schutz vor häufig auftretenden Problemen. Der Monitor und der Bereich "Variablen" können Sie beim Debuggen unterstützen.

Hier sind einige andere Techniken zum Isolieren von Problemen in einer Canvas-App.

Überprüfen von Formeln mit Debugbezeichnungen

Formeln können komplex sein. Wenn die Dinge schief gehen, kann es schwierig sein, zu bestimmen, welche Komponente fehlgeschlagen ist. Debugbezeichnungen sind eine nützliche Technik, um die Ergebnisse verschiedener Teile einer Formel anzuzeigen.

Eine Debugbezeichnung ist eine Bezeichnung , deren Texteigenschaft auf eine interessante Formel festgelegt ist. Sie können genau sehen, wie Power Apps diese Formeln behandelt. Um Bereichsdefinitionsfehler zu vermeiden, fügen Sie die Debugbezeichnung außerhalb anderer Steuerelemente wie Katalog und Formular ein.

Stellen Sie sich vor, ein Kombinationsfeld-Steuerelement zeigt weniger als erwartet an, und die Dropdownoptionen sind leer.

Erweitertes Kombinationsfeld mit einem leeren Bereich, in dem sich Optionen im Dropdownbereich befinden sollen.

Überprüfen Sie, ob das Kombinationsfeld ordnungsgemäß konfiguriert ist. Beispielsweise wird die Items-Eigenschaft auf eine komplexe Formel unten festgelegt:

AddColumns(
  GroupBy(
    Filter( Products, Rating > 4 ),
    "ProductType",
    "Details"
  ),
  "Total quantity",
  Sum( Details, Quantity )
)

Beginnen Sie mit dem innersten Ausdruck Filter( Products, Rating > 4 ). Fügen Sie eine Debugbezeichnung ein, und legen Sie dessen Texteigenschaft fest, um das Ergebnis dieses Ausdrucks zu testen. Einige nützliche Informationen zur Überprüfung:

  • Überprüfen Sie, ob die Anzahl der Ergebnisse wie erwartet lautet: CountRows( Filter( Products, Rating > 4 ) )
  • Überprüfen Sie das erste Ergebnis, und überprüfen Sie, ob der Filter wie erwartet funktioniert: "Rating of first result is " & First( Filter( Products, Rating > 4 ) ).Rating
  • Überprüfen Sie die Ergebnisse, indem Sie deren Namen kombinieren: Concat( Filter( Products, Rating > 4 ), ProductName & ", ")

Tipp

Beim Arbeiten mit Datasets sind Debugtabellen für die Vorschau von Datensätzen nützlich. Das Konzept ähnelt Debugbezeichnungen. Fügen Sie eine Datentabelle mit der zugehörigen Items-Eigenschaft ein, die auf das Dataset von Interesse festgelegt ist.

Möglicherweise möchten Sie die Funktionen FirstN und LastN für eine bessere Leistung mit Datasets verwenden.

Nachdem Sie bestätigt haben, dass ein Ausdruck richtig ausgewertet wurde, können Sie zum nächsten äußeren Ausdruck GroupBy( Filter( Products, Rating > 4 ), "ProductType", "Details" )wechseln. Indem Sie methodisch fortfahren, können Sie herausfinden, welcher Teil eines komplexen Ausdrucks nicht funktioniert.

Wenn Sie leere Dropdownoptionen verwenden, beginnen Sie mit der DisplayFields-Eigenschaft . Stellen Sie sich vor, sie ist auf .[ProductType] Verwenden Sie eine Debugbezeichnung, um zu überprüfen, ob dieses Feld von Power Apps erkannt wird und Text enthält. Da alle Dropdownoptionen leer sind, genügt es, alle Datensätze zu untersuchen. Lassen Sie uns den ersten Datensatz auswählen und sehen, was sein ProductType Feld ist. Legen Sie die Debugbezeichnung auf Folgendes fest:

First(
  AddColumns(
    GroupBy(
      Filter( Products, Rating > 4 ),
      "ProductType",
      "Details"
    ),
    "Total quantity",
    Sum( Details, Quantity )
  )
).ProductType

Wenn das Ergebnis leer ist, kann es folgendes sein:

  • Das ProductType Feld für diesen Datensatz ist wirklich leer. Wenn das Dataset von außerhalb der App stammt, überprüfen Sie es außerhalb von Power Apps.
  • Mindestens ein Ausdruck funktioniert nicht. Unterbrechen Sie sie, wie oben beschrieben, um sie einzugrenzen. Es könnte ein Power Apps-Fehler oder ein Fehler beim Schreiben der Formel sein.
  • Daten erreichen Power Apps nicht. Es kann sich um ein Netzwerkproblem, ein Problem mit der Datenquelle oder einen Power Apps-Fehler handeln.

Wenn das Ergebnis Text enthält, handelt es sich wahrscheinlich um einen Power Apps-Fehler mit dem Steuerelement. Sie können den Fehler über eine Supportanfrage melden und ein anderes Steuerelement als Problemumgehung verwenden.

Probieren Sie ein anderes Steuerelement aus

Um herauszufinden, ob das Problem mit einem bestimmten Steuerelement besteht, versuchen Sie, ein anderes Steuerelement zu verwenden, das denselben Datentyp von Eingabe oder Ausgabe aufweist.

Aktiv

Auswahl und Tabelle

Datum und DateTime

Bild und Medien

Anzahl

Text

Alle Typen

Wenn dasselbe Problem bei einem anderen Steuerelement auftritt, ist das Problem mit den verwendeten Formeln oder Datenquellen identisch. Fahren Sie mit den obigen Debugschritten fort, um das Problem weiter zu isolieren.

Wenn das Problem nur auf einem bestimmten Steuerelementtyp auftritt, ist es wahrscheinlich ein Steuerelementfehler. Sie können den Fehler an Microsoft melden.

Probieren Sie eine andere App-Struktur aus

Formeln können sich für Steuerelemente innerhalb eines anderen Steuerelements anders verhalten. Steuerelemente innerhalb eines Katalogs können z. B. ThisItem verwenden, steuerelemente außerhalb des Katalogs können jedoch nicht. Steuerelemente außerhalb eines Katalogs oder einer Komponente können nicht auf die darin enthaltenen Steuerelemente verweisen.

Diese unterschiedliche Sichtbarkeit von Bezeichnern wird als Bereich bezeichnet. Steuerelemente, die andere Steuerelemente enthalten, führen einen neuen Bereich ein.

Wenn eine Formel nicht innerhalb eines enthaltenen Steuerelements funktioniert, kann es sich um Bereichsdefinitionen handeln. Versuchen Sie, dieselbe Formel außerhalb des Containers zu verwenden.

Ein Bezeichnungssteuerelement in einem Katalog sollte z. B. den Namen jedes Datensatzes anzeigen, aber kein Text wird angezeigt. Label.Text ist auf ThisItem.Name. Gallery.Items ist auf Products.

In einem Katalog wird anstelle von Text ein leerer Leerraum angezeigt. Im Eigenschaftenbereich werden die Formeln angezeigt, die für die Beschriftungen im Katalog verwendet werden.

Um zu überprüfen, ob es sich um ein Bereichsproblem handelt, fügen Sie eine Debugbezeichnung außerhalb des Katalogs auf der obersten Ebene der App ein. Legen Sie die Text-Eigenschaft fest, um den Namen des ersten Datensatzes des Datasets anzuzeigen: First(Products).Name.

Die Debugbezeichnung sollte dasselbe Ergebnis wie die erste Zeile des Katalogs haben. Andernfalls handelt es sich wahrscheinlich um einen Bereichsfehler mit Power Apps, den Sie über eine Supportanfrage melden können. Wenn beide leer sind, könnte das Problem andererseits mit der Datenquelle auftreten.

Einige mögliche Problemumgehungen für Bereichsdefinitionsprobleme:

  • Verschieben von Steuerelementen außerhalb ihrer Container
  • Verweisen auf Daten in globalen oder Kontextvariablen
  • Verwenden von Patch, um die Verwendung eines Bearbeitungsformularsteuerelements zu vermeiden

Wiederherstellen einer früheren Version

Wenn Sie keine wichtigen Änderungen an einer App vorgenommen haben und sie nach der erneuten Veröffentlichung plötzlich nicht mehr funktionieren, versuchen Sie , sie in der vorherigen Version wiederherzustellen. Wenn sie erneut funktioniert, überprüfen Sie die vorgenommenen Änderungen, um zu sehen, was die App möglicherweise beschädigt hat.

Manchmal können Fehler mit neuen Versionen von Power Apps eingeführt werden. Umgekehrt können neue Versionen Fehlerkorrekturen enthalten. Microsoft-Support können empfehlen, ob Sie zu einer älteren Erstellungsversion zurückkehren oder ein Upgrade auf eine neuere version durchführen sollten. Denken Sie daran, dass keine empfohlenen Versionen unterstützt werden, wenn Sie die Erstellungsversion selbst ändern.

Erstellen einer minimalen Repro-App

Der Prozess zum Erstellen einer minimalen Repro-App kann App-Konfigurationsfehler aufdecken, die bei einer komplexen App nicht offensichtlich sind. Selbst wenn das Problem nicht behoben ist, hätten Sie die Ursache eingeschränkt und es leichter gemacht, das Problem anderen zu erklären.

Nächste Schritte

Debuggen von Canvas Apps mit Monitor

Siehe auch

Allgemeine Power Apps-Debuggingstrategien