Fehlermeldung in PQ
#1
Hi,

beim Versuch Funktion in einer PQ-Abfrage zu erstellen habe ich folgende Fehlermeldung erhalten:

   

Zuerst "Funktion bearbeiten", nach Klick auf OK und Bearbeitung der Funktion kam dann die Meldung zum Typ.
Lass ich das "as Text" weg, kann ich die Funktion erstellen.

Zudem gelingt es mir nicht eine Reihe von Webseiten, die zwar komplett abgerufen werden, anzuzeigen.  Vielleicht kann mir jemand zeigen, was ich falsch mache. 


.xlsx   Lottoabruf.xlsx (Größe: 25,82 KB / Downloads: 7)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#2
Moin Edgar,

ich bin nur mobil unterwegs und kann deine Datei nicht einsehen. Aber Powerquery M ist Casesensitive. Der Datentyp text wird klein geschrieben https://learn.microsoft.com/en-us/powerq...conversion

Viele Grüße
derHoepp
Antworten Top
#3
1. Antwort: PQ ist case sensitive.

2. Antwort: das Abrufen mehrerer Webseiten durch eine Abfrage, ist 1 zu 1 nichts anderes als bei den ICE-Strecken. Das musst du somit ganz genauso machen.
Antworten Top
#4
Danke für den Anstoß,

eigentlich hätte ich es wissen müssen, habe es ja schon ein paar Mal bei anderen Bezeichnungen erlebt! 16
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#5
Hi,

ich habe es geschafft, aber ich bin noch nicht zufrieden. Muß wohl noch etwas mehr üben.


.xlsb   Lottoabruf_Forum.xlsb (Größe: 70,7 KB / Downloads: 7)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#6
@Bosko

Kannst du mal bitte ein Ergebnis Blatt 'Input"  bereitstellen damit ich dann dein Sub Lotto_k_tuples() testen kann ?
Danke.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#7
Zitat:...  aber ich bin noch nicht zufrieden. ...

Das was ich da sehe, hat wohl auch recht wenig mit dem zu tun, wie du es aus dem ICE-Projekt als Vorlage hättest benutzen können. Und gerade hier beim Lottoabruf, da ist auch der wöchentliche Update sinnvoll, den ich dir ja empfohlen hatte. Und nicht einmal die abzurufenden Jahre, sind in der hochgeladenen Mappe als Tabelle gepflegt. Stattdessen wird statisch auf Verzeichnisse und Mappen verwiesen, die es verhindern, dass überhaupt irgend jemand etwas mit deiner Mappe anfangen kann.
Antworten Top
#8
Hi snb,

eine verbesserte Version hänge ich an. Du mußt erst die Daten aktualisieren, dann ist 'Input' komplett gefüllt.

@ws-53


Zitat:Das was ich da sehe, hat wohl auch recht wenig mit dem zu tun, wie du es aus dem ICE-Projekt als Vorlage hättest benutzen können.

da hast Du recht. Ich habe mich zwar an der Datei orientiert und auch die Anleitung dazu durchgearbeitet, aber es war für mich eine Übungsaufgabe, die dazu geführt hat, dass ich Einiges, aber längst nicht Alles, jetzt etwas besser verstehe.

Zitat:Und gerade hier beim Lottoabruf, da ist auch der wöchentliche Update sinnvoll,
Wohl wahr, aber das ist eine Baustelle, an der ich noch arbeite.


Zitat:Und nicht einmal die abzurufenden Jahre, sind in der hochgeladenen Mappe als Tabelle gepflegt.

ist für meine Zwecke völlig ohne Belang, da ich alle Jahre brauche. Das Einzige, was fehlt, ist das Anfügen der letzten Ziehungen, damit ich nicht jedesmal alle Daten abrufen muß.



.xlsb   Lottoabruf_Forum.xlsb (Größe: 126,65 KB / Downloads: 6)
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#9
(15.08.2025, 17:00)BoskoBiati schrieb: Das Einzige, was fehlt, ist das Anfügen der letzten Ziehungen, damit ich nicht jedesmal alle Daten abrufen muß.

...um das Abrufen aller Daten wirst Du bei Aktualisierungen nicht herumkommen. Es werden immer erst alle Daten abgerufen. Erst danach kannst Du nach Deinen Wunschkriterien filtern und ggf. an andere Abfragen anfügen.

Warum Du allerdings Deine neuesten Daten aus C:\Users\elan5\Downloads\Lottozahlen_abrufen.xlsx (die uns nicht vorliegt) ziehst, statt direkt aus  https ://www.lottozahlenonline.de/statistik/beide-spieltage/lottozahlen-archiv.php#lottozahlen-archiv, erschließt sich mir auch nicht so richtig... es sei denn, da sind die Daten, an die die fehlenden Ziehungen angehängt werden sollen.... Das ergibt aber auch nur dann Sinn, wenn dort die Ergebnisse aller Jahre stehen. Nur für das aktuelle bringt das nichts, denn die kannst Du ja sowieso direkt & komplett aus der Website auslesen.
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#10
(15.08.2025, 17:00)BoskoBiati schrieb: Das Einzige, was fehlt, ist das Anfügen der letzten Ziehungen, damit ich nicht jedesmal alle Daten abrufen muß.

Ich kann Dir in Deiner Datei leider nicht direkt die Lösung zeigen, weil zum einen mein PQ kein Web.BrowserContents kann und zum anderen verwendest Du einen hartkodierten Pfad anstatt auf die Strukturen der Datei zuzugreifen und das ist mir alles zu fummelig wie Du das machst. Wie auch immer, in Deiner Datei darfst Du machen was Du willst. Smile Es muss funktionieren und Du musst es verstehen, das ist das wichtigste. Eine tolle Lösung die man nicht versteht ist Schrott.

Wenn Du Daten an eine Tabelle anhängen willst ohne jedes Mal alles zu laden, dann gibt es da einen Trick. Viele nennen es Selbst-Referenzierung (google nach: self referencing query) was nach meinem technischen Verständnis was anderes ist... egal.

In Deinem Fall hast Du die Daten von vielen Jahren und netter Weise gibt es pro Tag nur eine Ziehung, d.h. dieses Ziehungsdatum kann man als ID benutzen um eine Ziehung in Deiner Datenbank eindeutig zu identifizieren. Es gibt verschiedene Arten von Selbst-Referenzierung, behalte im Kopf das ALLE eine eindeutige ID brauchen um zu funktionieren.

Was Du brauchst ist eine ganz einfache:

Um das Prinzip zu verstehen kann man es auf eine simple Tabelle mit einer Spalte "Nr" reduzieren und in der stehen 3 Zeilen mit 1,2,3
Jetzt haben wir eine weitere Abfrage die weitere Nummern irgendwoher zieht und diese liefert nun unter "Nr" die Zahlen 2,3,4 in Zeilen. 
Die Frage ist: Wie kriege ich die neue 4 in die erste Tabelle? (Für Dich: Wie kriege ich neue Lottozahlen in eine vorhandene Datenbank?)

Machen wir mal eine neue Datei und laden die erste Tabelle in PQ und nennen die Abfrage "Daten".
// Daten
let
    Source = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
in
    Source

Die 2te Abfrage die die neuen Zahlen irgendwoher lädt nennen wir Import, ich lade hier der Einfachheit/Reproduzierbarkeit halber die Nummern aus einer 2ten Tabelle "Import":
// Import
let
    Source = Excel.CurrentWorkbook(){[Name="Import"]}[Content]
in
    Source

Beide Abfragen laden wir erstmal nur als Verbindung.

Du weißt das Du diese beiden Tabellen aufeinander stapeln kannst, da die alten Daten sich nicht ändern reicht es die Duplikate zu entfernen und wir laden diese Abfrage nun als Tabelle in ein Blatt, dann sieht die Abfrage so aus:
// Daten
let
    Source = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    AppendedQuery = Table.Combine({Source, Import}),
    RemovedDuplicates = Table.Distinct(AppendedQuery, {"Nr"})
in
    RemovedDuplicates

Wenn wir das gemacht haben hat diese neue Tabelle in der Datei den Namen "Daten" und den tauschen wir nun im MCode und benutzen "uns selber" als Quelle:
// Daten
let
    Source = Excel.CurrentWorkbook(){[Name="Daten"]}[Content],
    AppendedQuery = Table.Combine({Source, Import}),
    RemovedDuplicates = Table.Distinct(AppendedQuery, {"Nr"})
in
    RemovedDuplicates

Und das war's. Die ursprüngliche "Tabelle1" kann man nun löschen, sobald es was neues in "Import" gibt wird es angefügt, ansonsten nicht. 

Für Deinen Fall nimmst Du das Ziehungsdatum statt Nr und wie viele Spalten da noch dranhängen ist wurscht.
Und den Import kannst Du nun reduzieren so weit Du willst und kannst, bzw. Deine Quelle kann. Wenn Du eine Quelle findest die nur die Zahlen der letzten Ziehung liefert, dann musst Du Datei logischer weise jede Woche aktualisieren. Wenn die Quelle nur das aktuelle Jahr liefert dann MUSST Du nach der letzten Ziehung im Jahr aktualisieren und zwischen drin so oft Du willst.

Alles klar?

Andreas.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste