Liste erstellen mit DAtumswerten per PQ
#1
Hallo Freunde, Helfer und Mitlesende. Ich habe mal wieder eine Frage zu Power Query. Ich möchte nachdem ich mich mit Zeiträumenbeschäftigt habe ger eine Liste erzeuge per PQ- ohne Formeln ubd ohne VBA.Mir ist klar, dass das möglicherweise recht einfach ist, aber ich komme im Moment nicht drauf. Ich sollte auch meine Signatur möglichrweise ändern.

was habe ich?

= List.Dates(#date(2025,7,22),4,#duration(7,0,0,0))

was möchte ich?

Ich möchte das Datum nicht fest in den M-code schreiben und die Anzahl der Einträge, hier 4 sowie den Abstand(hier 7) in einzelnen Zellen flexibel gestalten. Ich hoffe, ich habe mich nicht zu umständlich ausgrdückt und bin gespannt auf Reaktionen.
Gruß Jörg
stolzes Mitglied im ----Excel-Verein

Im Wort FEHLER steckt auch das Wort HELFER!

FEHLER helfen dir.
Nimm deine FEHLER an und lerne aus ihnen. 
Wenn du es zulässt, dann werden sie dich stärken

Im Wort 
Antworten Top
#2
Creating Dynamic Parameters in Power Query - Excelguru
[-] Folgende(r) 1 Nutzer sagt Danke an DeltaX für diesen Beitrag:
  • Jockel
Antworten Top
#3
Mach Dir eine Parametertabelle und lies die Werte daraus, hier beschrieben, Code unten.
https://excelguru.ca/building-a-paramete...wer-query/

Andreas.

Code:
// fnParameter
let func = (ParameterTable as text, Parameter as text, optional ParameterColumn as text, optional ValueColumn as text) =>
  let
    Source = Excel.CurrentWorkbook(){[Name=ParameterTable]}[Content],
    CN = Table.ColumnNames(Source),
    PC = if ParameterColumn = null then CN{0} else ParameterColumn,
    VC = if ValueColumn = null then CN{1} else ValueColumn,
    Filtered = Table.SelectRows(Source, each (Table.Column(_, PC) = Parameter)),
    Value = if Table.IsEmpty(Filtered) then null else Record.Field(Filtered{0}, VC)
  in
    Value,
documentation = [
  Documentation.Name =  "fnParameter",
  Documentation.Description = "Returns the value of a parameter from an Excel table",
  Documentation.LongDescription = Documentation.Description,
  Documentation.Category = "Parameter",
  Documentation.Source = "andreas.killer@gmx.net",
  Documentation.Version = "2.0",
  Documentation.Author = "Andreas Killer",
  Documentation.Examples = {[
    Description = "
FullName = fnParameter(""Setup"",""Path"") & fnParameter(""Setup"", ""Filename"")
    ",
    Code = "
ParameterTable : Name of the parameter table in Excel
ParameterName  : Text to be found in the ParameterColumn
ParameterColumn: Name of the column containing the ParameterName (1st column if omitted)
ValueColumn    : Name of the column containing the value to be returned (2nd column if omitted)

This avoids the error:
""Formula.Firewall: Query 'Query1' (step 'Source') references other queries or steps, so it may not directly access a data source. Please rebuild this data combination.""
",
    Result = ""]}]
in 
  Value.ReplaceType(func, Value.ReplaceMetadata(Value.Type(func), documentation))
[-] Folgende(r) 1 Nutzer sagt Danke an Andreas Killer für diesen Beitrag:
  • Jockel
Antworten Top
#4
Jockel,

zwei Beispiele mit Namen und aus Tabelle.

Grüße


Angehängte Dateien
.xlsx   PQ_Datum_1.xlsx (Größe: 15,76 KB / Downloads: 7)
Antworten Top
#5
Hallo, vielen Dank für die Beiträge. Ich bin hocherfreut und werde alles zeitnah ausprobieren. Ich melde mich.
Gruß Jörg
stolzes Mitglied im ----Excel-Verein

Im Wort FEHLER steckt auch das Wort HELFER!

FEHLER helfen dir.
Nimm deine FEHLER an und lerne aus ihnen. 
Wenn du es zulässt, dann werden sie dich stärken

Im Wort 
Antworten Top
#6
hallo, kann man irgendwo einstellen, dass man nicht mehr nur in Verbindung lädt, sondern in ein neues Blatt oder in ein vorhandenes? Ist das nach dem ersten Mal noch möglich zu ändern?
Gruß Jörg
stolzes Mitglied im ----Excel-Verein

Im Wort FEHLER steckt auch das Wort HELFER!

FEHLER helfen dir.
Nimm deine FEHLER an und lerne aus ihnen. 
Wenn du es zulässt, dann werden sie dich stärken

Im Wort 
Antworten Top
#7
Hallo Jörg,

rechte Maustaste auf Abfrage 1, Laden in, Tabelle anklicken, bestehendes Arbeitsblatt auswählen, gewünschte Zelle anklicken.

Hoffe Dir geht es gut.
Gruß

Edgar

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

statt:
PC = if ParameterColumn = null then CN{0} else ParameterColumn,
VC = if ValueColumn = null then CN{1} else ValueColumn,

ist diese Schreibweise effizienter:
PC = ParameterColumn ?? CN{0},
VC = ValueColumn ?? CN{1},

Gruß von Luschi
aus klein-Paris

PS: ?? ist der Coalesce-Operator https://gorilla.bi/power-query/coalesce
Antworten Top
#9
hallo Edgar, danke für den Tipp! Hat freilich geklappt
Gruß Jörg
stolzes Mitglied im ----Excel-Verein

Im Wort FEHLER steckt auch das Wort HELFER!

FEHLER helfen dir.
Nimm deine FEHLER an und lerne aus ihnen. 
Wenn du es zulässt, dann werden sie dich stärken

Im Wort 
Antworten Top
#10
Hallo Jörg,

da ich nicht nachvollziehen kann, wie die Datei bei Dir auf dem Rechner ankommt und was Dein Rechner macht, hier mal 3 Screenshots, die den Ablauf bei mir darstellen:

           

Bild 1: Bei Daten, Abfragen und Verbindungen anklicken. Im neuen Fenster an der rechten Seite mit der rechten Maustaste  "Abfrage 1" anklicken. Es öffnet sich das Fenster, was im Bild zu sehen ist. "Laden in" anklicken.
Bild 2:  Es öffnet sich das Fenster "Daten importieren". Hier "Tabelle" anklicken und anschließend die Zelle, in die die Tabelle platziert werden soll.
Bild 3: Ergebnis, wenn man das erledigt hat.
Gruß

Edgar

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


Gehe zu:


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