diff --git a/components/Main.tsx b/components/Main.tsx
index f9ed014..4d8cb9f 100644
--- a/components/Main.tsx
+++ b/components/Main.tsx
@@ -318,21 +318,10 @@ export default function Main() {
df = pd.json_normalize(js_data.to_py())
if "__index_level_0__" in df.columns:
- df = df.drop(columns=["__index_level_0__"])
+ df = df.drop(columns=["__index_level_0__"])
if not preview:
- df = df.pivot_table(index=[${rows
- .map((row) => `'${row.name}'`)
- .toString()}],
- columns=[${columns
- .map((column) => `'${column.name}'`)
- .toString()}],
- values='${aggregation.name}',
- aggfunc='${
- aggregation.type?.toLowerCase() === "avg"
- ? "mean"
- : aggregation.type?.toLowerCase()
- }');
+ df = ${getPivotCode()}
def format_excel_sheet(writer, df, sheet_name='Pivot Table'):
df.to_excel(writer, sheet_name=sheet_name)
@@ -406,6 +395,28 @@ export default function Main() {
}
};
+ const getPivotCode = () => {
+ if (
+ !preview &&
+ aggregation.name &&
+ (rows.length > 0 || columns.length > 0)
+ ) {
+ return `df.pivot_table(index=[${rows
+ .map((row) => `'${row.name}'`)
+ .toString()}],
+ columns=[${columns
+ .map((column) => `'${column.name}'`)
+ .toString()}],
+ values='${aggregation.name}',
+ aggfunc='${
+ aggregation.type?.toLowerCase() === "avg"
+ ? "mean"
+ : aggregation.type?.toLowerCase()
+ }')`;
+ }
+ return null;
+ };
+
const hasRelationships = useMemo(
() =>
files.every((file) =>
@@ -463,20 +474,38 @@ export default function Main() {
)}
{sqlQuery && (
-
+ <>
+
+ {!preview && getPivotCode() && (
+
+ )}
+ >
)}