<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Help Needed: Creating Sankey Diagram using D3 Visualization in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Help-Needed-Creating-Sankey-Diagram-using-D3-Visualization/m-p/533030#M16414</link>
    <description>&lt;P&gt;I am attempting to create a sankey diagram using D3 visualization. I would like to know how do you take the dataset embeded in the javascript (in json as nodes and links) and recreate it as an external tsv file so that I can use the pbi.dsv() function to connect the D3 visual to the dataset in the report&lt;/P&gt;&lt;PRE&gt;var margin = {top: 1, right: 1, bottom: 6, left: 1},
    width =  pbi.width - margin.left - margin.right,
    height =  pbi.width - margin.top - margin.bottom;

var formatNumber = d3.format(",.0f"),
    format = function(d) { return formatNumber(d) + " tuples"; },
    color = d3.scale.category20();

var svg = d3.select("#chart")
    .attr("width", width + margin.left + margin.right)
    .attr("height", height + margin.top + margin.bottom)
  .append("g")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

var sankey = d3.sankey()
    .nodeWidth(15)
    .nodePadding(10)
    .size([width, height]);

var path = sankey.link();

function createChart( energy ) {
  sankey
      .nodes(energy.nodes)
      .links(energy.links)
      .layout(32);

  var link = svg.append("g").selectAll(".link")
      .data(energy.links)
    .enter().append("path")
      .attr("class", function(d) { return (d.causesCycle ? "cycleLink" : "link") })
      .attr("d", path)
      .style("stroke-width", function(d) { return Math.max(1, d.dy); })
      .sort(function(a, b) { return b.dy - a.dy; });

  link.append("title")
      .text(function(d) { return d.source.name + " -&amp;gt; " + d.target.name + "\n" + format(d.value); });

  var node = svg.append("g").selectAll(".node")
      .data(energy.nodes)
    .enter().append("g")
      .attr("class", "node")
      .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; })
    .call(d3.behavior.drag()
      .origin(function(d) { return d; })
      .on("dragstart", function() { this.parentNode.appendChild(this); })
      .on("drag", dragmove));

  node.append("rect")
      .attr("height", function(d) { return d.dy; })
      .attr("width", sankey.nodeWidth())
      .style("fill", function(d) { return d.color = color(d.name.replace(/ .*/, "")); })
      .style("stroke", function(d) { return d3.rgb(d.color).darker(2); })
    .append("title")
      .text(function(d) { return d.name + "\n" + format(d.value); });

  node.append("text")
      .attr("x", -6)
      .attr("y", function(d) { return d.dy / 2; })
      .attr("dy", ".35em")
      .attr("text-anchor", "end")
      .attr("transform", null)
      .text(function(d) { return d.name; })
    .filter(function(d) { return d.x &amp;lt; width / 2; })
      .attr("x", 6 + sankey.nodeWidth())
      .attr("text-anchor", "start");

  function dragmove(d) {
    d3.select(this).attr("transform", "translate(" + d.x + "," + (d.y = Math.max(0, Math.min(height - d.dy, d3.event.y))) + ")");
    sankey.relayout();
    link.attr("d", path);
  }
  
};


var energyData = {"nodes":[
{"name":"A"},
{"name":"B"},
{"name":"C"},
{"name":"D"},
{"name":"E"},
{"name":"F"},
{"name":"G"},
],
"links":[
{"source":0,"target":1,"value":2},
{"source":1,"target":2,"value":4},
{"source":2,"target":3,"value":30},
{"source":2,"target":1,"value":5}, // Looper
{"source":4,"target":2,"value":5},
{"source":4,"target":5,"value":5},
{"source":5,"target":6,"value":5}
]}

createChart( energyData )&lt;/PRE&gt;</description>
    <pubDate>Wed, 03 Oct 2018 23:33:50 GMT</pubDate>
    <dc:creator>TeddyH</dc:creator>
    <dc:date>2018-10-03T23:33:50Z</dc:date>
    <item>
      <title>Help Needed: Creating Sankey Diagram using D3 Visualization</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Help-Needed-Creating-Sankey-Diagram-using-D3-Visualization/m-p/533030#M16414</link>
      <description>&lt;P&gt;I am attempting to create a sankey diagram using D3 visualization. I would like to know how do you take the dataset embeded in the javascript (in json as nodes and links) and recreate it as an external tsv file so that I can use the pbi.dsv() function to connect the D3 visual to the dataset in the report&lt;/P&gt;&lt;PRE&gt;var margin = {top: 1, right: 1, bottom: 6, left: 1},
    width =  pbi.width - margin.left - margin.right,
    height =  pbi.width - margin.top - margin.bottom;

var formatNumber = d3.format(",.0f"),
    format = function(d) { return formatNumber(d) + " tuples"; },
    color = d3.scale.category20();

var svg = d3.select("#chart")
    .attr("width", width + margin.left + margin.right)
    .attr("height", height + margin.top + margin.bottom)
  .append("g")
    .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

var sankey = d3.sankey()
    .nodeWidth(15)
    .nodePadding(10)
    .size([width, height]);

var path = sankey.link();

function createChart( energy ) {
  sankey
      .nodes(energy.nodes)
      .links(energy.links)
      .layout(32);

  var link = svg.append("g").selectAll(".link")
      .data(energy.links)
    .enter().append("path")
      .attr("class", function(d) { return (d.causesCycle ? "cycleLink" : "link") })
      .attr("d", path)
      .style("stroke-width", function(d) { return Math.max(1, d.dy); })
      .sort(function(a, b) { return b.dy - a.dy; });

  link.append("title")
      .text(function(d) { return d.source.name + " -&amp;gt; " + d.target.name + "\n" + format(d.value); });

  var node = svg.append("g").selectAll(".node")
      .data(energy.nodes)
    .enter().append("g")
      .attr("class", "node")
      .attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; })
    .call(d3.behavior.drag()
      .origin(function(d) { return d; })
      .on("dragstart", function() { this.parentNode.appendChild(this); })
      .on("drag", dragmove));

  node.append("rect")
      .attr("height", function(d) { return d.dy; })
      .attr("width", sankey.nodeWidth())
      .style("fill", function(d) { return d.color = color(d.name.replace(/ .*/, "")); })
      .style("stroke", function(d) { return d3.rgb(d.color).darker(2); })
    .append("title")
      .text(function(d) { return d.name + "\n" + format(d.value); });

  node.append("text")
      .attr("x", -6)
      .attr("y", function(d) { return d.dy / 2; })
      .attr("dy", ".35em")
      .attr("text-anchor", "end")
      .attr("transform", null)
      .text(function(d) { return d.name; })
    .filter(function(d) { return d.x &amp;lt; width / 2; })
      .attr("x", 6 + sankey.nodeWidth())
      .attr("text-anchor", "start");

  function dragmove(d) {
    d3.select(this).attr("transform", "translate(" + d.x + "," + (d.y = Math.max(0, Math.min(height - d.dy, d3.event.y))) + ")");
    sankey.relayout();
    link.attr("d", path);
  }
  
};


var energyData = {"nodes":[
{"name":"A"},
{"name":"B"},
{"name":"C"},
{"name":"D"},
{"name":"E"},
{"name":"F"},
{"name":"G"},
],
"links":[
{"source":0,"target":1,"value":2},
{"source":1,"target":2,"value":4},
{"source":2,"target":3,"value":30},
{"source":2,"target":1,"value":5}, // Looper
{"source":4,"target":2,"value":5},
{"source":4,"target":5,"value":5},
{"source":5,"target":6,"value":5}
]}

createChart( energyData )&lt;/PRE&gt;</description>
      <pubDate>Wed, 03 Oct 2018 23:33:50 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Help-Needed-Creating-Sankey-Diagram-using-D3-Visualization/m-p/533030#M16414</guid>
      <dc:creator>TeddyH</dc:creator>
      <dc:date>2018-10-03T23:33:50Z</dc:date>
    </item>
    <item>
      <title>Re: Help Needed: Creating Sankey Diagram using D3 Visualization</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Help-Needed-Creating-Sankey-Diagram-using-D3-Visualization/m-p/534358#M16419</link>
      <description>&lt;P&gt;To understand how to do so we would recommend to go through these resources:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;A href="https://microsoft.github.io/PowerBI-visuals/docs/overview/" target="_self"&gt;https://microsoft.github.io/PowerBI-visuals/docs/overview/&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="https://github.com/Microsoft/powerbi-visuals-sankey/blob/master/src/visual.ts#L321" target="_self"&gt;https://github.com/Microsoft/powerbi-visuals-sankey/blob/master/src/visual.ts#L321&lt;/A&gt;&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt; color: #333333;"&gt;Ignat Vilesov,&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt; color: #333333;"&gt;Software Engineer&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt; color: #333333;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt; color: #333333;"&gt;Microsoft Power BI Custom Visuals&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;&lt;A href="mailto:pbicvsupport@microsoft.com" target="_blank"&gt;pbicvsupport@microsoft.com&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Oct 2018 07:02:56 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Help-Needed-Creating-Sankey-Diagram-using-D3-Visualization/m-p/534358#M16419</guid>
      <dc:creator>v-viig</dc:creator>
      <dc:date>2018-10-05T07:02:56Z</dc:date>
    </item>
    <item>
      <title>Re: Help Needed: Creating Sankey Diagram using D3 Visualization</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Help-Needed-Creating-Sankey-Diagram-using-D3-Visualization/m-p/1079630#M23554</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/78069"&gt;@TeddyH&lt;/a&gt;&amp;nbsp;could you solve it? I'm trying to use the D3.js sankey graph in power bi and I'm getting a whyte report.&lt;/P&gt;</description>
      <pubDate>Thu, 07 May 2020 15:45:03 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Help-Needed-Creating-Sankey-Diagram-using-D3-Visualization/m-p/1079630#M23554</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-05-07T15:45:03Z</dc:date>
    </item>
  </channel>
</rss>

