{"id":164,"date":"2022-03-07T12:54:11","date_gmt":"2022-03-07T15:54:11","guid":{"rendered":"https:\/\/www.gpscompany.com.br\/newsite\/?p=164"},"modified":"2024-08-27T17:03:13","modified_gmt":"2024-08-27T20:03:13","slug":"power-bi-calendario-dinamico-em-dax","status":"publish","type":"post","link":"https:\/\/www.gpscompany.com.br\/newsite\/2022\/03\/07\/power-bi-calendario-dinamico-em-dax\/","title":{"rendered":"Power BI &#8211; Calend\u00e1rio din\u00e2mico em DAX"},"content":{"rendered":"\n<div style=\"height:59px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile bodyImg\" style=\"grid-template-columns:33% auto\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"480\" src=\"https:\/\/www.gpscompany.com.br\/newsite\/wp-content\/uploads\/2022\/03\/Calendario_DAX.webp\" alt=\"\" class=\"wp-image-457 size-full\" srcset=\"https:\/\/www.gpscompany.com.br\/newsite\/wp-content\/uploads\/2022\/03\/Calendario_DAX.webp 480w, https:\/\/www.gpscompany.com.br\/newsite\/wp-content\/uploads\/2022\/03\/Calendario_DAX-300x300.webp 300w, https:\/\/www.gpscompany.com.br\/newsite\/wp-content\/uploads\/2022\/03\/Calendario_DAX-150x150.webp 150w\" sizes=\"auto, (max-width: 480px) 100vw, 480px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<p class=\"has-text-align-center bodyText\" style=\"font-size:clamp(0.929rem, 0.929rem + ((1vw - 0.2rem) * 0.785), 1.4rem);\">Muitas das vezes precisamos trabalhar com informa\u00e7\u00f5es temporais em nossas an\u00e1lises e na maioria das vezes os dados possuem faixas de datas quebradas, para lidarmos com isso podemos criar uma tabela auxiliar que completar\u00e1 as lacunas entre os per\u00edodos.<br><br>Mostraremos agora como poderemos lidar com esta situa\u00e7\u00e3o fazendo uso da linguagem DAX do Power BI.<br><br>Ao abrir o Power BI Desktop acesse o bloco Dados e em seguida a guia ou aba Pagina Inicial e escolha a op\u00e7\u00e3o Nova Tabela para que possamos inserir nosso c\u00f3digo da tabela Calend\u00e1rio.<\/p>\n<\/div><\/div>\n\n\n\n<div style=\"height:39px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"bodyText\" style=\"padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)\"><strong>Copie e cole o c\u00f3digo a seguir:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Calend\u00e1rio = \nADDCOLUMNS(\n CALENDARAUTO(),\n \"Ano\",FORMAT(&#91;Date],\"YYYY\"),\n \"M\u00eas Nome\",UPPER(FORMAT(&#91;Date],\"MMMM\")),\n \"M\u00eas Abrev\",UPPER(FORMAT(&#91;Date],\"MMM\")), \n \"M\u00eas Num\",MONTH(&#91;Date]), \n \"Trimestre\",FORMAT(&#91;Date],\"Q\"),\n \"Ano&amp;M\u00eas\",CONCATENATE(YEAR(&#91;Date]),FORMAT(MONTH(&#91;Date]),\"00\")),\n \"Dia util\",IF(NOT WEEKDAY(&#91;Date],1) IN {1,7},1,0), \n \"Dia da Semana Num\",WEEKDAY(&#91;Date],1), \n \"Dia da Semana\",SWITCH(WEEKDAY(&#91;Date],1),\n 1,\"Domingo\" ,\n 2,\"Segunda\" ,\n 3,\"Ter\u00e7a\" ,\n 4,\"Quarta\" ,\n 5,\"Quinta\" ,\n 6,\"Sexta\" ,\n 7,\"S\u00e1bado\")\n )<\/code><\/pre>\n\n\n\n<div style=\"height:19px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-group alignwide is-layout-flow wp-block-group-is-layout-flow\">\n<p class=\"bodyText\" style=\"padding-right:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--50)\"><strong>Explicando o c\u00f3digo:<\/strong><br>A base de nossa tabela \u00e9 a CALENDARAUTO() ela cria uma tabela virtual com todos os dias entre a menor e a maior data que o Power BI encontrar nos campos de datas avaliados nos dados carregados estas datas ser\u00e3o retornadas na vari\u00e1vel [Date], na sequencia fazemos uso do recurso ADDCOLUMNS() para incluir novas colunas a nossa tabela CALENDARAUTO() a sintaxe da fun\u00e7\u00e3o ADDCOLUNS(<em>tabela avaliada<\/em>, <em>nome da coluna<\/em>, <em>express\u00e3o ou valor a retornar<\/em>), com ela adicionamos as colunas de Ano, M\u00eas, Trimestre, Dia da Semana e mais &#8230;, para gerar estas colunas utilizamos a fun\u00e7\u00e3o FORMAT() que nos permite formatar valores em diversas formas a exemplo:<br> * Retornar o Ano de uma data FORMAT([Date],&#8221;YYYY&#8221;),<br> * Retornar o M\u00eas de uma data FORMAT([Date],&#8221;MMMM&#8221;) para o m\u00eas completo ou FORMAT([Date],&#8221;MMM&#8221;) para o m\u00eas abreviado,<br>Para mais formas de utiliza\u00e7\u00e3o da fun\u00e7\u00e3o FORMAT() voc\u00ea pode conferir tamb\u00e9m o link <a href=\"https:\/\/docs.microsoft.com\/pt-br\/dax\/format-function-dax\" target=\"_blank\" rel=\"noreferrer noopener\"><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#0693e3\" class=\"has-inline-color\">Fun\u00e7\u00e3o FORMAT (DAX) &#8211; DAX | Microsoft Docs<\/mark><\/em><\/a><br> Tamb\u00e9m fizemos uso da fun\u00e7\u00e3o UPPER() para passar todas as letras para caixa alta ou mai\u00fasculas, j\u00e1 a fun\u00e7\u00e3o WEEKDAY() como o pr\u00f3prio nome diz nos retorna o dia da semana que combinada com a fun\u00e7\u00e3o SWITCH() que \u00e9 uma avalia\u00e7\u00e3o semelhante a condi\u00e7\u00e3o SE do Excel, criamos a descri\u00e7\u00e3o dos dias da Semana.<\/p>\n\n\n\n<p class=\"bodyText\" style=\"padding-top:0;padding-right:var(--wp--preset--spacing--50);padding-bottom:0;padding-left:var(--wp--preset--spacing--50)\">N\u00f3s da GPS Company esperamos que o conte\u00fado possa ter contribu\u00eddo para seu aprendizado.<\/p>\n\n\n\n<p><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Muitas das vezes precisamos trabalhar com informa\u00e7\u00f5es temporais em nossas an\u00e1lises e na maioria das vezes os dados possuem faixas de datas quebradas, para lidarmos com isso podemos criar uma tabela auxiliar que completar\u00e1 as lacunas entre os per\u00edodos. Mostraremos agora como poderemos lidar com esta situa\u00e7\u00e3o fazendo uso da linguagem DAX do Power BI. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[11,8],"class_list":["post-164","post","type-post","status-publish","format-standard","hentry","category-power-bi","tag-dax","tag-power-bi"],"_links":{"self":[{"href":"https:\/\/www.gpscompany.com.br\/newsite\/wp-json\/wp\/v2\/posts\/164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gpscompany.com.br\/newsite\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gpscompany.com.br\/newsite\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gpscompany.com.br\/newsite\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gpscompany.com.br\/newsite\/wp-json\/wp\/v2\/comments?post=164"}],"version-history":[{"count":27,"href":"https:\/\/www.gpscompany.com.br\/newsite\/wp-json\/wp\/v2\/posts\/164\/revisions"}],"predecessor-version":[{"id":994,"href":"https:\/\/www.gpscompany.com.br\/newsite\/wp-json\/wp\/v2\/posts\/164\/revisions\/994"}],"wp:attachment":[{"href":"https:\/\/www.gpscompany.com.br\/newsite\/wp-json\/wp\/v2\/media?parent=164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gpscompany.com.br\/newsite\/wp-json\/wp\/v2\/categories?post=164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gpscompany.com.br\/newsite\/wp-json\/wp\/v2\/tags?post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}