У меня есть отчет Excel, который должен быть сделан в Powerbi. Теперь у меня есть еще 1 проблема с последним запросом. В Excel есть лист «Списки», который содержит все виды случайных данных (например, пути к документам, вычисленные даты и т. Д. c, все они довольно случайные).
В запросе у меня есть строка:
#"Filtered Rows1" = Table.SelectRows(#"Added Items", each Cube.AttributeMemberId([#"Date - Time.Year"]) = Text.Combine({"[Time].[Time].[Calendar Year].&[", Number.ToText(Date.Year(Excel.CurrentWorkbook(){[Name="Request"]}[Content]{0}[end])),"]"}) meta [DisplayName = Number.ToText(Date.Year(Excel.CurrentWorkbook(){[Name="Request"]}[Content]{0}[end]))]),
#"Changed Type1" = Table.TransformColumnTypes(#"Filtered Rows1",{{"Date - Time.Days", type date}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type1", each [#"Date - Time.Days"] >= #date(Date.Year(Excel.CurrentWorkbook(){[Name="Request"]}[Content]{5}[start]),Date.Month(Excel.CurrentWorkbook(){[Name="Request"]}[Content]{5}[start]),Date.Day(Excel.CurrentWorkbook(){[Name="Request"]}[Content]{5}[start])) and [#"Date - Time.Days"] <= #date(Date.Year(Excel.CurrentWorkbook(){[Name="Request"]}[Content]{0}[end]),Date.Month(Excel.CurrentWorkbook(){[Name="Request"]}[Content]{0}[end]),Date.Day(Excel.CurrentWorkbook(){[Name="Request"]}[Content]{0}[end]))),
В первой части этого кода:
Number.ToText(Date.Year(Excel.CurrentWorkbook(){[Name="Request"]}[Content]{0}[end]))
Я выяснил, что этот код подключается к файлу Excel "Списки" (таблица от A1 до F7) - что-то вроде этого :
+--------------+------------------+------------+------------+-----------------+----------+
| NameOfSource | httpaddress | start | end | Path | File |
+--------------+------------------+------------+------------+-----------------+----------+
| Data 1 | http:.... | 09.03.2020 | 11.03.2020 | http:.... | |
| Data 2 | http:.... | | | http:.... | |
| Data 3 | X:\....\.. .txt | | | X:\....\.. .txt | |
| Data 4 | X:\....\.. 2.txt | | | X:\....\.. .txt | |
| Data 5 | X:\....\.. 3.txt | 01.03.2020 | 08.03.2020 | X:\....\.. .txt | xxx.json |
+--------------+------------------+------------+------------+-----------------+----------+
Итак, я думаю, кодовая часть [Content]{0}
относится к столбцу end
, где значение равно 11.03.2020
. Теперь это 11.03.2020
вычисляется с кодом =DATE(YEAR(NOW());MONTH(NOW());DAY(NOW())-1)
.
В PowerBI я не хочу использовать этот метод для извлечения данных, если возможно, я хочу каким-то образом эти данные в исходный код запроса. Поэтому вместо Number.ToText(Date.Year(Excel.CurrentWorkbook(){[Name="Request"]}[Content]{0}[end]))
я бы хотел, чтобы код выполнял те же вычисления, не указывая на другой лист или место.
То же самое с
Date.Year(Excel.CurrentWorkbook(){[Name="Request"]}[Content]{5}[start])
Вместо указания на строку листа [Content]{5}[start]
здесь используется код =EOMONTH([@end];-1)+1
Надеюсь, я объяснил достаточно хорошо:)
ИЛИ, поскольку это не единственные запросы данных, извлеченные из этого листа "Списки", возможно, его легче создать такой лист в powerbi, а? В этом случае есть какая-либо документация, которая объясняет, как это сделать? Потому что я не думаю, что PowerBI использует (Excel.CurrentWorkbook)
или что-то подобное.