Deprecated: Creation of dynamic property CF\WordPress\DataStore::$logger is deprecated in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php on line 23

Deprecated: Creation of dynamic property CF\WordPress\Proxy::$pluginAPI is deprecated in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/Proxy.php on line 31

Deprecated: file_get_contents(): Passing null to parameter #2 ($use_include_path) of type bool is deprecated in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/codelights-shortcodes-and-widgets/codelights.php on line 20

Warning: session_start(): Session cannot be started after headers have already been sent in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/automatic-video-posts/vendor/ternstyle/wordpress/src/class/wordpress.php on line 53

Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Deprecated: Creation of dynamic property ternplugin\youtube_video::$post is deprecated in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/automatic-video-posts/vendor/ternstyle/plugin/src/class/youtube_video.php on line 64

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758

Warning: Cannot modify header information - headers already sent by (output started at /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-content/plugins/cloudflare/src/WordPress/DataStore.php:23) in /home1/cassanoc/public_html/bonbonsguide.com/wp/wp-includes/rest-api/class-wp-rest-server.php on line 1758
{"id":686,"date":"2018-07-12T06:01:05","date_gmt":"2018-07-12T13:01:05","guid":{"rendered":"https:\/\/bonbonsguide.com\/wp\/?p=686"},"modified":"2018-12-02T13:11:34","modified_gmt":"2018-12-02T20:11:34","slug":"msptda-05-power-query-excel-currentworkbook-function-to-append-all-excel-tables-in-excel-workbook-5","status":"publish","type":"post","link":"https:\/\/bonbonsguide.com\/wp\/blog\/2018\/07\/msptda-05-power-query-excel-currentworkbook-function-to-append-all-excel-tables-in-excel-workbook-5\/","title":{"rendered":"MSPTDA 05: Power Query: Excel.CurrentWorkbook Function to Append All Excel Tables in Excel Workbook"},"content":{"rendered":"

Download Excel START Files:
\nhttps:\/\/ift.tt\/2L6uYCT
\nhttps:\/\/ift.tt\/2L6jfYj
\nDownload Excel FINISHED Files:
\nhttps:\/\/ift.tt\/2La3uMM
\nhttps:\/\/ift.tt\/2L9mZsh
\nDownload pdf Notes about Power Query: https:\/\/ift.tt\/2LbMtSy
\nAssigned Homework:
\nDownload Excel File with Homework: https:\/\/ift.tt\/2KZofOx
\nExample of Finished Homework: https:\/\/ift.tt\/2Le3lYU
\nIn this Video learn all about Excel.CurrentWorkbook Power Query Function to import all the Excel Tables in the Current Workbook, including all the potential pitfalls of using this function and how to get around these pitfalls.
\nTopics:
\n1. (00:15) Introduction to Video and to Excel.CurrentWorkbook Function, including correct definition of what Excel.CurrentWorkbook Function imports when this function is invoked.
\n2. (02:10) Example1: Append all Excel Tables in Current Workbook To Worksheet. We will see the Recursion Problem and solve it by filtering out the Query\/Table Name.
\n3. (03:15) Create a Blank Query.
\n4. (04:10) Use Excel.CurrentWorkbook() Function as Source for Query.
\n5. (04:50) Use Replace feature to extract the SalesRep name from the Excel Table Name.
\n6. (05:38) Expand column with Excel Tables to Append all Tables into one Table.
\n7. (05:56) Add correct Data Types for each column
\n8. (06:22) Introduction to Recursion Problem, where Query will refer to itself and will double the loaded records every time a Refresh is done. And look at details of Loading Data to an Excel Worksheet after using Excel.CurrentWorkbook() Function.
\n9. (10:07) Solve the Recursion Problem by filtering out the Query\/Table Name.
\n10. (11:03) Add new Excel Table to Workbook and refresh to see that new table is incorporated into Final Data Set.
\n11. (11:40) Look at M Code for Example #1
\n12. (12:20) Example2: Append all Excel Tables in Current Workbook To PivotTable Cache & make PivotTable Report. This solves the Recursion Problem because there is not a Query Load table in the Excel Worksheet as an Excel Table.
\n13. (12:41) Remove Excel Table that is result of Power Query Load to Worksheet by Clearing All. This process will change the Load location to Connection Only.
\n14. (13:38) Edit Query to Remove unneeded step and to Rename incorrectly named column.
\n15. (14:28) Look at M Code for Example #2
\n16. (15:05) Example3: Append all Excel Tables in Current Workbook that has Defined Names.
\n17. (15:12) Look at different objects in Excel workbook, including Excel Tables and Defined Names.
\n18. (17:07) Keyboard for Blank Query
\n19. (17:40) Use Excel.CurrentWorkbook() Function as Source for Query. Then see that this imports Excel Tables and Other Objects.
\n20. (17:51) Define Table Object: Set of Records for a Set of Columns\/Fields.
\n21. (18:50) Take note that Defined Names are Imported as Tables with generic Columns Names.
\n22. (19:50) Learn about Table.ColumnNames Power Query Function.
\n23. (19:59) Filter out Filtered Database Error.
\n24. (20:29) Create Custom Column and use Table.ColumnNames Power Query Function to Extract Column Names from each Table in each Row.
\n25. (20:55) Learn about Lookup Operator or Field Access Operator to access the content for each row in a specified column.
\n26. (21:08) Define List Object: Ordered Sequence of Values.
\n27. (21:35) Learn about the Positional Index Operator that allows us to access an item in a list. Curly Brackets are the Positional Index Operator; { and } .
\n28. (22:27) Learn that Power Query uses Base Zero for finding Relative Positions in a List. Zero represents the first position.
\n29. (23:06) Filter out rows that contain \u201cColumn1\u201d.
\n30. (23:18) Remove Custom Column.
\n31. (23:23) Rename Column
\n32. (23:27) Use Replace feature to extract the SalesRep name from the Excel Table Name
\n33. (23:41) Filter Out Query Name \/ Table Load Name when loading to an Excel Worksheet.
\n34. (24:07) Expand Columns and Change Data Types
\n35. (24:24) Closes and Load To Worksheet.
\n36. (24:46) Add new Excel Table and Refresh.
\n37. (25:07) Look at M Code for Example #3
\n38. (26:25) Talk about the non-standard Data Setup we had to deal with.
\n39. (26:51) Summary<\/p>\n

Comprehensive Microsoft Power Tools for Data Analysis Class, BI 348, taught by Mike Girvin, Excel MVP and Highline College Professor.<\/p>\n