У меня есть следующий запрос SQL, который я хочу использовать для импорта данных в Power BI. Это включает в себя создание временной таблицы и использование этой таблицы в качестве основного источника данных. Как я могу сделать это в Power BI? Я пытался использовать этот запрос в редакторе при загрузке данных из базы данных, но я продолжаю получать вот такую ошибку
В основном я использовал этот набор данных https://www.kaggle.com/kyanyoga/sample-sales-data и загрузил его в базу данных postgressql.
-- 1. Create temp table to house temporary results
DROP TABLE IF EXISTS product_quantity;
CREATE TEMP TABLE product_quantity
(product_line varchar, this_month_quantity integer, last_month_quantity integer)
--2. Quantity ordered for each Product line for current month is inserted into temporary table.
INSERT INTO product_quantity (product_line, this_month_quantity, last_month_quantity)
SELECT "productline", SUM("quantityordered"), 0
FROM test_schema.sales_data_sample
where "month_id" = 3 and "year_id" = 2003
GROUP BY "productline";
--3. Quantity ordered for each Product line for last month is inserted into temporary table.
INSERT INTO product_quantity (product_line, this_month_quantity, last_month_quantity)
SELECT "productline", 0, SUM("quantityordered")
FROM test_schema.sales_data_sample
where "month_id" = 2 and "year_id" = 2003
GROUP BY "productline";
--4. Retrieve required results.
select
"product_line",
sum("this_month_quantity") as "this_month_quantity",
sum("last_month_quantity") as "last_month_quantity"
FROM product_quantity
group by "product_line"
Действительно ли таблица должна быть TEMP? (если дело в этом). Кроме того, вы можете попробовать отключить складывание в соответствии с сообщением
Предпочтительно. Разве это невозможно? Вы знаете, почему я получаю эту ошибку?
Я предполагаю, что запрос слишком сложен для применения "складывания". Взгляните на этот пост об отключении сворачивания и посмотрите, поможет ли это: community.powerbi.com/t5/Desktop/Query-Folding-disable/td-p/…
Я правда пробовал, не получилось :(
Вы говорите, что установили
[EnableFolding=false]
, но все равно получаете ту же ошибку? Затем я предлагаю вам использовать обычную таблицу, а не временную, и посмотреть, поможет ли это.Вы также можете просто преобразовать свой SQL в большой встроенный SQL-запрос вообще без временной таблицы.