I'm a noob at SQL. Sorry if my title isn't correct; Here's the problem:
I have a QODBC [1] query for QuickBooks that generates Profit & Loss report with dynamic columns:
sp_report
ProfitAndLossStandard
show
"Text",
"RowType",
"Amount" <-- dynamic
parameters
DateFrom= ?,
DateTo= ?,
SummarizeColumnsBy='Day'
With the parameter SummarizeColumnsBy='Day'
you get x
number of Amount
columns for x
number of days between DateFrom
& DateTo
(inclusive).
The above query with three days range looks something like this (first three rows):
0 | 1 | 2 | 3 | 4 | 5 | |
---|---|---|---|---|---|---|
0 | Ordinary Income/Expense | TextRow | 366 | None | None | None |
1 | Income | TextRow | 366 | None | None | None |
2 | 4000 · Revenue | DataRow | 366 | [value] | [value] | [value] |
... |
Columns 3-5
are the Amount
feature and they each show a summary value for a date in the range (only on row type == DataRow
). (I also get this extra column, 2
, not in the SQL request.)
I'm using Python and PyODBC to call QuickBooks. The resulting data is put into a Pandas DataFrame to represent the P&L in my script..
I can do some DataFrame carpentry to get the column names with Pandas, but is there a way to get the column names in the SQL syntax?
IE. 0 = "Text", 1 = "RowType", ...
[1]: In case you don't know, "QODBC is a fully functional ODBC driver for reading and writing QuickBooks ...accounting data files by using standard SQL commands."