Dieser Artikel wurde im Rahmen der Data Science Blogathon.
Einführung
In diesem Artikel, Ich werde zeigen, wie wir eine Regressionsanalyse durchführen und den Mietpreis in R . optimieren können, dann füge den Wert in Excel ein, die später wieder eine Verbindung zu Tableau herstellt, um weitere Berechnungen mit anderen Feldern im ursprünglichen Datensatz durchzuführen.
Diese Art der nahtlosen Integration zwischen 3 Verschiedene Analysetools können Datenanalysten dabei helfen, statistische Untersuchungen in R . durchzuführen, Migrieren Sie dann die Ergebnisse in Tableau und visualisieren Sie sie für Geschäftsleser leicht verdaulich.
Einführung in den verwendeten Datensatz und die Geschäftsanforderungen
Der Datensatz für dieses Beispiel stammt aus dem Capstone-Projekt innerhalb von „Excel ein MySQL: Analysetechniken für Unternehmen“. Dies ist eine Tabelle, die Informationen zu den Mietobjekten eines Unternehmens enthält, mit Informationen zur Kurzzeitmietauslastung und zum durchschnittlichen Mietpreis pro Nacht. Wir haben auch Daten zum Preis im Perzentil 10 und Perzentil 90 von ähnlichen Immobilien in der gleichen Region.
Unsere Geschäftsanforderung ist es, für jede Immobilie einen optimierten Preis zu finden, damit der Umsatz maximiert werden kann. Da das Einkommen eine Funktion der Auslastung ist * Mietpreis pro Nacht * 365 (Vorausgesetzt, die Immobilie kann ganzjährig gemietet werden), wir müssen die Auslastung als Funktion des Mietpreises pro Nacht ausdrücken, was durch einfache lineare Regression möglich ist
Die nächste Aufgabe besteht darin, die R optim-Funktion auszuführen, genau wie wir Solver in Excel verwenden, für jede Eigenschaft oder jede Zeile im Datensatz.
Mit dem optimierten Preis und der erwarteten Auslastung, Wir können den Gesamtrohertrag des Unternehmens berechnen und viele andere Analysen durchführen.
R mit Tableau verbinden

Zuerst müssen wir Tableau mit R . verbinden.
Bevor Sie R mit Tableau verbinden, Stellen Sie sicher, dass Ihre R-Konsole bereits Rserve installiert hat.
library("Rserve")
Rserve()
Jetzt, R sollte drucken ‚Starte Rserve …‘. Wenn Sie dieses Ergebnis sehen, dann kommuniziert R mit Tableau, um eine Verbindung herzustellen.
2) Öffnen Sie Tableau und klicken Sie auf Hilfe> Konfiguration und Leistung> Externe Serviceverbindungen verwalten.
3) Im sich öffnenden Dialog, wählen ‚localhost‘ zum Server und schreibe ‚6311‘ für Puerto.
4) Später, Klicken Sie auf Verbindung testen
Jetzt, Es sollte ein Dialogfeld mit der Aufschrift . erscheinen: ‚Erfolgreich mit dem Rserve-Dienst verbunden‘. Das bedeutet, dass Sie R mit Tableau verwenden können
Erstellen Sie ein berechnetes Feld, das R-Code in Tableau ausführt
Erstellen Sie ein berechnetes Feld und fügen Sie den folgenden Code ein:
SCRIPT_REAL(
"df <- data.frame(.arg1,.arg2,.arg3,.arg4,.arg5)
Modell <-lm(Daten=df,.arg1 ~ .arg2)
Umsatzfunktion anlegen.
Einnahmen <- Funktion(Daten,durch) {
par_vs_10th <- par-data$.arg3
normalisierter_Preis <-0.1+0.8*par_vs_10th/data$.arg5
fcst_occupancy <-coef(Modell)['(Abfangen)']+coef(Modell)['.arg2']*normalisierter_Preis
fcst_st_revenue <-fcst_occupancy*365*par
fcst_st_revenue
}
Führen Sie Optim für jede Zeile in df . aus. Finden Sie den Wert von "durch"-Mietpreis – das kann die Ertragsfunktion optimieren
zum (ich bin dabei 1:jetzt(df))
{df[ich,'optimierter_Preis'] <-Optimum(122,Einnahmen,Daten=df[ich,],Methode='L-BFGS-B', control=liste(fnscale = -1),niedriger=df[ich,'.arg3']) }
#Rückgabe des optimierten Preises als Ausgabe für das berechnete Feld
df$optimized_price",
Summe([Belegungsrate]),
durchschnittlich([sample_price_percentile]),
durchschnittlich([Perzentil10. Preis]),
durchschnittlich([Perzentil 90. Preis]),
durchschnittlich([perzentile_90th_vs_10th]),
attr([Ws-Eigenschafts-ID]))
Der R-Code muss in einer Funktion wie SCRIPT_REAL . geschrieben werden, was numerische Werte zurückgibt. Es gibt andere ähnliche R-Funktionen in Tableau, como SCRIPT_BOOL und SCRIPT_INT, basierend auf den Werten, die Sie abrufen möchten.
Vor dem Laufen, Wir müssen eine Tabelle erstellen: df <-data.frame (.arg1, .arg2,…)
.arg1, .arg2… sind die Datenquellenfelder in Tableau. Es sind die fetten Worte des Codes. .arg1 ist die Auslastung, .arg2 es el sample_price_percentile.
Der R_code wird in Klammern eingeschlossen (”“). Die letzte Codezeile: df $ optim_price bestimmt den Rückgabewert für diese Berechnung.
Für eine detaillierte Erklärung zum Ausführen der linearen und optimalen Regression in R, siehe Link unten:
Diese Berechnung ist eine Tabellenberechnung. Stellen Sie sicher, dass es zusammen mit der Property-ID berechnet wird.

Lassen Sie uns eine Ansicht erstellen, um diese Messung zu sehen.

Jetzt haben wir den Preis jeder Immobilie optimiert.
Aber trotzdem, jetzt tritt ein problem auf. Diese Kennzahl ist eine Tabellenberechnung und wir können nur einen einzigen Wert pro Eigenschaft haben, wenn wir sie in einer Tabelle betrachten. Wir können es nicht in eine andere Berechnung einbetten.
Zum Beispiel, Ich möchte den optimierten Preis mit der folgenden Formel auf einen Perzentilwert normalisieren:
0,1 + 0,8 * (Optimierter Preis-10. Perzentilpreis) / (90. Perzentil vs. 10.)
Tableau generiert einen Fehler, sagen, wir können eine aggregierte Kennzahl nicht mit einem nicht aggregierten Wert mischen. Das ist wirklich unpraktisch und unflexibel, da wir vielleicht eine R-kodierte Berechnung für viele weitere Messungen nutzen möchten.

Um dieses Problem zu mildern, Ich habe einen Workaround gefunden: R-optimierte Werte in CSV- oder Excel-Datei schreiben, danach diesen neuen Datensatz mit dem DatenquelleEIN "Datenquelle" bezieht sich auf jeden Ort oder jedes Medium, an dem Informationen erhalten werden können. Diese Quellen können sowohl primär als auch, wie z.B. Erhebungen und Experimente, als sekundär, als Datenbanken, Wissenschaftliche Artikel oder statistische Berichte. Die richtige Wahl einer Datenquelle ist entscheidend, um die Gültigkeit und Zuverlässigkeit von Informationen in Forschung und Analyse zu gewährleisten.... Original in Tableau zur Erstellung anderer Visualisierungen oder Messgrößen kombinieren.
Endgültige Integration
Erstellen wir ein weiteres Berechnungsfeld in Tableau, namens Skript. Diesmal werden wir keinen numerischen Wert zurückgeben, aber wir werden die Ausgaben in eine externe CSV-Datei schreiben. In meinem Beispiel, Ich schreibe der Einfachheit halber in CSV, Sie können aber auch in eine xlsx-Datei schreiben, wenn Sie es vorziehen.
SCRIPT_REAL(
"df <- data.frame(.arg1,.arg2,.arg3,.arg4,.arg5)
Modell <-lm(Daten=df,.arg1 ~ .arg2)
Einnahmen <- Funktion(Daten,durch){
par_vs_10th <- par-data$.arg3
normalisierter_Preis <-0.1+0.8*par_vs_10th/data$.arg5
fcst_occupancy <-coef(Modell)['(Abfangen)']+coef(Modell)['.arg2']*normalisierter_Preis
fcst_st_revenue <-fcst_occupancy*365*par
fcst_st_revenue
}
zum (ich bin dabei 1:jetzt(df)) {df[ich,'optimierter_Preis'] <-Optimum(122,Einnahmen,Daten=df[ich,],Methode='L-BFGS-B', control=liste(fnscale = -1),niedriger=df[ich,'.arg3']) }
df$normalized_optimized_price<-0.1+0.8*(df$optimized_price-df$.arg3)/(df$.arg5)
#Erstellen Sie einen neuen Datenrahmen, Ersetzen von .arg2(sample_percentile_price) mit dem normalisierten optimierten Preis
Neu <-data.frame(.arg2=df$normalized_optimized_price)
#Sagen Sie die Auslastung basierend auf dem optimierten Preis voraus und fügen Sie df . als neue Spalte hinzu
df['Prognose Belegung']=vorhersagen.lm(Modell, newdata=neu)
#Property-ID zu df . hinzufügen
df['Ws Immobilien-ID']= .arg6
#df in eine CSV-Datei schreiben
schreibe.tabelle(df,'D:/Dokumente/Geschäftsanalyse/4. Visualisierung/Business Capstone/Blogathon/new.csv',sep=',',row.names=FALSCH,quote=FALSCH,Spaltennamen = WAHR)
",
Summe([Belegungsrate]),
durchschnittlich([sample_price_percentile]),
durchschnittlich([Perzentil 10. Preis]),
durchschnittlich([Perzentil 90. Preis]),
durchschnittlich([perzentile_90th_vs_10th]),
attr([Ws-Eigenschafts-ID]))
Der nächste Schritt besteht darin, ein neues Blatt zu erstellen, genannt Blatt 2, zum Beispiel. Dann, Ziehen Sie die Property-ID und die Skriptkennzahl in das Detail auf der Markenkarte.
Sie sollten eine Nachricht wie die folgende sehen:

Ignoriere diese Fehlermeldung einfach. Öffnen Sie den Ordner, den Sie in der Skriptberechnung angegeben haben, und Sie werden sehen, dass gerade eine neue CSV-Datei erstellt wurde.


Unsere nächste Aufgabe ist einfacher, Verbinden Sie einfach die Tableau-Arbeitsmappe mit dieser CSV-Datei und führen Sie sie mit der ursprünglichen Datenquelle zusammen, nach Fremdschlüssel: WS-Eigenschafts-ID.

Jetzt, in dem GremiumEin Panel ist eine Gruppe von Experten, die sich trifft, um ein bestimmtes Thema zu diskutieren und zu analysieren. Diese Foren sind bei Konferenzen üblich, Seminare und öffentliche Debatten, wo die Teilnehmer ihr Wissen und ihre Perspektiven teilen. Panels können eine Vielzahl von Bereichen abdecken, Von der Wissenschaft bis zur Politik, Ziel ist es, den Gedankenaustausch und die kritische Reflexion unter den Teilnehmern zu fördern.... von Dateien, ein neuer Datensatz steht zur Nutzung bereit.

Da haben wir den optimierten Preis und die zu erwartende Auslastung als normale Felder, wir können sie für zusätzliche Berechnungen ohne zusätzliche stufenbezogene Probleme wie oben verwenden.
Angenommen, ich möchte eine Kennzahl namens Bruttoumsatz = Optimierter Preis erstellen * Belegungsrate * 365. Die Berechnung ist nun gültig.

In der Zukunft, falls es Änderungen in den Daten gibt AusbildungTraining ist ein systematischer Prozess zur Verbesserung der Fähigkeiten, körperliche Kenntnisse oder Fähigkeiten. Es wird in verschiedenen Bereichen angewendet, wie Sport, Aus- und Weiterbildung. Zu einem effektiven Trainingsprogramm gehört auch die Zielplanung, Regelmäßiges Üben und Bewerten der Fortschritte. Anpassung an individuelle Bedürfnisse und Motivation sind Schlüsselfaktoren, um in jeder Disziplin erfolgreiche und nachhaltige Ergebnisse zu erzielen.... (Preisschild pro Nacht), oder wenn Sie dem linearen Modell weitere Funktionen hinzufügen. Öffnen Sie einfach das Blatt 2 erneut, um den Prozess zu reaktivieren und neue Ergebnisse abzurufen.
Abschließende Anmerkungen
Die Möglichkeit, R-Code in eine Berechnung zu schreiben, macht Tableau flexibler als seine Konkurrenten, Power BI, in Verbindung mit externen Datenanalyseplattformen. Beim Kombinieren von Tableau, Excel und R, wir können die Leistungsfähigkeit vieler Tools gleichzeitig für unsere analytischen Praktiken nutzen.
Haben Sie andere Ideen und Anwendungsfälle im Zusammenhang mit der Verwendung von Python und R in Tableau? Fühlen Sie sich frei, diesen Artikel zu kommentieren..



