Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kompliziertes Problem /Power-Query mix mit Standardformeln
#1
Hallo,
mein Problem ist komliziert. Ich verwende eine PowerQuery Abfrage, die ich flexibel gestaltet habe. Damit meine ich, im Power Query Erweiterten Editor, erfrage ich mittels einer eigens erstellten Funktion, Werte eines Tabellenbereichs - (das habe ich mir von einem Youtube Video abgeschaut).

Diese Werte stehen dann in Variablen und binde ich in einem Text String ein, der ein SQL Kommando absetzt (Quelle = SQL Server) und den Resultset an Datensätzen im Excelsheet darstellt. Funktioniert Prima bis hier her.

Diese Datensätze im Excelsheet haben aber immer unterschiedliche Anzahl Rows. Je nach Abfrage halt. Jetzt möchte neben diesen Rows in freien ungenutzten Excelspalten, einige Werte je Datensatz prozentuel darstellen. Da dies meine SQL Abfrage extrem verkomplizieren würde, möchte ich dies nicht mit Sub-SQL-Kommandos machen.

Dachte mir also, das ist ja genau richtig für eine Excel-Standardaufgabe... die so aussieht: ich lasse unnötiges hier weg (Runden etc)
Code:
=100/$B5*$E5
Oder Alternativ:
Code:
=100/[@PeeksInTime]*[@AllFree]

So. Jetzt zum Problem.
Das funktioniert prima bis zu dem Zeitpunkt, wenn weniger oder mehr Datensätze angezeigt werden, als zu dem Zeitpunkt wo die Formeln passten. Denn dann geht in der Formel der Bezug zu den Spalten verloren - oder der Inhalt ist einfach leer und wird nicht berechnet, oder eben es heißt dann plötzlich so:
Code:
=100/#BEZUG!*#BEZUG!
Wenn ich die Variante habe die sich auf die Spalten-Columnnamen beziehen (also etwa @AllFree), kann ich dann in der Excelzelle die Formel provisorisch einmal editieren und Enter drücken, damit erscheint ein kleiner Button, der da heißt:
"Alle Zellen in dieser Spalte mit dieser Formal überschreiben" - danach passt es wieder!

Könnte ich diesen Befehl im Power Query-Code manuell anstossen, wäre es ein Lösungsansatz. Aber ich finde keinerlei Hilfe zu dieser Problematik oder dieser im nachhinein angebotenen Überschreibungshilfe.

Zur Veranschaulichung noch ein Bild...


Angehängte Dateien Thumbnail(s)
       
Antworten Top
#2
Hier noch 2 Bilder zur weiteren Veranschaulichung, und wofür ich dringend eine Lösung ( Blush ) suche...
vorher     und nachher     Exclamation
Antworten Top
#3
Hallo,

warum ist die Berechnung nicht Teil der intelligenten Liste?
Wenn du nicht separat deine Berechnung durchführen würdest, dann würde es funktionieren, würde ich vermuten. :)

Anbei ein Bsp.V
https://www.youtube.com/watch?v=gZh96C3iOh0
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top
#4
Weil ich die Berrechnung im Sub-Select im Select erneut in die Columnliste mitaufnehmen müßte.
Das wäre doppelt gemoppelt und finde ich ziemlich unschön, genauso wie ineffektiv.

Deshalb erscheint mir diese Aufgabe geradezu prädestiniert zu sein für eine simple Excel-Spalten-Formel. Aber das geht eben leider nicht!

Alternativ könnte ich noch in der Datenbank eine View erstellen, die die Datenbasis aufbereitet. Aber dann muss ich anfangen mit
Procedures zu arbeiten. Und auch der Mehraufwand ist hier nicht gerechtfertigt finde ich.

Siehe Bild: Mit "Hugo" kann ich nicht auf "AllFree" zugreifen, deshalb kann ich an der Quelle das gleiche Ergebnis nur erzielen,
wenn ich das Select doppelt mobbeln würde und unnötige Redundanz erzeuge...
   
Antworten Top
#5
Hallöchen,

#BEZUG bekommst Du wahrscheinlich nur mit INDIREKT weg. Ich habe hier mal eine Tabelle eingefügt, und daneben Summen berechnet. Wenn Du die Tabellenspalte B löschst und anschließend C in B umschreibst, bekommst DU mit der INDIEREKT-Formel wieder ein Ergebnis währen die andere nach wie vor den #BEZUG-Fehler bringt.

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDE
1ABCSumme
21233
3454

ZelleFormel
E2=SUMME(INDIREKT("Tabelle1[@[A]:[B]]"))
E3=SUMME(Tabelle1[@[A]:[B]])
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Hinti
Antworten Top
#6
Danke @schauan,
das funktioniert herausragend :17: :19:
Antworten Top


Gehe zu:


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