Neues Dashboard: Kostenobjekte

This commit is contained in:
knedlik
2026-02-23 08:11:38 +01:00
parent 07854cc0ad
commit 3f7e405824
10 changed files with 495 additions and 14 deletions

View File

@@ -1,34 +1,45 @@
import streamlit as st
import pandas as pd
from data.scriptloader import get_sql
from data.db import get_conn
from data.db import load_data
from auth_runtime import require_login
from ui.sidebar import build_sidebar, hide_sidebar_if_logged_out
from auth import get_fullname_for_user
# hide_sidebar_if_logged_out()
st.set_page_config(page_title="Co-App Home", page_icon="🏠")
st.set_page_config(page_title="Co-App Home", page_icon="🏠", layout="wide")
authenticator = require_login()
st.session_state["authenticator"] = authenticator
@st.cache_data
def cache_data():
return load_data("ora_kostenobjekte","oracle")
def render_report():
df = cache_data()
zgrp1_options = st.multiselect(
"Zuordnungsgruppe1",
["SPI", "KULA", "AT"]
)
def load_data():
sql = get_sql("co_kostenobjekte")
print(sql)
engine = get_conn("co_dw")
with engine.connect() as conn:
df = pd.read_sql(sql, engine)
print(df)
return df
year = 2026
st.dataframe(load_data())
df_actual_year = df[df["jahr"] == year]
df_actual_year = df_actual_year.sort_values(
by="obj",
key=lambda s: pd.to_numeric(s, errors="coerce")
)
if zgrp1_options:
df_view = df_actual_year[df_actual_year["zgrp1"].isin(zgrp1_options)]
else:
df_view = df_actual_year
st.dataframe(df_view, height=600, hide_index=True, width="stretch")
if __name__ == "__main__":
df = load_data()
print(df)
df = render_report()