У меня есть MS SQL, работающий под Power Query, чтобы получить некоторые данные в Excel.power query loop from sql имя динамической таблицы
у нас есть несколько проектов, и код для них, которые поступают из другого запроса следующим образом:
let
Source = Projects[Code]
in
Source
Sample данные:
+------+
| code |
+------+
| 2 |
| 3 |
| 6 |
| 76 |
| 77 |
| 78 |
| 79 |
| 80 |
| 81 |
| 82 |
| 83 |
| 84 |
| 85 |
| 86 |
| 87 |
| 88 |
| 89 |
| 90 |
| 91 |
| 92 |
| 93 |
| 94 |
| 95 |
| 96 |
| 97 |
| 99 |
| 100 |
| 101 |
| 102 |
| 103 |
+------+
то, что я хочу сделать это, чтобы запустить ниже основного запрос для каждого кода проекта.
let
Source = Sql.Database("server", "logo", [Query="select '92' as [santiye] , stockref, DATE_ , AMOUNT, PRICE, total from LG_092_01_STLINE where cancelled = 0 and TRCODE =1"]),
#"Merged Queries" = Table.NestedJoin(Source,{"stockref"},Query2,{"stockref"},"NewColumn",JoinKind.LeftOuter),
#"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", {"CODE", "NAME"}, {"NewColumn.CODE", "NewColumn.NAME"}),
#"Removed Columns" = Table.RemoveColumns(#"Expanded NewColumn",{"stockref"}),
#"Reordered Columns" = Table.ReorderColumns(#"Removed Columns",{"NewColumn.CODE", "NewColumn.NAME", "DATE_", "AMOUNT", "PRICE", "total"}),
#"Changed Type" = Table.TransformColumnTypes(#"Reordered Columns",{{"santiye", Int64.Type}}),
#"Merged Queries1" = Table.NestedJoin(#"Changed Type",{"santiye"},Projects,{"Code"},"NewColumn",JoinKind.LeftOuter),
#"Expanded NewColumn1" = Table.ExpandTableColumn(#"Merged Queries1", "NewColumn", {"Project Name"}, {"NewColumn.Project Name"}),
#"Renamed Columns" = Table.RenameColumns(#"Expanded NewColumn1",{{"NewColumn.Project Name", "Project Name"}}),
#"Reordered Columns1" = Table.ReorderColumns(#"Renamed Columns",{"santiye", "Project Name", "NewColumn.CODE", "NewColumn.NAME", "DATE_", "AMOUNT", "PRICE", "total"})
in
#"Reordered Columns1"
имя таблицы в SQL должен изменяться динамически и взяты из другого запроса в цикле и объединения всех данных одновременно.
LG_092_01_STLINE = LG_ {код} _01_STLINE
[Запрос = "выбрать '92', как = [Запрос =" выберите {код}, как
я сделал аналогично цикл в SQL запроса, но «exec()» не работает в режиме запроса unfort.
while @cnt <= @maxrow
begin
select @firma = nr from (SELECT ROW_NUMBER() over (order by logicalref asc) as NUM, NR FROM L_CAPIFIRM ) nn where NUM = @cnt
select @santiye = name from L_CAPIFIRM where NR = @firma
set @firma = RIGHT('000'+CAST(@firma AS VARCHAR(3)),3)
set @items = 'LG_' + convert(nvarchar(3),@firma) + '_ITEMS'
set @stline = 'LG_' + convert(nvarchar(3),@firma) + '_01_STLINE'
Благодарим вас за ответ, но таблицы в базе данных зависят от первого списка кодов. этот список может меняться время от времени около того таблиц, которые должен союзом также изменений ... имен примера таблицы в базе данных в зависимости от списка кодов проекта: '' LG_002_01_STLINE' LG_003_01_STLINE' '' LG_006_01_STLINE' LG_076_01_STLINE' и т.д ... , а также мне нужно объединить все эти таблицы в одну таблицу в запрос мощности –
Этот сценарий уже рассмотрен в моем ответе выше, исправьте шаг фильтра в третьем параграфе. –
Я угадываю свои пределы знаний, чтобы понять ваш ответ ... Я буду очень рад, если вы просто отредактируете файл с образцом, который я подключил ... [Пример файла] (https://drive.google .com/open? id = 0BxC6zZIYn1SzMjltbEhDRUFvMG8) –