Seite 1 von 1

Gini-Koeffizient

BeitragVerfasst: 14. Sep 2021, 08:18
von gast111
Hallo Forum,

vor einiger Zeit habe ich mir eine korrekt funktionierende Routine gebastelt, mit der ich die Ungleichverteilung bestimmter Daten ermitteln kann. Ursprünglich wollte ich die Routine einfach nur als public function Gini(...) as double definieren. Das hatte aber nicht geklappt. Die Routine wurde schlicht ignoriert. Als ich die Routine aber in public function GiniGini(...) umbenannte, wurde sie korrekt ausgeführt. Ich vermute, dass der Name "Gini" bereits irgendwo vergeben ist. Aber wo, wie, wozu und ggfs. mit welchen Parametern?

Meine Frage: Gibt es etwa einen entsprechenden Code für die Berechnung der Ungleichverteilung in irgendeiner Bibliothek, den man verwenden könnte?

Danke, wie immer, für Eure hilfreichen Tipps!

Gruß,
r.obert

Re: Gini-Koeffizient

BeitragVerfasst: 14. Sep 2021, 09:31
von Bitsqueezer
Hallo,

nie davon gehört, aber vielleicht heißt Dein Modul auch "Gini"?.... oder etwas Anderes in Deiner Datenbankdatei.

Nebenbei vermeidet man Namensprobleme am besten durch Verwendung von Prefixes. Ein "fnGini" sollte zum einen klarmachen, daß es sich um eine Function handelt und zum anderen ein Namensproblem vermeiden.

Darüber hinaus verwendet VBA halt den ersten Namen, der in seinem Namespace identisch ist. Will man das vermeiden, stellt man den Namen der Bibliothek, hier Deines Moduls, voran. Wenn das Modul "modFunctions" heißt, kannst Du konkret "modFunctions.Gini" verwenden und es wird genau diese auch gefunden.

Gruß

Christian

Re: Gini-Koeffizient

BeitragVerfasst: 14. Sep 2021, 16:44
von mmarkus
gast111 hat geschrieben:Aber wo, wie, wozu und ggfs. mit welchen Parametern?


Einfach im Objektkatalog nachsehen, da siehst du sowohl deine eigenen als auch fremde Funktionen.

Ansonsten sollte debuggen Erfolg bringen.

Bei Mehrfachnutzung kann man auch den Modulnamen voranstellen, damit Eindeutigkeit hergestellt ist.

Re: Gini-Koeffizient

BeitragVerfasst: 14. Sep 2021, 18:23
von Jogeli
Modul und Funktion dürfen nicht den gleichen Namen haben.